[Buildroot] [PATCH 2/9 v2] pkg-infra: differentiate remote tarball name from local filename

Yann E. MORIN yann.morin.1998 at free.fr
Sat Dec 6 11:13:52 UTC 2014

Some upstreams may use a naming scheme that does not fit well in how
Buildroot wants to handle filenames.

For example, GitHub used to have a scheme like:

which means we would have a local file named VERSION.tar.gz, when we
want to have PKG-VERSION.tar.gz

Other forges are also known to have similar schemes. Google Code, for
example, may also use similarly named files.

Introduce a new variable, FOO_UPSTREAM_SOURCE, which the package may set
in that case. If not set, it defaults to FOO_SOURCE.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian at gmail.com>
Cc: Samuel Martin <s.martin49 at gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Cc: Peter Korsgaard <jacmet at uclibc.org>
Cc: Thomas De Schampheleire <patrickdepinguin at gmail.com>
Cc: Arnout Vandecappelle <arnout at mind.be>
Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>


A suggested alternative would be to specify the local filename if it
were to be different from upstream, adding the new variable as
FOO_LOCAL_SOURCE (or whatever it would be named).

I believe this is not an appropriate solution, because I believe we
want to show that it is *upstream* doing things weirdly, not us. Using
the alternative would convey the message that we, Buildroot, are doing
something weird, which is really not the case.

Besides, I think users should only be concerned about the local
filename, and thus the value of FOO_SOURCE should really be the filename
users have to manipulate, always. Having a second, optional variable
holding the filename risks making it less straightforward in the users'
 package/pkg-generic.mk | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 9643a30..30bce59 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -84,7 +84,7 @@ ifeq ($(DL_MODE),DOWNLOAD)
 		done ; \
-	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
+	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_UPSTREAM_SOURCE),$($(PKG)_SOURCE)))
 	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))$(sep))
 	$(foreach p,$($(PKG)_PATCH),\
 		$(if $(findstring ://,$(p)),\
@@ -361,6 +361,10 @@ ifndef $(2)_SOURCE
+ifndef $(2)_UPSTREAM_SOURCE
+  $(2)_UPSTREAM_SOURCE = $$($(2)_SOURCE)
 ifndef $(2)_PATCH
  ifdef $(3)_PATCH
   $(2)_PATCH = $$($(3)_PATCH)

More information about the buildroot mailing list