fix mirror order in download script
SVN-Revision: 772
This commit is contained in:
parent
eac74358de
commit
ed3887e339
1 changed files with 13 additions and 9 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue