[Reproducible-builds] Bug#794225: libsyncml: please make the build reproducible (timestamps)
Maria Valentina Marin
marivalenm at gmail.com
Fri Jul 31 12:08:17 UTC 2015
Source: libsyncml
Version: 0.5.4-2.2
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org
Hi!
While working on the “reproducible builds” effort [1], we have noticed
that libsyncml could not be built reproducibly since it suffers from
timestamps in manpages generated by doxygen [2].
The reproducible builds team is building packages using a version of
doxygen which has been patched to honour the environment variable
$SOURCE_DATE_EPOCH [3]. This results in doxygen using the last date in
debian/changelog as the timestamp for its man page output which causes
packages to become reproducible [4].
During our tests $SOURCE_DATE_EPOCH is exported by the debhelper from
our experimental git repository which we have patched such that packages
using dh (debhelper >= 9) in debian/rules become automatically reproducible.
This unfortunately does not make the package libsyncml reproducible
because it does not use dh in debian/rules but instead classic
debhelper.
There are two solutions for libsyncml:
1. To rewrite debian/rules to use dh
2. To implement the attached patch which exports $SOURCE_DATE_EPOCH in
debian/rules.
Kind Regards,
akira
[1] https://wiki.debian.org/ReproducibleBuilds/About
[2]
https://reproducible.debian.net/issues/unstable/timestamps_in_manpages_generated_by_doxygen_issue.html
[3] https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal
[4] https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain#doxygen
Cheers,
akira
-------------- next part --------------
diff -u libsyncml-0.5.4/debian/changelog libsyncml-0.5.4/debian/changelog
--- libsyncml-0.5.4/debian/changelog
+++ libsyncml-0.5.4/debian/changelog
@@ -1,3 +1,11 @@
+libsyncml (0.5.4-2.3) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Export environment variable $SOURCE_DATE_EPOCH to produce reproducible
+ timestamps in manpage output
+
+ -- akira <marivalenm at gmail.com> Fri, 31 Jul 2015 11:21:17 +0200
+
libsyncml (0.5.4-2.2) unstable; urgency=medium
* Non-maintainer upload.
diff -u libsyncml-0.5.4/debian/rules libsyncml-0.5.4/debian/rules
--- libsyncml-0.5.4/debian/rules
+++ libsyncml-0.5.4/debian/rules
@@ -11,6 +11,8 @@
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+export SOURCE_DATE_EPOCH = $(shell date -d "$$(dpkg-parsechangelog --count 1 -SDate)" +%s)
+
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20150731/eb43dcb2/attachment.sig>
More information about the Reproducible-builds
mailing list