[isabelle-dev] Support in `isabelle build` for SOURCE_DATE_EPOCH

Jonathon Fernyhough jonathon.fernyhough at york.ac.uk
Fri Nov 30 14:15:12 CET 2018


I'm currently packaging Isabelle2018 (in deb format) for deployment to
several machines. These packages should contain some default heaps so
users can get on with what they're doing and avoid duplicating hundreds
of megabytes of data across user profiles.

I'm trying to automate the heap build process using the debian/rules
file in the "standard" way but the generated heaps are seen as
out-of-date when the user runs the Isabelle GUI, which then tries to
regenerate the heaps (and fails because the system directory isn't

If I generate the heaps in a postinst script it works as expected,
though this isn't very efficient as the heaps will be generated on many
"slow" machines instead of just once on a "fast" machine.

I think this all comes down to the Reproducible Builds efforts [1].

During the package build process, all timestamps are overridden with the
environment variable SOURCE_DATE_EPOCH [2]. If "real" timestamps are
being recorded in the heap generation log database [3] then the packaged
timestamps will not match the logged timestamps.

If this is the cause, I'd like to request that `isabelle build` uses the
variable SOURCE_DATE_EPOCH (when set) to determine file timestamps.



[1] https://wiki.debian.org/ReproducibleBuilds/Howto
[2] https://reproducible-builds.org/specs/source-date-epoch/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://mailmanbroy.informatik.tu-muenchen.de/pipermail/isabelle-dev/attachments/20181130/59c47117/attachment-0001.asc>

More information about the isabelle-dev mailing list