[Reproducible-builds] Bug#786927: flowscan: please make the build reproducible

Dhole dhole at openmailbox.org
Tue May 26 21:04:02 UTC 2015


Source: flowscan
Version: 1.006-13.2
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: timestamps

Hi!

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

The attached patch removes extra timestamps from the gzipped docs and
fixes the files mtime before building the binary packages. Once applied,
flowscan can be built reproducibly in our current experimental framework.

 [1]: https://wiki.debian.org/ReproducibleBuilds
-- 
Dhole
-------------- next part --------------
diff --git a/flowscan-1.006/debian/rules b/flowscan-1.006/debian/rules
index feb2edb..d5b1ead 100755
--- a/flowscan-1.006/debian/rules
+++ b/flowscan-1.006/debian/rules
@@ -6,6 +6,7 @@
 CF = "-g -Wall -D_REENTRANT -fPIC"
 
 TMP     =$(CURDIR)/debian/$(PACKAGE)
+BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date)
 
 binary: binary-arch binary-indep
 
@@ -25,7 +26,7 @@ binary-indep: build
 
 	install -d -m 755 debian/tmp/usr/share/man/man1
 	install -p -m 644 man/*.1 debian/tmp/usr/share/man/man1
-	gzip -9 debian/tmp/usr/share/man/man1/*.1
+	gzip -9n debian/tmp/usr/share/man/man1/*.1
 
 	install -d -m 755 debian/tmp/usr/share/doc/flowscan
 	install -p -m 644 Changes debian/tmp/usr/share/doc/flowscan/changelog
@@ -33,7 +34,7 @@ binary-indep: build
 	install -p -m 644 INSTALL debian/tmp/usr/share/doc/flowscan/UserManual
 	install -p -m 644 debian/changelog debian/tmp/usr/share/doc/flowscan/changelog.Debian
 	install -p -m 644 debian/README.Debian debian/tmp/usr/share/doc/flowscan
-	gzip -9 debian/tmp/usr/share/doc/flowscan/*
+	gzip -9n debian/tmp/usr/share/doc/flowscan/*
 	install -d -m 755 debian/tmp/usr/share/doc/flowscan/html
 	install -d -m 755 debian/tmp/usr/share/doc/flowscan/pod
 	install -p -m 644 CampusIO.html README.html SubNetIO.html debian/tmp/usr/share/doc/flowscan/html
@@ -47,7 +48,7 @@ binary-indep: build
 	install -p -m 644 cf/* debian/tmp/etc/flowscan
 	install -p -m 644 cf/* debian/tmp/usr/share/doc/flowscan/examples/cf
 	install -p -m 644 rc/linux/* debian/tmp/usr/share/doc/flowscan/examples/rc
-	gzip -r9 debian/tmp/usr/share/doc/flowscan/examples/*
+	gzip -r9n debian/tmp/usr/share/doc/flowscan/examples/*
 
 	install -p -m 644 debian/conffiles debian/tmp/DEBIAN
 #	install -p -m 755 debian/config debian/preinst debian/tmp/DEBIAN
@@ -59,6 +60,8 @@ binary-indep: build
 
 	dpkg-shlibdeps debian/tmp/usr/bin/*
 	dpkg-gencontrol -isp
+	find debian/tmp -depth -newermt '$(BUILD_DATE)' -print0 | \
+		xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
 	dpkg --build debian/tmp ..
 
 build:


More information about the Reproducible-builds mailing list