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/

Attachment: signature.asc
Description: OpenPGP digital signature

isabelle-dev mailing list

Reply via email to