so did anyone try my proposal?
the diff has been lying on my disk for long enough, so i committed it today and will push it in a while unless somebody objects.

fwiw, i noticed that the tarball failed to ship version.sh. i'm going to fix that now, so VERSION will now track debian's commits if the build is done directly from your git tree. i consider this a good thing, esp. in the context of the patch here. make sure to check whether VERSION looks sane, though.

From 3038221c7a556257e69a628f1287dbebc80634aa Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <[email protected]>
Date: Tue, 5 Aug 2025 10:55:29 +0200
Subject: [PATCH] change reference file for man page date stamps

using configure's timestamp makes builds non-reproducible if the build
process includes rebuilding configure, which is the case for downstreams
like debian.

i considered using the NEWS file, as it's now updated with every
release. however, that would be unsuitable for git builds.

so instead use VERSION's timestamp, which the build system tries to keep
constant unless something actually changes. it's also a semantically
obvious choice.

debian may still want to use a different reference, specifically
debian/changelog. however, in principle that should be unnecessary, as
they _should_ update VERSION to reflect any local modifications.
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 8c46b8b..1cff65a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -251,7 +251,7 @@ if test "x$have_macos_keychain" != xno; then
     AC_SUBST(KEYCHAIN_LIBS, ["-Wl,-framework,Security,-framework,CoreFoundation"])
 fi
 
-RELEASE_DATE=`date -r $0 +%F`
+RELEASE_DATE=`date -r VERSION +%F`
 AC_SUBST(RELEASE_DATE)
 
 AC_CONFIG_FILES([Makefile src/Makefile src/mbsync.1 src/mdconvert.1 isync.spec])
-- 
2.49.0.416.g2f302f2ef0.dirty

Reply via email to