Source: flowscan
Version: 1.006-13.2
Severity: wishlist
Tags: patch
User: [email protected]
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: