package: add a <pkg>_EXTRA_DOWNLOADS variable

Converting the external toolchain logic into a package raises a very
special use case that wasn't handled by the package infrastructure:
the Blackfin toolchain is delivered as two tarballs instead of
one. Unfortunately <pkg>_SOURCE only allows to pass one tarball name.

However, we really want both tarballs to be known by the package
infrastructure, so that the normal 'source' and 'external-deps'
mechanism work fine.

In order to achieve this, we add a <pkg>_EXTRA_DOWNLOADS variable,
which allows a package to list other stuff it would like to see
downloaded, but that are otherwise not used by the package
infrastructure itself: it is up to the package to do it by itself.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Petazzoni 2013-10-08 20:17:00 +02:00 committed by Peter Korsgaard
parent 03b05402df
commit 2c13d5bc60
2 changed files with 7 additions and 0 deletions

View file

@ -248,6 +248,12 @@ information is (assuming the package name is +libfoo+) :
+LIBFOO_SITE=/opt/software/libfoo.tar.gz+ + +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ +
+LIBFOO_SITE=$(TOPDIR)/../src/libfoo/+ +LIBFOO_SITE=$(TOPDIR)/../src/libfoo/+
* +LIBFOO_EXTRA_DOWNLOADS+ lists a number of additional files that
Buildroot should download from +LIBFOO_SITE+ in addition to the main
+LIBFOO_SOURCE+ (which usually is a tarball). Buildroot will not do
anything with those additional files, except download files: it will
be up to the package recipe to use them from +$(DL_DIR)+.
* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the * +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
package source code. In many cases, Buildroot guesses the method package source code. In many cases, Buildroot guesses the method
from the contents of +LIBFOO_SITE+ and setting +LIBFOO_SITE_METHOD+ from the contents of +LIBFOO_SITE+ and setting +LIBFOO_SITE_METHOD+

View file

@ -40,6 +40,7 @@ ifeq ($(DL_MODE),DOWNLOAD)
fi fi
endif endif
$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE))) $(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))$(sep))
$(foreach p,$($(PKG)_PATCH),\ $(foreach p,$($(PKG)_PATCH),\
$(if $(findstring ://,$(p)),\ $(if $(findstring ://,$(p)),\
$(call DOWNLOAD,$(p)),\ $(call DOWNLOAD,$(p)),\