gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNUSTEP_INSTALLATION_DOMAIN


From: Richard Frith-Macdonald
Subject: Re: GNUSTEP_INSTALLATION_DOMAIN
Date: Fri, 13 Oct 2006 06:49:38 +0100


On 13 Oct 2006, at 02:33, Nicola Pero wrote:


NB. the system domain for installation purposes would not be the same
as the system domain for all other purposes in this case.

This is a new, confusing distinction that you are introducing and that would
make everything lot more complicated. ;-)

You're proposing to introduce 'installation domains' as separated from
'runtime domains',
ie, you could have /usr/lib as the runtime System/Libraries dir, while
/usr/local/lib
is the installation System/Libraries dir. That would be a hell lot of a
complication (and
there is more complexity for packagers). ;-)

When writing the last email I started writing about how the term domain might be confusing ... but then gave up and deleted that paragraph. I'm really don't want complexity. What I want is to make things simple to use, so people don't need to add extra arguments to their make command to say where things should go.

Hopefully we can negotiate some other solution, as I don't want to add
such complexity. :-/

I agree.

I had written more on this, but I don't want to discuss it. Too complex. ;-)


I agree ... but who decides what are the system packages ?  Not
us. :-)

It's decided by the packagers. ;-)

But we *are* the packagers for the *default* system ... the GNUstep
system.


We only distribute the source code, not binaries. If we distribute binaries, then yes, we should install the GNUstep ones into System. When we distribute
source code, it should install by default into Local.

I agree we should have binaries distributions of the "default" system, and
those
should install all GNUstep packages into System. In fact, anything that
they package
should be put into System.  That would be great. :-)


Only where you are using a system with GNUstep stuff pre-installed.
Many (most?) people are not using such a system ... they have
installed the 'GNUstep system' on their machine.
It's located in /usr/GNUstep.
The standard packages are in /usr/GNUstep/System
Other stuff is in /usr/GNUstep/Local

Core developers (/most people at the moment) that compile and install from
scratch
are not using a distribution. ;-)

(guess I need to clarify that by 'distribution' I mean 'binary
distribution').

OK .. I don't hugely object to the principle of installing in Local ... but I mostly haven't seen it clearly argued for/justified.

The argument based on installing like general unix packages, in /usr/ local, donesn't make sense to me since /usr/local is not necessarily the same thing as Local. We can easily install in the same place as standard unix packages without installing in Local. The subtly different argument that anything not built as part of a distribution should install in the Local domain rather than the system domain (because only the distributor should touch the System domain) makes much more sense, but is complicated by other factors ... 1. the definition of a distribution ... since the GNUstep project is, in a sense, a distribution 2. inconsistency, since existing practice is to install the core libraries and some other tools in System, and in the file layout document you pointed out that 'official' policy is to store the core libraries in System. 3. historical. we are talking about changing behavior and where things go by default

Now, I think we can ignore 1 (now we are clear about it) since that's really just semantics, the only practical reason for considering the GNUstep project like a binary distribution is because some people (well, me at least) happen to have thought of it that way and because it largely fits in with (3) the historical practice of where things are installed.

I find 2 a real annoyance ... the idea of putting GNUstep stuff in system was consistent with my understanding of 1, but this (currently documented) notion of putting the core libraries in System and everything else in Local makes no sense. Surely it should be one or the other? I'm happy to put everything in Local (if we define that the GNUstep project is not a distribution) or everything in System (if we define a distribution as a binary distribution), but I very much dislike a mixture.

3.  We can probably live with a change i behavior.



However ... here we come to a point where maybe I would quite like to see the installation code made more complex. The make package has just been cleaned up a lot to avoid confusion and conflicts between normal,debug, and profile libraries, but now we are likely to get multiple copies of packages installed in different domains. This should not cause horrible crashes and failures to run, but is still likely to cause confusion. How hard would it be for gnustep-make to spot that we are installing a duplicate, tell us which domain the existing version is in, and ask us about it?






reply via email to

[Prev in Thread] Current Thread [Next in Thread]