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