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