From 0a4856ce27027e939fdcd350fb0b246cbda75e93 Mon Sep 17 00:00:00 2001 From: "Alvaro G. M" Date: Fri, 16 Mar 2012 14:42:53 +0100 Subject: [PATCH] DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, $2=FILE_NAME This modifies the definition of DOWNLOAD to receive two arguments: the first one is the full URL of the file to download, whereas the second (and optional) is the name the file will have once downloaded. Same thing with the SOURCE_CHECK_WGET and SCP functions. All calls to these functions have been changed to the shortest form of the new API, except for toolchains acquisition. Since there is quite a number of different toolchains this call to DOWNLOAD is better set to the generic one. Signed-off-by: Alvaro G. M Acked-by: Arnout Vandecappelle (Essensium/Mind) Tested-by: Stephan Hoffmann Downloading Microblaze LE toolchain works on a clean install Signed-off-by: Peter Korsgaard --- docs/manual/adding-packages-handwritten.txt | 2 +- linux/linux.mk | 2 +- package/Makefile.package.in | 18 +++++++++++------- package/cups/cups.mk | 2 +- package/fis/fis.mk | 2 +- package/games/doom-wad/doom-wads.mk | 2 +- package/gettext/gettext.mk | 2 +- package/netkitbase/netkitbase.mk | 2 +- package/netkittelnet/netkittelnet.mk | 2 +- package/newt/newt.mk | 2 +- package/tinyhttpd/tinyhttpd.mk | 2 +- package/ttcp/ttcp.mk | 2 +- package/uemacs/uemacs.mk | 2 +- package/vpnc/vpnc.mk | 2 +- package/xfsprogs/xfsprogs.mk | 2 +- toolchain/gcc/gcc-uclibc-4.x.mk | 2 +- toolchain/gdb/gdb.mk | 2 +- toolchain/kernel-headers/kernel-headers.mk | 2 +- toolchain/toolchain-external/ext-tool.mk | 6 +++--- toolchain/uClibc/uclibc.mk | 2 +- 20 files changed, 32 insertions(+), 28 deletions(-) diff --git a/docs/manual/adding-packages-handwritten.txt b/docs/manual/adding-packages-handwritten.txt index 54ccf650d8..beb25f6877 100644 --- a/docs/manual/adding-packages-handwritten.txt +++ b/docs/manual/adding-packages-handwritten.txt @@ -22,7 +22,7 @@ existing manual makefiles and to help understand how they work.* 11: LIBFOO_TARGET_BINARY = usr/bin/foo 12: 13: $(DL_DIR)/$(LIBFOO_SOURCE): -14: $(call DOWNLOAD,$(LIBFOO_SITE),$(LIBFOO_SOURCE)) +14: $(call DOWNLOAD,$(LIBFOO_SITE)/$(LIBFOO_SOURCE)) 15: 16: $(LIBFOO_DIR)/.source: $(DL_DIR)/$(LIBFOO_SOURCE) 17: $(ZCAT) $(DL_DIR)/$(LIBFOO_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - diff --git a/linux/linux.mk b/linux/linux.mk index ae236d45dd..58cbe8e925 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -98,7 +98,7 @@ define LINUX_DOWNLOAD_PATCHES $(if $(LINUX_PATCHES), @$(call MESSAGE,"Download additional patches")) $(foreach patch,$(filter ftp://% http://%,$(LINUX_PATCHES)),\ - $(call DOWNLOAD,$(dir $(patch)),$(notdir $(patch)))$(sep)) + $(call DOWNLOAD,$(patch))$(sep)) endef LINUX_POST_DOWNLOAD_HOOKS += LINUX_DOWNLOAD_PATCHES diff --git a/package/Makefile.package.in b/package/Makefile.package.in index 59adce1b01..f7b65666fa 100644 --- a/package/Makefile.package.in +++ b/package/Makefile.package.in @@ -203,11 +203,11 @@ endef # to prepend the path with a slash: scp://[user@]host:/absolutepath define DOWNLOAD_SCP test -e $(DL_DIR)/$(2) || \ - $(SCP) $(call stripurischeme,$(call qstrip,$(1)))/$(2) $(DL_DIR) + $(SCP) '$(call stripurischeme,$(call qstrip,$(1)))' $(DL_DIR)/$(2) endef define SOURCE_CHECK_SCP - $(SSH) $(call domain,$(1),:) ls $(call notdomain,$(1)/$(2),:) > /dev/null + $(SSH) $(call domain,$(1),:) ls '$(call notdomain,$(1),:)' > /dev/null endef define SHOW_EXTERNAL_DEPS_SCP @@ -241,12 +241,12 @@ endef # download fails). define DOWNLOAD_WGET test -e $(DL_DIR)/$(2) || \ - $(WGET) -O $(DL_DIR)/$(2) $(call qstrip,$(1))/$(2) || \ + $(WGET) -O $(DL_DIR)/$(2) '$(call qstrip,$(1))' || \ (rm -f $(DL_DIR)/$(2) ; exit 1) endef define SOURCE_CHECK_WGET - $(WGET) --spider $(call qstrip,$(1))/$(2) + $(WGET) --spider '$(call qstrip,$(1))' endef define SHOW_EXTERNAL_DEPS_WGET @@ -280,6 +280,10 @@ endef ################################################################################ define DOWNLOAD + $(call DOWNLOAD_INNER,$(1),$(if $(2),$(2),$(notdir $(1)))) +endef + +define DOWNLOAD_INNER $(Q)if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \ case "$(call geturischeme,$(BR2_PRIMARY_SITE))" in \ scp) $(call $(DL_MODE)_SCP,$(BR2_PRIMARY_SITE),$(2)) && exit ;; \ @@ -298,7 +302,7 @@ define DOWNLOAD esac ; \ fi ; \ if test -n "$(call qstrip,$(BR2_BACKUP_SITE))" ; then \ - $(call $(DL_MODE)_WGET,$(BR2_BACKUP_SITE),$(2)) && exit ; \ + $(call $(DL_MODE)_WGET,$(BR2_BACKUP_SITE)/$(2),$(2)) && exit ; \ fi ; \ exit 1 endef @@ -322,8 +326,8 @@ ifeq ($(DL_MODE),DOWNLOAD) (test -z $($(PKG)_PATCH) || test -e $(DL_DIR)$($(PKG)_PATCH))) || \ $(call MESSAGE,"Downloading") endif - $(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE),$($(PKG)_SOURCE))) - $(if $($(PKG)_PATCH),$(call DOWNLOAD,$($(PKG)_SITE),$($(PKG)_PATCH))) + $(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_SOURCE))) + $(if $($(PKG)_PATCH),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_PATCH))) $(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep)) ifeq ($(DL_MODE),DOWNLOAD) $(Q)mkdir -p $(@D) diff --git a/package/cups/cups.mk b/package/cups/cups.mk index 4e8db71aa9..9efd6e98d5 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -65,7 +65,7 @@ else endif $(DL_DIR)/$(CUPS_SOURCE): - $(call DOWNLOAD,$(CUPS_SITE),$(CUPS_SOURCE)) + $(call DOWNLOAD,$(CUPS_SITE)/$(CUPS_SOURCE)) $(CUPS_DIR)/.unpacked: $(DL_DIR)/$(CUPS_SOURCE) $(CUPS_CAT) $(DL_DIR)/$(CUPS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - diff --git a/package/fis/fis.mk b/package/fis/fis.mk index 29424491c2..0975f3fb0e 100644 --- a/package/fis/fis.mk +++ b/package/fis/fis.mk @@ -11,7 +11,7 @@ FIS_BINARY:=fis FIS_TARGET_BINARY:=sbin/fis $(DL_DIR)/$(FIS_SOURCE): - $(call DOWNLOAD,$(FIS_SITE),$(FIS_SOURCE)) + $(call DOWNLOAD,$(FIS_SITE)/$(FIS_SOURCE)) fis-source: $(DL_DIR)/$(FIS_SOURCE) diff --git a/package/games/doom-wad/doom-wads.mk b/package/games/doom-wad/doom-wads.mk index bae2420919..c0bf4fbfc0 100644 --- a/package/games/doom-wad/doom-wads.mk +++ b/package/games/doom-wad/doom-wads.mk @@ -10,7 +10,7 @@ DOOM_WAD_SITE = ftp://ftp.idsoftware.com/idstuff/doom/ DOOM_WAD_DIR=$(BUILD_DIR)/doom-wad-$(DOOM_WAD_VERSION) $(DL_DIR)/$(DOOM_WAD_SOURCE): - $(call DOWNLOAD,$(DOOM_WAD_SITE),$(DOOM_WAD_SOURCE)) + $(call DOWNLOAD,$(DOOM_WAD_SITE)/$(DOOM_WAD_SOURCE)) doom-wad-source: $(DL_DIR)/$(DOOM_WAD_SOURCE) diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index f4c8c7671c..f3605da6f5 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -18,7 +18,7 @@ LIBINTL_TARGET_BINARY:=usr/lib/libintl.so endif $(DL_DIR)/$(GETTEXT_SOURCE): - $(call DOWNLOAD,$(GETTEXT_SITE),$(GETTEXT_SOURCE)) + $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE)) gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE) diff --git a/package/netkitbase/netkitbase.mk b/package/netkitbase/netkitbase.mk index dde8f9f6c0..83991f2088 100644 --- a/package/netkitbase/netkitbase.mk +++ b/package/netkitbase/netkitbase.mk @@ -12,7 +12,7 @@ NETKITBASE_BINARY:=inetd/inetd NETKITBASE_TARGET_BINARY:=usr/sbin/inetd $(DL_DIR)/$(NETKITBASE_SOURCE): - $(call DOWNLOAD,$(NETKITBASE_SITE),$(NETKITBASE_SOURCE)) + $(call DOWNLOAD,$(NETKITBASE_SITE)/$(NETKITBASE_SOURCE)) netkitbase-source: $(DL_DIR)/$(NETKITBASE_SOURCE) diff --git a/package/netkittelnet/netkittelnet.mk b/package/netkittelnet/netkittelnet.mk index e9f40cad03..ff05318726 100644 --- a/package/netkittelnet/netkittelnet.mk +++ b/package/netkittelnet/netkittelnet.mk @@ -12,7 +12,7 @@ NETKITTELNET_BINARY:=telnetd/telnetd NETKITTELNET_TARGET_BINARY:=usr/sbin/telnetd $(DL_DIR)/$(NETKITTELNET_SOURCE): - $(call DOWNLOAD,$(NETKITTELNET_SITE),$(NETKITTELNET_SOURCE)) + $(call DOWNLOAD,$(NETKITTELNET_SITE)/$(NETKITTELNET_SOURCE)) netkittelnet-source: $(DL_DIR)/$(NETKITTELNET_SOURCE) diff --git a/package/newt/newt.mk b/package/newt/newt.mk index eb944a92fd..ac450e0c80 100644 --- a/package/newt/newt.mk +++ b/package/newt/newt.mk @@ -11,7 +11,7 @@ NEWT_VERSION=0.51.0 NEWT_CFLAGS=-Os -g -fPIC $(DL_DIR)/$(NEWT_SOURCE): - $(call DOWNLOAD,$(NEWT_SITE),$(NEWT_SOURCE)) + $(call DOWNLOAD,$(NEWT_SITE)/$(NEWT_SOURCE)) $(NEWT_DIR)/.source: $(DL_DIR)/$(NEWT_SOURCE) $(NEWT_CAT) $(DL_DIR)/$(NEWT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - diff --git a/package/tinyhttpd/tinyhttpd.mk b/package/tinyhttpd/tinyhttpd.mk index 739849f33b..0f95d06fbe 100644 --- a/package/tinyhttpd/tinyhttpd.mk +++ b/package/tinyhttpd/tinyhttpd.mk @@ -12,7 +12,7 @@ TINYHTTPD_BINARY:=httpd TINYHTTPD_TARGET_BINARY:=usr/sbin/tinyhttpd $(DL_DIR)/$(TINYHTTPD_SOURCE): - $(call DOWNLOAD,$(TINYHTTPD_SITE),$(TINYHTTPD_SOURCE)) + $(call DOWNLOAD,$(TINYHTTPD_SITE)/$(TINYHTTPD_SOURCE)) tinyhttpd-source: $(DL_DIR)/$(TINYHTTPD_SOURCE) diff --git a/package/ttcp/ttcp.mk b/package/ttcp/ttcp.mk index 006b74ca9c..1acf12048a 100644 --- a/package/ttcp/ttcp.mk +++ b/package/ttcp/ttcp.mk @@ -10,7 +10,7 @@ TTCP_SOURCE=ttcp$(TTCP_VERSION).c TTCP_DIR=$(BUILD_DIR)/ttcp$(TTCP_VERSION) $(DL_DIR)/$(TTCP_SOURCE): - $(call DOWNLOAD,$(TTCP_SOURCE_URL),$(TTCP_SOURCE)) + $(call DOWNLOAD,$(TTCP_SOURCE_URL)/$(TTCP_SOURCE)) $(TTCP_DIR)/.unpacked: $(DL_DIR)/$(TTCP_SOURCE) -mkdir $(TTCP_DIR) diff --git a/package/uemacs/uemacs.mk b/package/uemacs/uemacs.mk index 8355a7f960..62b0911af0 100644 --- a/package/uemacs/uemacs.mk +++ b/package/uemacs/uemacs.mk @@ -12,7 +12,7 @@ UEMACS_BINARY:=em UEMACS_TARGET_BINARY:=usr/bin/emacs $(DL_DIR)/$(UEMACS_SOURCE): - $(call DOWNLOAD,$(UEMACS_SITE),$(UEMACS_SOURCE)) + $(call DOWNLOAD,$(UEMACS_SITE)/$(UEMACS_SOURCE)) uemacs-source: $(DL_DIR)/$(UEMACS_SOURCE) diff --git a/package/vpnc/vpnc.mk b/package/vpnc/vpnc.mk index 5a8c700368..d8d9654a47 100644 --- a/package/vpnc/vpnc.mk +++ b/package/vpnc/vpnc.mk @@ -15,7 +15,7 @@ VPNC_TARGET_BINARY:=$(VPNC_DEST_DIR)/vpnc VPNC_TARGET_SCRIPT:=$(TARGET_DIR)/etc/vpnc/default.conf $(DL_DIR)/$(VPNC_SOURCE): - $(call DOWNLOAD,$(VPNC_SITE),$(VPNC_SOURCE)) + $(call DOWNLOAD,$(VPNC_SITE)/$(VPNC_SOURCE)) $(VPNC_DIR)/.unpacked: $(DL_DIR)/$(VPNC_SOURCE) $(VPNC_CAT) $(DL_DIR)/$(VPNC_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - diff --git a/package/xfsprogs/xfsprogs.mk b/package/xfsprogs/xfsprogs.mk index 68db2f7890..52fec0964f 100644 --- a/package/xfsprogs/xfsprogs.mk +++ b/package/xfsprogs/xfsprogs.mk @@ -18,7 +18,7 @@ XFSPROGS_STRIP_LIBDEP:= \ repair/xfs_repair quota/xfs_quota $(DL_DIR)/$(XFSPROGS_SOURCE): - $(call DOWNLOAD,$(XFSPROGS_SITE),$(XFSPROGS_SOURCE)) + $(call DOWNLOAD,$(XFSPROGS_SITE)/$(XFSPROGS_SOURCE)) xfsprogs-source: $(DL_DIR)/$(XFSPROGS_SOURCE) diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index 5eb7505048..d9547fbfbe 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/toolchain/gcc/gcc-uclibc-4.x.mk @@ -172,7 +172,7 @@ endif $(DL_DIR)/$(GCC_SOURCE): mkdir -p $(DL_DIR) - $(call DOWNLOAD,$(GCC_SITE),$(GCC_SOURCE)) + $(call DOWNLOAD,$(GCC_SITE)/$(GCC_SOURCE)) gcc-unpacked: $(GCC_DIR)/.patched $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE) diff --git a/toolchain/gdb/gdb.mk b/toolchain/gdb/gdb.mk index 56faf49977..b5c085bca8 100644 --- a/toolchain/gdb/gdb.mk +++ b/toolchain/gdb/gdb.mk @@ -24,7 +24,7 @@ endif GDB_DIR:=$(TOOLCHAIN_DIR)/gdb-$(GDB_VERSION) $(DL_DIR)/$(GDB_SOURCE): - $(call DOWNLOAD,$(GDB_SITE),$(GDB_SOURCE)) + $(call DOWNLOAD,$(GDB_SITE)/$(GDB_SOURCE)) gdb-unpacked: $(GDB_DIR)/.unpacked $(GDB_DIR)/.unpacked: $(DL_DIR)/$(GDB_SOURCE) diff --git a/toolchain/kernel-headers/kernel-headers.mk b/toolchain/kernel-headers/kernel-headers.mk index 72c600766d..c464c373de 100644 --- a/toolchain/kernel-headers/kernel-headers.mk +++ b/toolchain/kernel-headers/kernel-headers.mk @@ -81,7 +81,7 @@ $(DL_DIR)/$(LINUX_HEADERS_SOURCE): ifeq ($(BR2_KERNEL_HEADERS_SNAP),y) $(error No local $@ found, cannot continue. Are you sure you wanted to enable BR2_KERNEL_HEADERS_SNAP?) endif - $(call DOWNLOAD,$(LINUX_HEADERS_SITE),$(LINUX_HEADERS_SOURCE)) + $(call DOWNLOAD,$(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE)) kernel-headers: $(LINUX_HEADERS_DIR)/.configured diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk index 31ba50f97b..3c97de16b0 100644 --- a/toolchain/toolchain-external/ext-tool.mk +++ b/toolchain/toolchain-external/ext-tool.mk @@ -253,10 +253,10 @@ endif # components than usual. ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1)$(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1),y) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_1): - $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE_1),$(TOOLCHAIN_EXTERNAL_SOURCE_1)) + $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE_1)/$(TOOLCHAIN_EXTERNAL_SOURCE_1)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_2): - $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE_2),$(TOOLCHAIN_EXTERNAL_SOURCE_2)) + $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE_2)/$(TOOLCHAIN_EXTERNAL_SOURCE_2)) $(TOOLCHAIN_EXTERNAL_DIR)/.extracted: $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_1) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_2) mkdir -p $(@D) @@ -279,7 +279,7 @@ endif else # Download and extraction of a toolchain $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE): - $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE),$(TOOLCHAIN_EXTERNAL_SOURCE)) + $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE)$(TOOLCHAIN_EXTERNAL_SOURCE),$(TOOLCHAIN_EXTERNAL_SOURCE)) $(TOOLCHAIN_EXTERNAL_DIR)/.extracted: $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE) mkdir -p $(@D) diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index ee474bbb61..32cbe46052 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -67,7 +67,7 @@ UCLIBC_ARM_TYPE:=CONFIG_$(call qstrip,$(BR2_ARM_TYPE)) UCLIBC_SPARC_TYPE:=CONFIG_SPARC_$(call qstrip,$(BR2_SPARC_TYPE)) $(DL_DIR)/$(UCLIBC_SOURCE): - $(call DOWNLOAD,$(UCLIBC_SITE),$(UCLIBC_SOURCE)) + $(call DOWNLOAD,$(UCLIBC_SITE)/$(UCLIBC_SOURCE)) uclibc-unpacked: $(UCLIBC_DIR)/.unpacked $(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE) -- 2.30.2