package/pkg-genric: add possibility to declare download dependencies
authorYann E. MORIN <yann.morin.1998@free.fr>
Tue, 8 May 2018 20:40:18 +0000 (22:40 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Thu, 1 Nov 2018 20:35:30 +0000 (21:35 +0100)
For some packages, we may need to have a certain set of host-tools built
before the download of said packages are attempted. For example, when
the system tar is not suitable, we will want to build our own tar before
we attempt a git download (because we generate a tarball in the git
backend).

Mimick the _EXTRACT_DEPENDENCIES, and introduce _DOWNLOAD_DEPENDENCIES.
As for _EXTRACT_DEPENDENCIES, we do not document _DOWNLOAD_DEPENDENCIES,
on the assumption that it is mostly for internal use.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/pkg-generic.mk

index 6c72e13632611cf5b126078503f7d2f3b99f9e9c..747e286baf0cb4ea890baa5d601473cd8f6832c9 100644 (file)
@@ -608,11 +608,13 @@ endif
 
 # Eliminate duplicates in dependencies
 $(2)_FINAL_DEPENDENCIES = $$(sort $$($(2)_DEPENDENCIES))
+$(2)_FINAL_DOWNLOAD_DEPENDENCIES = $$(sort $$($(2)_DOWNLOAD_DEPENDENCIES))
 $(2)_FINAL_EXTRACT_DEPENDENCIES = $$(sort $$($(2)_EXTRACT_DEPENDENCIES))
 $(2)_FINAL_PATCH_DEPENDENCIES = $$(sort $$($(2)_PATCH_DEPENDENCIES))
 $(2)_FINAL_ALL_DEPENDENCIES = \
        $$(sort \
                $$($(2)_FINAL_DEPENDENCIES) \
+               $$($(2)_FINAL_DOWNLOAD_DEPENDENCIES) \
                $$($(2)_FINAL_EXTRACT_DEPENDENCIES) \
                $$($(2)_FINAL_PATCH_DEPENDENCIES))
 $(2)_FINAL_RECURSIVE_DEPENDENCIES = \
@@ -753,6 +755,7 @@ $$($(2)_TARGET_EXTRACT): | $$($(2)_FINAL_EXTRACT_DEPENDENCIES)
 $(1)-depends:          $$($(2)_FINAL_DEPENDENCIES)
 
 $(1)-source:           $$($(2)_TARGET_SOURCE)
+$$($(2)_TARGET_SOURCE): | $$($(2)_FINAL_DOWNLOAD_DEPENDENCIES)
 
 $(1)-all-source:       $(1)-legal-source
 $(1)-legal-info:       $(1)-legal-source