fix download script for sourceforge urls
[openwrt/svn-archive/archive.git] / openwrt / scripts / download.pl
index 4dc40f0e580d0c23d92b67f320309e105520a6ec..84c97cf9a92aa716af474f240ad36c1edf9fcf19 100755 (executable)
@@ -59,10 +59,14 @@ foreach my $mirror (@ARGV) {
                my $sfpath = $1;
                open SF, "wget -t1 -q -O- 'http://prdownloads.sourceforge.net/$sfpath/$filename' |";
                while (<SF>) {
-                       /RADIO NAME=use_default VALUE=(\w+) OnClick="form\.submit\(\)">/ and do {
+                       /type="radio" name="use_default" value="(\w+)" onclick="form\.submit\(\)"\/>/ and do {
+                               push @mirrors, "http://$1.dl.sourceforge.net/sourceforge/$sfpath";
+                       };
+                       /<a href="\/.+\?use_mirror=(\w+)"><b>Download/ and do {
                                push @mirrors, "http://$1.dl.sourceforge.net/sourceforge/$sfpath";
                        };
                }
+               push @mirrors, "http://dl.sourceforge.net/sourceforge/$sfpath";
                close SF;
        } elsif ($mirror =~ /^\@GNU\/(.+)$/) {
                my $gnupath = $1;
@@ -70,6 +74,10 @@ foreach my $mirror (@ARGV) {
                push @mirrors, "ftp://ftp.belnet.be/mirror/ftp.gnu.org/gnu/$gnupath";
                push @mirrors, "ftp://ftp.mirror.nl/pub/mirror/gnu/$gnupath";
                push @mirrors, "http://mirror.switch.ch/ftp/mirror/gnu/$gnupath";
+               push @mirrors, "ftp://ftp.uu.net/archive/systems/gnu/$gnupath";
+               push @mirrors, "ftp://ftp.eu.uu.net/pub/gnu/$gnupath";
+               push @mirrors, "ftp://ftp.leo.org/pub/comp/os/unix/gnu/$gnupath";
+               push @mirrors, "ftp://ftp.digex.net/pub/gnu/$gnupath";
        } else {
                push @mirrors, $mirror;
        }