Source: pachi
Version: 1:1.0-7
Severity: wishlist
Tags: patch
Usertags: timestamps


While working on the “reproducible builds” effort [1], we have noticed
that pachi could not be built reproducibly.

The attached patch fixes the files mtime before building the binary
packages. Once applied, pachi can be built reproducibly in our current
experimental framework.

diff --git a/pachi-1.0/debian/rules b/pachi-1.0/debian/rules
index 007b608..a6c09f1 100755
--- a/pachi-1.0/debian/rules
+++ b/pachi-1.0/debian/rules
@@ -17,6 +17,8 @@ export CPPFLAGS
 export CXXFLAGS
 export LDFLAGS
+BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date)
        rm -f build-stamp debian/files debian/substvars
@@ -69,6 +71,8 @@ endif
        chmod -R go=u-w debian/pachi
        chown root:games debian/pachi/usr/games/pachi
        chmod 2755 debian/pachi/usr/games/pachi
+       find debian/pachi -depth -newermt '$(BUILD_DATE)' -print0 | \
+               xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
        dpkg --build debian/pachi ..
 binary-indep: build
@@ -92,6 +96,8 @@ binary-indep: build
        dpkg-gencontrol -isp -ppachi-data -Pdebian/pachi-data
        chown -R root:root debian/pachi-data
        chmod -R go=u-w debian/pachi-data
+       find debian/pachi-data -depth -newermt '$(BUILD_DATE)' -print0 | \
+               xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
        dpkg --build debian/pachi-data ..
 .PHONY: clean build build-arch build-indep binary binary-arch binary-indep
Reproducible-builds mailing list

Reply via email to