summaryrefslogtreecommitdiff
path: root/scripts/mk/vendor.mk
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/mk/vendor.mk')
-rw-r--r--scripts/mk/vendor.mk38
1 files changed, 31 insertions, 7 deletions
diff --git a/scripts/mk/vendor.mk b/scripts/mk/vendor.mk
index aa75cd6fc..f3b1565bb 100644
--- a/scripts/mk/vendor.mk
+++ b/scripts/mk/vendor.mk
@@ -3,16 +3,40 @@
# DEB_VENDOR: output of dpkg-vendor --query Vendor
# DEB_PARENT_VENDOR: output of dpkg-vendor --query Parent (can be empty)
#
-# The snippet also defines a macro "dpkg_vendor_derives_from" that you can
-# use to verify if the current vendor derives from another vendor with a
-# simple test like this one:
-# ifeq ($(call dpkg_vendor_derives_from ubuntu),yes)
-# ...
-# endif
+# This Makefile snippet also defines a set "dpkg_vendor_derives_from"
+# macros that can be used to verify if the current vendor derives from
+# another vendor. The unversioned variant defaults to the v0 version if
+# undefined, which can be defined explicitly to one of the versions or the
+# versioned macros can be used directly. The following are example usages:
+#
+# - dpkg_vendor_derives_from (since dpkg 1.16.1)
+#
+# ifeq ($(shell $(call dpkg_vendor_derives_from,ubuntu)),yes)
+# ...
+# endif
+#
+# - dpkg_vendor_derives_from_v0 (since dpkg 1.19.3)
+#
+# ifeq ($(shell $(call dpkg_vendor_derives_from_v0,ubuntu)),yes)
+# ...
+# endif
+#
+# - dpkg_vendor_derives_from_v1 (since dpkg 1.19.3)
+#
+# dpkg_vendor_derives_from = $(dpkg_vendor_derives_from_v1)
+# ifeq ($(call dpkg_vendor_derives_from,ubuntu),yes)
+# ...
+# endif
+# ifeq ($(call dpkg_vendor_derives_from_v1,ubuntu),yes)
+# ...
+# endif
dpkg_late_eval ?= $(or $(value DPKG_CACHE_$(1)),$(eval DPKG_CACHE_$(1) := $(shell $(2)))$(value DPKG_CACHE_$(1)))
DEB_VENDOR = $(call dpkg_late_eval,DEB_VENDOR,dpkg-vendor --query Vendor)
DEB_PARENT_VENDOR = $(call dpkg_late_eval,DEB_PARENT_VENDOR,dpkg-vendor --query Parent)
-dpkg_vendor_derives_from = dpkg-vendor --derives-from $(1) && echo yes || echo no
+dpkg_vendor_derives_from_v0 = dpkg-vendor --derives-from $(1) && echo yes || echo no
+dpkg_vendor_derives_from_v1 = $(shell $(dpkg_vendor_derives_from_v0))
+
+dpkg_vendor_derives_from ?= $(dpkg_vendor_derives_from_v0)