This is an automated email from the git hooks/post-receive script. guillem pushed a commit to branch main in repository dpkg.
View the commit online: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=c05f82972018d182fa296ef38384a1adddf5b6eb The following commit(s) were added to refs/heads/main by this push: new c05f82972 scripts/mk: Fix pkg-info.mk evaluation by adding new DEB_TIMESTAMP variable c05f82972 is described below commit c05f82972018d182fa296ef38384a1adddf5b6eb (HEAD -> main) Author: Guillem Jover <[email protected]> AuthorDate: Wed Jul 24 22:21:43 2024 +0200 scripts/mk: Fix pkg-info.mk evaluation by adding new DEB_TIMESTAMP variable Instead of handling the SOURCE_DATE_EPOCH conditional case from within the dpkg_parsechangelog_run variable, and then trying to lazily evaluate all other variables. Instead add a new DEB_TIMESTAMP variable that is set unconditionally from dpkg_parsechangelog_run, and then conditionally set SOURCE_DATE_EPOCH from it if not yet defined. Fixes: commit e146a68a375453db89bc3b5e816d9405e5fd5634 Closes: #1076863 --- scripts/mk/pkg-info.mk | 21 ++++++++------------- scripts/t/mk/pkg-info.mk | 2 ++ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/scripts/mk/pkg-info.mk b/scripts/mk/pkg-info.mk index ddda4f736..ac64fa5bd 100644 --- a/scripts/mk/pkg-info.mk +++ b/scripts/mk/pkg-info.mk @@ -8,6 +8,9 @@ # DEB_VERSION_UPSTREAM: package's upstream version. # DEB_DISTRIBUTION: distribution(s) listed in the current debian/changelog # entry. +# DEB_TIMESTAMP: source package relase date as seconds since the epoch as +# specified in the latest debian/changelog entry (since dpkg 1.22.9), +# although you are probably looking for SOURCE_DATE_EPOCH instead. # # SOURCE_DATE_EPOCH: source release date as seconds since the epoch, as # specified by <https://reproducible-builds.org/specs/source-date-epoch/> @@ -26,20 +29,12 @@ dpkg_parsechangelog_run = $(eval $(shell dpkg-parsechangelog | sed -n '\ $$(eval DEB_VERSION_EPOCH_UPSTREAM:=\1\2\4)\ $$(eval DEB_VERSION_UPSTREAM_REVISION:=\2\3)\ $$(eval DEB_VERSION_UPSTREAM:=\2\4)/p;\ - s/^Timestamp: \(.*\)/$$(eval SOURCE_DATE_EPOCH?=\1)/p')) + s/^Timestamp: \(.*\)/$$(eval DEB_TIMESTAMP:=\1)/p')) -ifdef SOURCE_DATE_EPOCH - dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1))) - $(call dpkg_lazy_eval,DEB_DISTRIBUTION,$$(dpkg_parsechangelog_run)) - $(call dpkg_lazy_eval,DEB_SOURCE,$$(dpkg_parsechangelog_run)) - $(call dpkg_lazy_eval,DEB_VERSION,$$(dpkg_parsechangelog_run)) - $(call dpkg_lazy_eval,DEB_VERSION_EPOCH_UPSTREAM,$$(dpkg_parsechangelog_run)) - $(call dpkg_lazy_eval,DEB_VERSION_UPSTREAM,$$(dpkg_parsechangelog_run)) - $(call dpkg_lazy_eval,DEB_UPSTREAM_REVISION,$$(dpkg_parsechangelog_run)) -else - # We need to compute the values right now. - $(dpkg_parsechangelog_run) -endif +# Compute all the values in one go. +$(dpkg_parsechangelog_run) + +SOURCE_DATE_EPOCH ?= $(DEB_TIMESTAMP) export SOURCE_DATE_EPOCH endif # dpkg_pkg_info_mk_included diff --git a/scripts/t/mk/pkg-info.mk b/scripts/t/mk/pkg-info.mk index 6eb37866d..6863ebb80 100644 --- a/scripts/t/mk/pkg-info.mk +++ b/scripts/t/mk/pkg-info.mk @@ -6,6 +6,7 @@ TEST_DEB_VERSION_EPOCH_UPSTREAM = 1:2:3.4-5 TEST_DEB_VERSION_UPSTREAM_REVISION = 2:3.4-5-6 TEST_DEB_VERSION_UPSTREAM = 2:3.4-5 TEST_DEB_DISTRIBUTION = suite +TEST_DEB_TIMESTAMP = 1438697630 test_vars := \ DEB_SOURCE \ @@ -14,6 +15,7 @@ test_vars := \ DEB_VERSION_UPSTREAM_REVISION \ DEB_VERSION_UPSTREAM \ DEB_DISTRIBUTION \ + DEB_TIMESTAMP \ SOURCE_DATE_EPOCH \ # EOL -- Dpkg.Org's dpkg

