[Reproducible-builds] GSoC 2015 Week 5: Move forward reproducible builds

Dhole dhole at openmailbox.org
Sun Jun 28 21:32:25 UTC 2015


Hi,

This week I have continued working on some issues related to packages
using C timestamp macros. I have sent one patch:

- https://reproducible.debian.net/rb-pkg/unstable/amd64/apt-dater.html
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789648

I have also written a patch for apache2 but it's on hold:

- https://reproducible.debian.net/rb-pkg/unstable/amd64/apache2.html

The reason I haven't submitted it is because of a discussion in irc.
Currently there are 490 packages affected by timestamps from C macro.
Patching them all one by one is a tedious and slow task, so we discussed
on irc possible solutions.
In the reproducible builds project there has been an idea for
standardizing toolchain packages that deal with timestamps. The idea is
to export a variable called SOURCE_DATE_EPOCH with the latests
debian/changelog entry in Unix time. This variable can be seen by any
package to modify its behavior: instead of embedding the current
time/date, embed the exported date/time. A patch with this solution has
already been written and accepted in help2man. There are many candidate
packages that could benefit from this patch (for instances,
documentation generation tools).
So we talked about the idea of implementing this solution in GCC, so
that when the variable SOURCE_DATE_EPOCH, the macros __DATE__, __TIME__
and __TIMESTAMP__ use the exported timestamp rather than local
compilation time.

I have started working on such patch.

I have also worked on a package with the issue of timestamps in gzip
headers:
- https://reproducible.debian.net/rb-pkg/unstable/amd64/djvulibre.html
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790371

And on packages that create or modify png files and embed a timestamp in
them:

- https://reproducible.debian.net/rb-pkg/unstable/amd64/qrfcview.html
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789963

- https://reproducible.debian.net/rb-pkg/unstable/amd64/xtel.html
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789965 (depends on
fix in xutils-dev)

- https://reproducible.debian.net/rb-pkg/unstable/amd64/oxygen-icons.html
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790374

One of the previous packages embedded timestamps in gzip headers because
it was using a tool that defined such behavior, I patched the tool as well:

- https://reproducible.debian.net/rb-pkg/unstable/amd64/xutils-dev.html
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789964 (fixes xtel)

Finally, I have added some information in the reproducible builds wiki
regarding the issue timestamps_from_cpp_macros and a possible solution
that doesn't remove the timestamps macros:
- https://wiki.debian.org/ReproducibleBuilds/TimestampsFromCPPMacros

Regards,
-- 
Dhole

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20150628/a5cab961/attachment.sig>


More information about the Reproducible-builds mailing list