Source: input-pad Version: 1.0.99.20210817-1 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that input-pad could not be built reproducibly. This is because various files include the current build timestamp. A patch is attached that uses SOURCE_DATE_EPOCH for these dates if that variable is available. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/reproducible-build.patch 2021-11-02 09:28:52.657041702 +0000 @@ -0,0 +1,24 @@ +Description: Make the build reproducible +Author: Chris Lamb <la...@debian.org> +Last-Update: 2021-11-02 + +--- input-pad-1.0.99.20210817.orig/configure.ac ++++ input-pad-1.0.99.20210817/configure.ac +@@ -30,7 +30,7 @@ m4_define([pad_abi_revision], + [m4_eval(100 * pad_minor_version + pad_micro_version)]) + m4_define([pad_abi_age], [0]) + m4_define(pad_maybe_datestamp, +- m4_esyscmd([if test x]pad_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi])) ++ m4_esyscmd([if test x]pad_released[ != x1; then date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" '+%a %b %d %Y' +.%Y%m%d | tr -d '\n\r'; fi])) + + m4_define([pad_version], + pad_major_version.pad_minor_version.pad_micro_version[]pad_maybe_datestamp) +@@ -77,7 +77,7 @@ IT_PROG_INTLTOOL([0.35.0]) + + dnl - For dislpay Date + m4_define(pad_datedisplay, +- m4_esyscmd(date '+%a %b %d %Y' | tr -d '\n\r')) ++ m4_esyscmd(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" '+%a %b %d %Y' | tr -d '\n\r')) + DATE_DISPLAY="pad_datedisplay" + AC_SUBST(DATE_DISPLAY) + --- a/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/series 2021-11-02 09:25:37.300415913 +0000 @@ -0,0 +1 @@ +reproducible-build.patch