[isabelle-dev] Future and maintainance of ~isabelle/contrib_devel at TUM NFS

Alexander Krauss krauss at in.tum.de
Sat Jun 16 14:37:24 CEST 2012


On 06/16/2012 02:11 PM, Jasmin Christian Blanchette wrote:
>>> a) Subdirectories for each platform
>>>
>>>   /home/isabelle/contrib/
>>>     x86-linux/
>>>     x86_64-linux/
>>>     x86-cygwin/
>>>     ...
>>>
>>>   Then, the universal component packages must be copied, symlinked or
>>>   hardlinked.
>>>
>>> b) Different packages for different platforms, roughly as it is now...
>>>
>>>   /home/isabelle/contrib/
>>>     jdk-6u31_x86_64-linux/
>>>     jdk-6u31_x86-linux/
>>>
>>>   Then we need a /Admin/contributed_components file for each
>>>   platform, which lists the components relevant for that platform.
>>
>> I would prefer both indeed:
>> a) architecture-sensitive organisation, but with universal components
>> directly under contrib (as is the case now)
>> b) separate component files for different platforms
>
> I'm a bit puzzled here. What does "preferring both" means exactly?
> And why does point (a) talk about universal components, when you
> wrote that the time of platform-universal components is gone? What
> are the precise implications for the (universal) components I'm
> packaging (Kodkodi, CVC3, E, SPASS, Z3)?

"the time is gone" just means that we can no longer assume that every 
component is platform-universal. You can continue building universal 
components, and I would say this is still the preferred way wherever it 
can be done with reasonable effort.

@Florian: so your suggestion would be that there are several components 
files in Admin, say "Admin/contributed_components_x86-linux" containing

   contrib/x86-linux/jdx-6u31-x86_linux
   contrib/e-1.5
   ...

Then the extra path component is redundant, and I think I would rather 
go without it, since the risk of confusion is high, since the invariant 
is easy to violate. The directories-for-platforms convention also breaks 
down when, say, some component is universal accross linux and macos, but 
needs a special case for cygwin. Where would you put this then?

I now realized that having separate component files has the advantage 
that you can easily make a single installation can be used from 
different platform without changing symlinks. I think this is important 
enough to not consider variant a) further.

So I think I now prefer a flat directory as component repository, and a 
component file for each platform.

Alex



More information about the isabelle-dev mailing list