fix busybox config parsing for new config format
[openwrt/staging/dedeckeh.git] / openwrt / scripts / download.pl
index a59ffe6ba6c285008fe715752da5ec5eda2def99..794d8edeb8be1ad96bff3aa6696d8edf942c4277 100755 (executable)
@@ -59,10 +59,15 @@ 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 {
+                       /RADIO NAME=use_default VALUE=(\w+) OnClick="form\.submit\(\)">/ or
+                       /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,13 +75,16 @@ 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;
        }
 }
 
 push @mirrors, 'http://mirror1.openwrt.org/';
-push @mirrors, 'http://mirror2.openwrt.org/';
 push @mirrors, 'http://downloads.openwrt.org/sources/';
 
 while (!$ok) {