[rb-general] Source code timestamps

Ximin Luo infinity0 at debian.org
Mon Dec 5 21:09:00 CET 2016

> On 16-12-02 03:00pm, Ian Jackson wrote:
>> Are the timestamps of source files part of the inputs for a
>> reproducible build ?
>> Most of the practical reproducibility checking systems I am aware of
>> start by unpacking a tarball, containing (at least most of) the
>> source.  Many build systems then transfer the timestamps of files
>> which are to be installed unmodified into the staging area.  The
>> resulting timestamps are then typically bundled up into the binary
>> package.
>> The effect of this is that timestamps from that source tarball are
>> encoded in the output binary package.
> FYC: nix sets the timestamps of all files in the store to 1-1-1970, 1:00.
> Also, it has a special archiving format, .nar, which is similar to
> tar, minus nondeterminism (in ordering, I think).
> You can find more in-depth information in Eelco Dolstra’s PhD thesis
> (https://nixos.org/~eelco/pubs/phd-thesis.pdf), section 5.2.

The thing is 281 pages long. On page 112 it says they set all timestamps to 0 but I can't find an explanation of the rationale. "X does Y" is not an argument in favour of anything, and it doesn't convince people who want to take the time to think about a problem. Do you know what the rationale is?


GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE

More information about the rb-general mailing list