[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