Source: flowscan
Version: 1.006-13.2
Severity: wishlist
Tags: patch
User: reproducible-builds@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
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:
_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to