With this commit, the download script will try downloading source files
using the filename instead of the url-filename in case the previous
download attempt using the url-filename failed.
This is required, as the OpenWrt sources mirrors serve files using the
filename files might be renamed to after downloading. If the original
mirror for a file where url-filename and filename do not match goes
down, the download failed prior to this patch.
Further improvement can be done by performing this only for the
OpenWrt sources mirrors.
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit
d36999389890fb952fc7cc8c0db8e1bbb671af12)
sub download
{
my $mirror = shift;
+ my $download_filename = shift;
$mirror =~ s!/$!!;
}
};
} else {
- my @cmd = download_cmd("$mirror/$url_filename");
+ my @cmd = download_cmd("$mirror/$download_filename");
print STDERR "+ ".join(" ",@cmd)."\n";
open(FETCH_FD, '-|', @cmd) or die "Cannot launch curl or wget.\n";
$hash_cmd and do {
my $mirror = shift @mirrors;
$mirror or die "No more mirrors to try - giving up.\n";
- download($mirror);
+ download($mirror, $url_filename);
+ if (!-f "$target/$filename" && $url_filename ne $filename) {
+ download($mirror, $filename);
+ }
}
$SIG{INT} = \&cleanup;