#!/usr/bin/env perl
#
# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2016 LEDE project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
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;
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;
}
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";