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

Jonathon Fernyhough jonathon.fernyhough at york.ac.uk
Fri Nov 30 16:30:03 CET 2018

On 30/11/2018 14:55, Makarius wrote:
> On 30/11/2018 14:15, Jonathon Fernyhough wrote:
>> 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
>> writable).
> There is no point do "debianize" Isabelle: it is a plain user-space
> application program, not a system component.

You're correct that there's no need to do this if you're a single user
running Isabelle on a single machine.

However, a Debian packaging file is the correct approach for local
deployment to multiple Debian/Ubuntu machines.

Yes, you could deploy to a network file store, but then you're
transferring hundreds of megabytes on startup to every machine which
runs the software - which is the same issue if your user profile is on a
network file store and the exact thing I'm trying to avoid.

> You should be able to achive the above without deb packaging like this:
>   * unpack the Isabelle tar.gz
>   * run "Isabelle/bin/isabelle build -s -b HOL" (or any other images
> that users might need)
>   * copy the result to the target (e.g. via "cp -a" or as a tar.gz)
> Here "Isabelle" refers to any Isabelle distribution from recent years:
> it is normal that Isabelle users have more than one of it active.

I suppose that would be a workaround - build the heaps as part of
packaging process but archive them, then extract them during installation.

> Also note that "isabelle build" uses SHA1 hash keys on the sources, not
> datestamps.

This raises a different question of why the **sources** SHA1 hashes are
different between the packaging chroot (pbuild/sbuild) and the local system.

What is being hashed? A full path or just the filename?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://mailman46.in.tum.de/pipermail/isabelle-dev/attachments/20181130/b0f450f1/attachment.sig>

More information about the isabelle-dev mailing list