summaryrefslogtreecommitdiffstats
path: root/rules/os-release.make
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2014-05-13 12:47:30 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2014-06-12 17:48:16 +0200
commit583c6bd71fa8a994064b9533df2c77fda2e8b110 (patch)
treef36697418c5f2972703b56c95aa4fad4825a881a /rules/os-release.make
parent2f93308273a404379dd22f5cf6cd4b6834c501d4 (diff)
downloadptxdist-583c6bd71fa8a994064b9533df2c77fda2e8b110.tar.gz
ptxdist-583c6bd71fa8a994064b9533df2c77fda2e8b110.tar.xz
os-release: handle transparent changes to the used ptxconf variables
os-release depends on the PTXdist config files. However, this is not enough if the ptxconf variables reference other variables. This adds some magic to detect changes to the variable content and triggers a rebuild of the package. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/os-release.make')
-rw-r--r--rules/os-release.make13
1 files changed, 12 insertions, 1 deletions
diff --git a/rules/os-release.make b/rules/os-release.make
index b8ebd80fd..6fdeed33e 100644
--- a/rules/os-release.make
+++ b/rules/os-release.make
@@ -19,6 +19,17 @@ OS_RELEASE_VERSION := 1.0
# Target-Install
# ----------------------------------------------------------------------------
+OS_RELEASE_STAMP := $(call remove_quotes, \
+ $(PTXCONF_PROJECT_VENDOR) \
+ $(PTXCONF_PROJECT) \
+ $(PTXCONF_PROJECT_VERSION) \
+ $(PTXCONF_PLATFORM) \
+ $(PTXCONF_PLATFORM_VERSION))
+
+ifneq ($(strip $(OS_RELEASE_STAMP)),$(strip $(shell cat $(STATEDIR)/os-release.stamp 2>/dev/null)))
+PHONY += $(STATEDIR)/os-release.targetinstall
+endif
+
$(STATEDIR)/os-release.targetinstall: $(PTXDIST_PTXCONFIG) $(PTXDIST_PLATFORMCONFIG)
@$(call targetinfo)
@@ -48,9 +59,9 @@ $(STATEDIR)/os-release.targetinstall: $(PTXDIST_PTXCONFIG) $(PTXDIST_PLATFORMCON
@$(call install_replace, os-release, /etc/os-release, \
@DATE@, $(shell date +%FT%T%z))
-
@$(call install_finish,os-release)
+ @echo "$(OS_RELEASE_STAMP)" > $(STATEDIR)/os-release.stamp
@$(call touch)
# vim: syntax=make