[Reproducible-builds] Bug#787444: help2man: support externally-supplied --date for reproducibility

Daniel Kahn Gillmor dkg at fifthhorseman.net
Thu Jun 4 17:30:09 UTC 2015


On Thu 2015-06-04 10:38:53 -0400, Ximin Luo wrote:
> A few months ago I had an idea for this that would be more generalisable. See
>
> https://lists.alioth.debian.org/pipermail/reproducible-builds/Week-of-Mon-20150330/001317.html
>
> for details. TL;DR is to have SOURCEDATE as an environment variable in ISO8601 format.

I'm fine with this part of your proposal.

Your proposal also includes a bunch of workarounds with faketime, which
i'm a little concerned about (i say this as the faketime maintainer in
debian, not wanting its particular flakiness in the build path for
everything).

Can we separate the $SOURCEDATE part of your proposal from the faketime
part and just work on $SOURCEDATE independently?

What TZ should SOURCEDATE have?  ISO8601 is capable of supplying a TZ as
well, so the current time could be written in a wide variety of ways
while meaning the same instant:

0 dkg at alice:~$ date '+%FT%T%z' && date -u '+%FT%T%z'
2015-06-04T13:25:25-0400
2015-06-04T17:25:25+0000
0 dkg at alice:~$

I feel like we should we always set it to UTC, so that the inbound
parsed offset would be +0000.  sound sensible?

> It would be awesome for help2man to support this.

help2man (and any other tool that accepts $SOURCEDATE) would also need
to ensure that it extracts the parts it wants in a TZ-independent
fashion as well.  (not parsing back to localtime)

> At some point, debhelper can even set this environment variable
> automatically.

We should open a bug with debhelper requesting this feature as soon as
we come to agreement on the name and semantics.

   --dkg



More information about the Reproducible-builds mailing list