Source: pngcheck Version: 2.3.0-7 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org
Hi, While working on the "reproducible builds" effort [1], we have noticed that pngcheck could not be built reproducibly. The attached patch sets the embedded date in the man pages generated by podman to the latest debian/changelog entry timestamp instead of local date. Once applied, pngcheck can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole
diff -Nru pngcheck-2.3.0/debian/changelog pngcheck-2.3.0/debian/changelog --- pngcheck-2.3.0/debian/changelog 2013-06-26 11:28:27.000000000 +0200 +++ pngcheck-2.3.0/debian/changelog 2015-08-17 11:59:26.000000000 +0200 @@ -1,3 +1,11 @@ +pngcheck (2.3.0-7.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace man timestamp by SOURCE_DATE_EPOCH to make the package build + reproducibly. + + -- Eduard Sanou <dh...@openmailbox.org> Mon, 17 Aug 2015 11:59:03 +0200 + pngcheck (2.3.0-7) unstable; urgency=low * debian/control diff -Nru pngcheck-2.3.0/debian/pod2man.mk pngcheck-2.3.0/debian/pod2man.mk --- pngcheck-2.3.0/debian/pod2man.mk 2013-06-26 11:28:27.000000000 +0200 +++ pngcheck-2.3.0/debian/pod2man.mk 2015-08-17 12:07:46.000000000 +0200 @@ -36,7 +36,11 @@ # Optional variables to set MANSECT ?= 1 -PODCENTER ?= $$(date "+%Y-%m-%d") +ifdef SOURCE_DATE_EPOCH + PODCENTER ?= $$(date -u -d @${SOURCE_DATE_EPOCH} "+%Y-%m-%d") +else + PODCENTER ?= $$(date "+%Y-%m-%d") +endif # Directories MANSRC = diff -Nru pngcheck-2.3.0/debian/rules pngcheck-2.3.0/debian/rules --- pngcheck-2.3.0/debian/rules 2013-06-26 11:28:27.000000000 +0200 +++ pngcheck-2.3.0/debian/rules 2015-08-17 11:56:05.000000000 +0200 @@ -6,6 +6,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_CXXFLAGS_MAINT_APPEND = -Wall -pedantic -DUSE_ZLIB export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +export SOURCE_DATE_EPOCH = $(shell date -d "$$(dpkg-parsechangelog --count 1 -SDate)" +%s) LIBS = -lz
signature.asc
Description: OpenPGP digital signature