scripts/config: fix handling of CONFDEFAULT on oldconfig
[openwrt/staging/yousong.git] / scripts / download.pl
index 2ed852a231a938fde07dbd024e47b36066ed48b3..abe0bfa8b950853c847fdd3c8a5ebf1702991407 100755 (executable)
@@ -40,6 +40,9 @@ sub localmirrors {
                close CONFIG;
        };
 
+       my $mirror = $ENV{'DOWNLOAD_MIRROR'};
+       $mirror and push @mlist, split(/;/, $mirror);
+
        return @mlist;
 }
 
@@ -152,11 +155,16 @@ foreach my $mirror (@ARGV) {
                        push @mirrors, "http://downloads.sourceforge.net/$1";
                }
        } elsif ($mirror =~ /^\@GNU\/(.+)$/) {
-               push @mirrors, "http://ftp.gnu.org/pub/gnu/$1";
                push @mirrors, "http://ftpmirror.gnu.org/$1";
+               push @mirrors, "http://ftp.gnu.org/pub/gnu/$1";
                push @mirrors, "ftp://ftp.belnet.be/mirror/ftp.gnu.org/gnu/$1";
                push @mirrors, "ftp://ftp.mirror.nl/pub/mirror/gnu/$1";
                push @mirrors, "http://mirror.switch.ch/ftp/mirror/gnu/$1";
+       } elsif ($mirror =~ /^\@SAVANNAH\/(.+)$/) {
+               push @mirrors, "http://download.savannah.gnu.org/releases/$1";
+               push @mirrors, "http://nongnu.uib.no/$1";
+               push @mirrors, "http://ftp.igh.cnrs.fr/pub/nongnu/$1";
+               push @mirrors, "http://download-mirror.savannah.gnu.org/releases/$1";
        } elsif ($mirror =~ /^\@KERNEL\/(.+)$/) {
                my @extra = ( $1 );
                if ($filename =~ /linux-\d+\.\d+(?:\.\d+)?-rc/) {
@@ -165,12 +173,8 @@ foreach my $mirror (@ARGV) {
                        push @extra, "$extra[0]/longterm/v$1";
                }               
                foreach my $dir (@extra) {
-                       push @mirrors, "ftp://ftp.all.kernel.org/pub/$dir";
-                       push @mirrors, "http://ftp.all.kernel.org/pub/$dir";
-                       push @mirrors, "ftp://ftp.de.kernel.org/pub/$dir";
-                       push @mirrors, "http://ftp.de.kernel.org/pub/$dir";
-                       push @mirrors, "ftp://ftp.fr.kernel.org/pub/$dir";
-                       push @mirrors, "http://ftp.fr.kernel.org/pub/$dir";
+                       push @mirrors, "https://kernel.org/pub/$dir";
+                       push @mirrors, "ftp://kernel.org/pub/$dir";
                }
     } elsif ($mirror =~ /^\@GNOME\/(.+)$/) {
                push @mirrors, "http://ftp.gnome.org/pub/GNOME/sources/$1";