From 74b8dd05bbc696e24d469d9c7e5e4f938cf6d028 Mon Sep 17 00:00:00 2001 From: Fabio Valentini Date: Thu, 10 May 2018 17:11:47 +0000 Subject: [PATCH] do not use modification time of tarball for computing %dist Using the modification time of the snapshot tarball for computing dist is a bad idea, since it's different on different machines. For example, the computed date during the `buildSRPMfromSCM` koji task is likely different from the local date when the package was prepared, and so package builds (especially EVRs and changelog entries) are not reproducible. With this change, the snapshot date is not calculated magically, but the packager has to set "%global date YYYYMMDD" manually. I also adapted the documentation for the macro to reflect that change. This is related to the following FPC issue: https://pagure.io/packaging-committee/issue/719 --- macros.forge | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/macros.forge b/macros.forge index 1bec610..17efa3f 100644 --- a/macros.forge +++ b/macros.forge @@ -8,6 +8,7 @@ # Version if applicable, set it with Version: # tag if applicable # commit if applicable +# date if applicable # # The macro will attempt to compute and set the following variables if they are # not already set by the packager: @@ -255,7 +256,7 @@ if (distprefix == "") then distprefix = string.sub(rpm.expand("%{?commit}"), 1, 7) end if (distprefix ~= "") then - local dist = ".%([ -r %{_sourcedir}/%{archivename}.%{archiveext} ] && date +%Y%m%d -u -r %{_sourcedir}/%{archivename}.%{archiveext})%{scm}" .. string.gsub(distprefix, "-",".") .. rpm.expand("%{?dist}") + local dist = ".%{date}.%{scm}" .. string.gsub(distprefix, "-",".") .. rpm.expand("%{?dist}") explicitset("dist", dist) end -- Final spec variable summary if the macro was called with -i @@ -271,7 +272,7 @@ if informative then rpm.expand("%{echo: scm: %{?scm}\\n}") rpm.expand("%{echo: tag: %{?tag}\\n}") rpm.expand("%{echo: commit: %{?commit}\\n}") - rpm.expand("%{echo: dist: %{?dist} (snapshot date is computed once %%{_sourcedir}/%%{archivename}.%%{archiveext} is available)\\n}") + rpm.expand("%{echo: dist: %{?dist}\\n}") end } @@ -279,4 +280,4 @@ end %forgesetup(a:b:cDn:Tq) %setup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-q} # Convenience macro to relay computed arguments to %autosetup -%forgeautosetup(a:b:cDn:TvNS:p:) %autosetup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-v} %{-N} %{-S} %{-p} +%forgeautosetup(a:b:cDn:TvNS:p:) %autosetup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-v} %{-N} %{-S} %{-p} \ No newline at end of file