Ticket #11948: portlivecheck.tcl.diff

File portlivecheck.tcl.diff, 2.0 KB (added by n.oxyde@…, 17 years ago)

The diff can now be applied to the latest trunk, and it now guess the livecheck.name from the gnu project url.

  • portlivecheck.tcl

    old new  
    7272
    7373        # Determine the default type depending on the mirror.
    7474        if {${livecheck.check} eq "default"} {
    75                 if {$has_master_sites && [regexp {\y(sourceforge|freshmeat|googlecode)\y(?::(\S+))?} $master_sites _ site tag]} {
     75                if {$has_master_sites && [regexp {\y(sourceforge|freshmeat|googlecode|gnu)\y(?::(\S+))?} $master_sites _ site tag]} {
    7676                        if {$tag ne "" && ${livecheck.name} eq "default"} {
    7777                                set livecheck.name $tag
    7878                        }
     
    8080                } else {
    8181                    set livecheck.check "freshmeat"
    8282                }
    83                 if {$has_homepage && [regexp {^http://code.google.com/p/([^/]+)} $homepage _ tag]} {
    84                     if {${livecheck.name} eq "default"} {
    85                         set livecheck.name $tag
    86                     }
    87                     set livecheck.check "googlecode"
    88                 }
     83        if {$has_homepage} {
     84                    if {[regexp {^http://code.google.com/p/([^/]+)} $homepage _ tag]} {
     85                        if {${livecheck.name} eq "default"} {
     86                            set livecheck.name $tag
     87                        }
     88                        set livecheck.check "googlecode"
     89                    } elseif {[regexp {^http://www.gnu.org/software/([^/]+)} $homepage _ tag]} {
     90                if {${livecheck.name} eq "default"} {
     91                    set livecheck.name $tag
     92                }
     93                set livecheck.check "gnu"
     94            }
     95        }
    8996        }
    9097        if {${livecheck.name} eq "default"} {
    9198                set livecheck.name $name
     
    126133                    }
    127134                    set livecheck.check "regex"
    128135                }
     136        "gnu" {
     137            if {!$has_homepage || ${livecheck.url} eq ${homepage}} {
     138                set livecheck.url "http://ftp.gnu.org/gnu/${livecheck.name}/?M=D"
     139            }
     140            if {${livecheck.distname} eq "default"} {
     141                set livecheck.distname ${livecheck.name}
     142            }
     143            if {${livecheck.regex} eq ""} {
     144                set livecheck.regex {${livecheck.distname}-(\\d+(?:\\.\\d+)*)}
     145            }
     146            set livecheck.check "regex"
     147        }
    129148        }
    130149       
    131150        switch ${livecheck.check} {