From ea55e13236aa7ba76f806785ded2ae28b3dde9e1 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Wed, 25 Apr 2018 21:41:53 +0200 Subject: [PATCH] core/pkg-infra: don't enforce site-method for extra downloads The site method only ever applies to the main download, while extra downloads are always to be fetched with wget. However, the site method is prepended to the URL from within the DOWNLOAD macro (well, a variable evaluated in the DOWNLOAD macro), which is called for each download of a package, thus effectively prepending the site method to all downloads, even the extra ones (and the patches). We fix that by prepending the site method from within the generic-package infra, so that it only applies to the main download. For that, we move the main _SOURCE out of the foreach loop, so that we can prepend the site-method to it, without impacting the other downloads. Reported-by: Luca Ceresoli Signed-off-by: "Yann E. MORIN" Cc: Luca Ceresoli Cc: Thomas Petazzoni Cc: Maxime Hadjinlian Reviewed-by: Luca Ceresoli Tested-by: Luca Ceresoli Signed-off-by: Thomas Petazzoni --- package/pkg-download.mk | 2 +- package/pkg-generic.mk | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package/pkg-download.mk b/package/pkg-download.mk index 2d9b0d4a41..2ca6ccf44d 100644 --- a/package/pkg-download.mk +++ b/package/pkg-download.mk @@ -82,7 +82,7 @@ endif ifeq ($(BR2_PRIMARY_SITE_ONLY),) DOWNLOAD_URIS += \ - -u $($(PKG)_SITE_METHOD)+$(patsubst %/,%,$(dir $(call qstrip,$(1)))) + -u $(patsubst %/,%,$(dir $(call qstrip,$(1)))) ifneq ($(call qstrip,$(BR2_BACKUP_SITE)),) DOWNLOAD_URIS += \ -u $(call getschemeplusuri,$(call qstrip,$(BR2_BACKUP_SITE)/$($(PKG)_DL_SUBDIR)),urlencode) \ diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 28e6c41a7f..e9ee88882c 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -488,7 +488,8 @@ BR_NO_CHECK_HASH_FOR += $$($(2)_SOURCE) endif $(2)_ALL_DOWNLOADS = \ - $$(foreach p,$$($(2)_SOURCE) $$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ + $$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE) \ + $$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ $$(if $$(findstring ://,$$(p)),$$(p),\ $$($(2)_SITE)/$$(p)))