X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=scripts%2Fdownload.pl;h=a1bd0133ca354a1600ec43a0bd8abdc618c5236c;hb=b030bb606f63518e88a37b357a7372e3edc2180e;hp=3b8b267a427eef70c49ef1c9453f1b568b834fdc;hpb=eaa4eba10a8978f6dce9c309e78aa154b15a296d;p=openwrt%2Fopenwrt.git diff --git a/scripts/download.pl b/scripts/download.pl index 3b8b267a42..a1bd0133ca 100755 --- a/scripts/download.pl +++ b/scripts/download.pl @@ -63,7 +63,7 @@ sub hash_cmd() { my $len = length($file_hash); my $cmd; - $len == 64 and return "openssl dgst -sha256"; + $len == 64 and return "openssl dgst -sha256 | sed -e 's,.*= ,,'"; $len == 32 and do { my $cmd = which("md5sum") || which("md5") || die 'no md5 checksum program found, please install md5 or md5sum'; chomp $cmd; @@ -118,7 +118,7 @@ sub download copy($link, "$target/$filename.dl"); $hash_cmd and do { - if (system("$hash_cmd '$target/$filename.dl' > '$target/$filename.hash'")) { + if (system("cat '$target/$filename.dl' | $hash_cmd > '$target/$filename.hash'")) { print("Failed to generate hash for $filename\n"); return; } @@ -176,6 +176,17 @@ foreach my $mirror (@ARGV) { for (1 .. 5) { push @mirrors, "http://downloads.sourceforge.net/$1"; } + } elsif ($mirror =~ /^\@APACHE\/(.+)$/) { + push @mirrors, "http://ftp.tudelft.nl/apache/$1"; + push @mirrors, "http://apache.openmirror.de/$1"; + push @mirrors, "http://mirrors.ocf.berkeley.edu/apache/$1"; + push @mirrors, "http://mirror.cc.columbia.edu/pub/software/apache/$1"; + push @mirrors, "http://ftp.jaist.ac.jp/pub/apache/$1"; + } elsif ($mirror =~ /^\@GITHUB\/(.+)$/) { + # give github a few more tries (different mirrors) + for (1 .. 5) { + push @mirrors, "https://raw.githubusercontent.com/$1"; + } } elsif ($mirror =~ /^\@GNU\/(.+)$/) { push @mirrors, "http://ftpmirror.gnu.org/$1"; push @mirrors, "http://ftp.gnu.org/pub/gnu/$1";