Source: jacal Version: 1b9-5 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org
Hi, Whilst working on the "reproducible builds" effort [0], we noticed that jacal could not be built reproducibly. The attached patch removes timestamps from the build system. Once applied, jacal can be built reproducibly using our reproducible toolchain. [0] https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/0005-reproducible-build.patch 1970-01-01 02:00:00.000000000 +0200 --- b/debian/patches/0005-reproducible-build.patch 2015-12-10 16:57:11.638553432 +0200 @@ -0,0 +1,19 @@ +--- jacal-1b9.orig/Makefile ++++ jacal-1b9/Makefile +@@ -139,9 +139,15 @@ w32install: jacal.html + #### Stuff for maintaining JACAL below #### + + ver = $(VERSION) ++fmt = '%B %Y' ++ifdef SOURCE_DATE_EPOCH ++jacaldate = $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(fmt)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(fmt)" 2>/dev/null || date -u "+$(fmt)") ++else ++jacaldate = $(shell date "+$(fmt)") ++endif + version.txi: Makefile + echo @set JACALVERSION $(ver) > version.txi +- echo @set JACALDATE `date +"%B %Y"` >> version.txi ++ echo @set JACALDATE $(jacaldate) >> version.txi + + cfiles = math.scm modeinit.scm debug.scm view.scm toploads.scm + sfiles = types.scm func.scm poly.scm elim.scm \ --- a/debian/patches/series 2015-12-10 16:50:38.580149634 +0200 --- b/debian/patches/series 2015-12-10 16:55:50.658056334 +0200 @@ -2,3 +2,4 @@ 0002-man-tweaks.patch 0003-guile-version.patch 0004-update-texinfo.patch +0005-reproducible-build.patch