fix mirror order in download script

SVN-Revision: 772
This commit is contained in:
Felix Fietkau 2005-04-30 19:47:17 +00:00
parent eac74358de
commit ed3887e339

View File

@ -5,13 +5,11 @@ use warnings;
my $target = shift @ARGV; my $target = shift @ARGV;
my $filename = shift @ARGV; my $filename = shift @ARGV;
my $md5sum = shift @ARGV; my $md5sum = shift @ARGV;
my @mirrors = @ARGV; my @mirrors;
my $ok; my $ok;
@mirrors > 0 or die "Syntax: $0 <target dir> <filename> <md5sum> <mirror> [<mirror> ...]\n"; @ARGV > 0 or die "Syntax: $0 <target dir> <filename> <md5sum> <mirror> [<mirror> ...]\n";
push @mirrors, 'http://openwrt.inf.fh-brs.de/mirror';
sub download sub download
{ {
@ -56,10 +54,7 @@ sub cleanup
unlink "$target/$filename.md5sum"; unlink "$target/$filename.md5sum";
} }
while (!$ok) { foreach my $mirror (@ARGV) {
my $mirror = shift @mirrors;
$mirror or die "No more mirrors to try - giving up.\n";
if ($mirror =~ /^\@SF\/(.+)$/) { if ($mirror =~ /^\@SF\/(.+)$/) {
my $sfpath = $1; my $sfpath = $1;
open SF, "wget -t1 -q -O- 'http://prdownloads.sf.net/$sfpath/$filename' |"; open SF, "wget -t1 -q -O- 'http://prdownloads.sf.net/$sfpath/$filename' |";
@ -70,8 +65,17 @@ while (!$ok) {
} }
close SF; close SF;
} else { } else {
download($mirror); push @mirrors, $mirror;
} }
}
push @mirrors, 'http://openwrt.inf.fh-brs.de/mirror';
while (!$ok) {
my $mirror = shift @mirrors;
$mirror or die "No more mirrors to try - giving up.\n";
download($mirror);
-f "$target/$filename" and $ok = 1; -f "$target/$filename" and $ok = 1;
} }