summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-10-08 18:17:00 (GMT)
committer Peter Korsgaard <peter@korsgaard.com>2013-10-08 20:58:49 (GMT)
commit2c13d5bc60749717634fac60b8165a3e2567bcdb (patch)
tree7dcf635b622b91fdd3daccacb57ca7619bad81b1
parent03b05402df6f2a06ffc936c6364da5951f315197 (diff)
downloadbuildroot-2c13d5bc60749717634fac60b8165a3e2567bcdb.tar.gz
buildroot-2c13d5bc60749717634fac60b8165a3e2567bcdb.tar.bz2
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>
-rw-r--r--docs/manual/adding-packages-generic.txt6
-rw-r--r--package/pkg-generic.mk1
2 files changed, 7 insertions, 0 deletions
diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt
index cb067bd..59a2684 100644
--- a/docs/manual/adding-packages-generic.txt
+++ b/docs/manual/adding-packages-generic.txt
@@ -248,6 +248,12 @@ information is (assuming the package name is +libfoo+) :
+LIBFOO_SITE=/opt/software/libfoo.tar.gz+ +
+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
package source code. In many cases, Buildroot guesses the method
from the contents of +LIBFOO_SITE+ and setting +LIBFOO_SITE_METHOD+
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index bfc4dc1..a46457c 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -40,6 +40,7 @@ ifeq ($(DL_MODE),DOWNLOAD)
fi
endif
$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
+ $(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))$(sep))
$(foreach p,$($(PKG)_PATCH),\
$(if $(findstring ://,$(p)),\
$(call DOWNLOAD,$(p)),\