Three bytes in a zip file

Larry Doolittle larry at doolittle.boa.org
Sat Mar 9 16:32:40 UTC 2024


Friends -

On Fri, Mar 08, 2024 at 05:21:43PM +0100, Fay Stegerman wrote:
> * Chris Lamb <chris at reproducible-builds.org> [2024-03-08 12:16]:
> > Oh this is great work! So, using your tool, did you manage to solve the
> > underlying non-determinism? :)
> The original reproducibility issue this thread started with was traced back to
> the atime back then, my tool just hopefully makes doing that a bit easier :)
> I don't know how the original issue was fixed, but I can, eh, reproduce (and get
> rid of) such an atime difference easily [with zip -X]:

For completeness, here is the production (working, well-tested) stanza of
shell scripting the emerged from that discussion.

# Create the final zip file
rm -f "$zipfile"
if test -n "$SOURCE_DATE_EPOCH"; then
  echo "Forcing timestamp $SOURCE_DATE_EPOCH"
  touch --date="@$SOURCE_DATE_EPOCH" fab/*
  TZ=UTC zip -X --latest-time "$zipfile" fab/*
  # Note the -X flag; to be pedantic about timestamps,
  # that means you should unpack with TZ=UTC unzip "$zipfile".  See
  # https://lists.reproducible-builds.org/pipermail/rb-general/2023-April/002927.html
else
  zip "$zipfile" fab/*
fi

As found on https://github.com/BerkeleyLab/Marble
in design/scripts/manufacturing.sh .

  - Larry


More information about the rb-general mailing list