pkg-generic: implement source-check targets
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 26 Apr 2015 09:51:05 +0000 (11:51 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 26 Apr 2015 17:52:16 +0000 (19:52 +0200)
This commits extends the common package infrastructure with the
$(1)-source-check and $(1)-all-source-check targets.

The $(1)-source-check target simply calls the newly added
SOURCE_CHECK macro on all items to be downloaded.

The $(1)-all-source-check target will depend on the
$(1)-all-source-check targets of all dependent packages and the
$(1)-source-check target of the current package, which allows to do a
recursive source-check in the dependency tree.

[Thomas: move the code around a bit to avoid repeating the
<pkg>_OVERRIDE_SRCDIR condition, as suggested by Yann.]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/pkg-generic.mk

index d7e3ca930fc6e4afe9a522cd5d4bf0a11616ab5c..a3f4c41002b10a9b9327c3bc31a373188859d3ef 100644 (file)
@@ -550,6 +550,12 @@ $(1)-depends:              $$($(2)_FINAL_DEPENDENCIES)
 
 $(1)-source:           $$($(2)_TARGET_SOURCE)
 
+$(1)-source-check:
+       $$(foreach p,$$($(2)_SOURCE) $$($(2)_EXTRA_DOWNLOADS) $$($(2)_PATCH),\
+               $$(if $$(findstring ://,$$(p)),\
+                       $$(call SOURCE_CHECK,$$(p)),\
+                       $$(call SOURCE_CHECK,$$($(2)_SITE:/=)/$$(p)))$$(sep))
+
 $(1)-external-deps:
        @for p in $$($(2)_SOURCE) $$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS) ; do \
                echo `basename $$$$p` ; \
@@ -573,6 +579,9 @@ $(1)-rsync:         $$($(2)_TARGET_RSYNC)
 
 $(1)-source:           $$($(2)_TARGET_RSYNC_SOURCE)
 
+$(1)-source-check:
+       test -d $$($(2)_OVERRIDE_SRCDIR)
+
 $(1)-external-deps:
        @echo "file://$$($(2)_OVERRIDE_SRCDIR)"
 endif
@@ -593,6 +602,9 @@ $(1)-graph-depends: graph-depends-requirements
 $(1)-all-source:       $(1)-source
 $(1)-all-source:       $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),$$(p)-all-source)
 
+$(1)-all-source-check: $(1)-source-check
+$(1)-all-source-check: $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),$$(p)-all-source-check)
+
 $(1)-all-external-deps:        $(1)-external-deps
 $(1)-all-external-deps:        $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),$$(p)-all-external-deps)
 
@@ -788,6 +800,7 @@ endif
        $(1)-all-external-deps \
        $(1)-all-legal-info \
        $(1)-all-source \
+       $(1)-all-source-check \
        $(1)-build \
        $(1)-clean-for-rebuild \
        $(1)-clean-for-reconfigure \
@@ -811,7 +824,8 @@ endif
        $(1)-rsync \
        $(1)-show-depends \
        $(1)-show-version \
-       $(1)-source
+       $(1)-source \
+       $(1)-source-check
 
 endif # $(2)_KCONFIG_VAR
 endef # inner-generic-package