On 21/07/2024 17:18, Bruno Haible wrote: > Hi, > > Subsequent runs of "make dist" in the same environment produce tarballs with > different contents. > > How to reproduce: > > In a git checkout of coreutils, do: > > $ echo snapshot > .tarball-version > $ ./configure; make -k maintainer-clean > $ ./bootstrap > $ ./configure; make dist > $ mkdir 1; (cd 1 && tar xf ../*.tar.gz) > $ make; make dist > $ mkdir 2; (cd 2 && tar xf ../*.tar.gz) > $ diff -r -q 1 2 > > The last command produces a difference: > > $ diff -r -q 1 2 > Files 1/coreutils-snapshot/.timestamp and 2/coreutils-snapshot/.timestamp differ > $ cat 1/coreutils-snapshot/.timestamp > 1721577765 > $ cat 2/coreutils-snapshot/.timestamp > 1721577832 > > Can this be avoided? Can the contents of '.timestamp' always be the same? > (Wouldn't it be enough to give it a different modification time, each time?) Right, we should be able to adjust this. The .timestamp file was added to support reproducible _builds_: https://github.com/coreutils/coreutils/commit/c1b3d6587 https://reproducible-builds.org/docs/source-date-epoch/ We can just rely on the timestamp of the .tarball-version to support reproducible _tarballs_. That's done in the attached, which I'll apply later. Marking this as done. thanks, Pádraig