Skip to content
Snippets Groups Projects
Commit 9a10ad68 authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

build: add support for choosing a different url filename part than the output file

Backport of r47591 and r48427
parent 19242f4d
No related branches found
No related tags found
No related merge requests found
Showing
with 68 additions and 0 deletions
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 9 Feb 2016 13:49:01 +0100
Subject: build: add support for choosing a different url filename part than the output file
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Backport of r47591 and r48427
diff --git a/include/download.mk b/include/download.mk
index 937b5d3..e518cce 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -44,11 +44,11 @@ define DownloadMethod/unknown
endef
define DownloadMethod/default
- $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MD5SUM)" $(foreach url,$(URL),"$(url)")
+ $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MD5SUM)" "$(URL_FILE)" $(foreach url,$(URL),"$(url)")
endef
define wrap_mirror
- $(if $(if $(MIRROR),$(filter-out x,$(MIRROR_MD5SUM))),@$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MIRROR_MD5SUM)" || ( $(1) ),$(1))
+ $(if $(if $(MIRROR),$(filter-out x,$(MIRROR_MD5SUM))),@$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MIRROR_MD5SUM)" "" || ( $(1) ),$(1))
endef
define DownloadMethod/cvs
@@ -157,6 +157,7 @@ Validate/darcs=VERSION SUBDIR
define Download/Defaults
URL:=
FILE:=
+ URL_FILE:=
PROTO:=
MD5SUM:=
SUBDIR:=
diff --git a/scripts/download.pl b/scripts/download.pl
index cd68a7b..111d03c 100755
--- a/scripts/download.pl
+++ b/scripts/download.pl
@@ -11,15 +11,19 @@ use warnings;
use File::Basename;
use File::Copy;
-@ARGV > 2 or die "Syntax: $0 <target dir> <filename> <md5sum> [<mirror> ...]\n";
+@ARGV > 2 or die "Syntax: $0 <target dir> <filename> <md5sum> <url filename> [<mirror> ...]\n";
+my $url_filename;
my $target = shift @ARGV;
my $filename = shift @ARGV;
my $md5sum = shift @ARGV;
+$url_filename = shift @ARGV unless $ARGV[0] =~ /:\/\//;
my $scriptdir = dirname($0);
my @mirrors;
my $ok;
+$url_filename or $url_filename = $filename;
+
sub localmirrors {
my @mlist;
open LM, "$scriptdir/localmirrors" and do {
@@ -106,7 +110,7 @@ sub download
return;
}
} else {
- open WGET, "wget -t5 --timeout=20 --no-check-certificate $options -O- '$mirror/$filename' |" or die "Cannot launch wget.\n";
+ open WGET, "wget -t5 --timeout=20 --no-check-certificate $options -O- '$mirror/$url_filename' |" or die "Cannot launch wget.\n";
open MD5SUM, "| $md5cmd > '$target/$filename.md5sum'" or die "Cannot launch md5sum.\n";
open OUTPUT, "> $target/$filename.dl" or die "Cannot create file $target/$filename.dl: $!\n";
my $buffer;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment