[Debian-med-packaging] Bug#813345: elastix: please fix patch to make the build reproducible (timestamps)
Maria Valentina Marin
marivalenm at gmail.com
Sun Jan 31 21:39:36 UTC 2016
Source: elastix
Version: 4.8-3
Severity: wishlist
User: reproducible-builds at lists.alioth.debian.org
Usertags: timestamps
Hi!
While working on the “reproducible builds” effort [1], we have noticed
that elastix could not be built reproducibly [2] because it is using the
current date to replace the @ELASTIX_DOXYGEN_DATE@ variable [3].
It seems an unsuccessful attempt has been made to use SOURCE_DATE_EPOCH
[4]. The patch has two problems:
- The if statement instead of checking for the environment variable
SOURCE_DATE_EPOCH it is checking for the cmake variable
SOURCE_DATE_EPOCH. To check for the environment variable use
$ENV{SOURCE_DATE_EPOCH}
- Instead of directly saving the content of the environment variable
SOURCE_DATE_EPOCH into ELASTIX_DOXYGEN_DATE, the value of the
environment variable should be formated into a datetime string.
Formating can be done as follows using GNU date:
date -u -d $SOURCE_DATE_EPOCH '+%d-%m-%Y'
A different approach to fixing the reproducibility problem is to instead
of using the DoxygenFooter.html.in you could just have a
DoxygenFooter.html and use the placeholder $datetime which is processed
by Doxygen instead of using the @ELASTIX_DOXYGEN_DATE@ placeholder.
Kind regards,
akira
[1]: https://wiki.debian.org/ReproducibleBuilds
[2]: https://reproducible.debian.net/rb-pkg/unstable/amd64/elastix.html
[3]: https://sources.debian.net/src/elastix/4.8-3/dox/doxygen/DoxygenFooter.html.in/
[4]: http://sources.debian.net/src/elastix/4.8-3/debian/patches/doxygen_use_epoch_for_data_if_given.patch/?hl=18#L18
More information about the Debian-med-packaging
mailing list