From 1c5ebdc4e50863f81841be162d891ec0f6d7d0b7 Mon Sep 17 00:00:00 2001 From: Chris Lamb Date: Tue, 12 Aug 2025 20:23:59 +0100 Subject: [PATCH] Make the build reproducible From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1093201: Whilst working on the Reproducible Builds effort [0], we noticed that rsync could not be built reproducibly. This is because the date in the manual page can vary depending on whether there is a .git directory and the modification time of version.h and Mafile, which might get modified when patching via quilt. A patch is attached that makes this use SOURCE_DATE_EPOCH, which will always be reliable. --- md-convert | 3 +++ 1 file changed, 3 insertions(+) diff --git a/md-convert b/md-convert index fb2bc993..06e5b1ef 100755 --- a/md-convert +++ b/md-convert @@ -248,6 +248,9 @@ def find_man_substitutions(): env_subs['date'] = time.strftime('%d %b %Y', time.gmtime(mtime + tz_offset)).lstrip('0') + if 'SOURCE_DATE_EPOCH' in os.environ: + env_subs['date'] = time.strftime('%d %b %Y', time.gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))) + def html_via_commonmark(txt): return commonmark.HtmlRenderer().render(commonmark.Parser().parse(txt)) -- 2.47.3