Source: elastix
Version: 4.8-3
Severity: wishlist
User: reproducible-builds@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

_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to