From: Chris Lamb Date: Tue, 12 Aug 2025 19:23:59 +0000 (+0100) Subject: Make the build reproducible X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c5ebdc4e50863f81841be162d891ec0f6d7d0b7;p=thirdparty%2Frsync.git 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. --- 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))