summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/download.pl16
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/download.pl b/scripts/download.pl
index 859e6c8..5134009 100755
--- a/scripts/download.pl
+++ b/scripts/download.pl
@@ -8,16 +8,30 @@
use strict;
use warnings;
+use File::Basename;
my $target = shift @ARGV;
my $filename = shift @ARGV;
my $md5sum = shift @ARGV;
+my $scriptdir = dirname($0);
my @mirrors;
my $ok;
@ARGV > 0 or die "Syntax: $0 <target dir> <filename> <md5sum> <mirror> [<mirror> ...]\n";
+sub localmirrors {
+
+ my @mlist;
+ open LM, "$scriptdir/localmirrors" or return "";
+ while (<LM>) {
+ chomp $_;
+ push @mlist, $_;
+ }
+
+ return @mlist;
+}
+
sub which($) {
my $prog = shift;
my $res = `which $prog`;
@@ -78,6 +92,8 @@ sub cleanup
unlink "$target/$filename.md5sum";
}
+@mirrors = localmirrors();
+
foreach my $mirror (@ARGV) {
if ($mirror =~ /^\@SF\/(.+)$/) {
# give sourceforge a few more tries, because it redirects to different mirrors