[isabelle-dev] Future and maintainance of ~isabelle/contrib_devel at TUM NFS
Makarius
makarius at sketis.net
Thu Jul 5 12:06:40 CEST 2012
On Sun, 1 Jul 2012, Alexander Krauss wrote:
> So here is my latest low-tech proposal:
>
> * /home/isabelle/components is the components repository, where all
> components are stored. They are stored as tarballs.
>
> * The existing php script can be used to serve this directory via HTTP.
>
> * Non-free components are marked as such simply via file permissions, i.e.,
> by having the world-readable flag unset. Since Apache runs under group
> "isabelle", we might have to set the group to something else (e.g., an
> imagined "isabelle-admin").
>
> * Integrity of this directory is ensured by a cron job which compares the
> output of "sha1sum /home/isabelle/components/*" with a file
> in the Admin section of the Isabelle repository. So we can easily detect
> accidents (and revert them, possibly with the help of the standard backups).
> Such a script is easy to write, and I already have
> some fragments lying around here.
>
> * /home/isabelle/contrib is maintained automatically by unpacking the
> contents of the tarballs (and setting permissions properly).
>
> * A similar script in Admin/ can download components via HTTP and link them
> into a clone of the Isabelle repository.
>
> I would say that 30 lines of bash will do. And additional 30 lines of a
> README, which goes into the same directory.
This is now converging to a very reasonable scheme. I also prefer to
archive official .tar.gz now, since permissions of individual files in the
file-system are often mangled. (There was another incident just last
week.)
BTW, when there is a robust script to download .tar.gz components on
demand and unpack them for the user, we could even discontinue the
/home/isabelle/contrib/ thing -- /home/tmp/USER provides cheap temporary
disk space for private copies of it, also for mira and isatest. Most
regular users are non-local anyway, using their laptop etc.
Makarius
More information about the isabelle-dev
mailing list