summaryrefslogtreecommitdiffstats
path: root/scripts/mk/vendor.mk
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 18:35:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 18:35:28 +0000
commitea314d2f45c40a006c0104157013ab4b857f665f (patch)
tree3ef2971cb3675c318b8d9effd987854ad3f6d3e8 /scripts/mk/vendor.mk
parentInitial commit. (diff)
downloaddpkg-ea314d2f45c40a006c0104157013ab4b857f665f.tar.xz
dpkg-ea314d2f45c40a006c0104157013ab4b857f665f.zip
Adding upstream version 1.22.4.upstream/1.22.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'scripts/mk/vendor.mk')
-rw-r--r--scripts/mk/vendor.mk51
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/mk/vendor.mk b/scripts/mk/vendor.mk
new file mode 100644
index 0000000..f3241a5
--- /dev/null
+++ b/scripts/mk/vendor.mk
@@ -0,0 +1,51 @@
+# This Makefile fragment (since dpkg 1.16.1) defines the following
+# vendor-related variables:
+#
+# DEB_VENDOR: output of «dpkg-vendor --query Vendor».
+# DEB_PARENT_VENDOR: output of «dpkg-vendor --query Parent» (can be empty).
+#
+# This Makefile fragment also defines a set of "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 or to the v1 version when on build API 1, otherwise it 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_datadir = $(srcdir)/mk
+include $(dpkg_datadir)/buildapi.mk
+
+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_v0 = dpkg-vendor --derives-from $(1) && echo yes || echo no
+dpkg_vendor_derives_from_v1 = $(shell $(dpkg_vendor_derives_from_v0))
+
+ifeq ($(call dpkg_build_api_ge,1),yes)
+dpkg_vendor_derives_from ?= $(dpkg_vendor_derives_from_v1)
+else
+dpkg_vendor_derives_from ?= $(dpkg_vendor_derives_from_v0)
+endif