[Top][All Lists]
[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: |
Wed, 11 Oct 2006 09:04:13 +0100 |
On 9 Oct 2006, at 23:09, Nicola Pero wrote:
This option can only be set on the command line, or before including
common.make ...
but using it in GNUmakefiles should be discouraged as all packages
should
install by default in the default locations ... except for maybe
gnustep-base :-)
Thinking about it, I wouldn't want even gnustep-base to set it.
If I'm testing the Unix filesystem layout, I wouldn't want gnustep-
base to
install
stuff in /usr ... ;-)
It should be installed in /usr/local (or wherever we decide the local
stuff goes)
unless I explicitly require it to go in /usr. ;-)
Comments ?
Long established policy is that on a GNUstep system (ie the default
situation, where we are not trying to conform to FHS or some other
distribution dependent layout), the GNUstep packages (anything part
of the GNUstep project) should be installed in the system domain,
while contributed packages should be installed in the local domain,
and a user's own packages (ie not put in place for everyone by the
system administrator) go in the user domain.
At the moment this is done automatically for GNUstep packages (such
as base, gui, back, gorm) by their setting the installation directory
in the makefile.
Now, I understand the logic that distributors should determine where
the packages they want go ... so certainly there is no debate about
the fact that setting GNUSTEP_INSTALLATION_DOMAIN on the command line
should override any settiing in the make files.
However, I'm not sure that we should be changing the makefiles so
that their behavior is no longer to install in their normal locations.
I think we have not thought through installation adequately, and I'm
very dubious about changing current behavior to something which is
not clearly thought through and better than the existing behavior ...
change for the sake of change is generally a bad thing.
Let's try and decide what would be an improvement over the current
behavior.
What should 'make install' actually do?
1. A developer working on a new package normally wants it installed
where it won't interfere with anyone else ...
Clearly installation should be in the User domain.
2. A normal user presumably expects it to change the package to be in
a runnable/usable state
On GNUstep and MacOS-X systems, this probably means installing into
the user domain
On non-GNUstep systems, it's far less clear ... there is no standard
location where user specific binaries may be found, and usual
behavior is to install into the Local domain, but that generally
requires root privilege or something similar.
3. A system administrator wants it to be installed for all users ...
This means installation in the Local domain, unless they are
upgrading part of a distribution where GNUstep is 'native', in which
case they want GNustep packages in the System domain
4. I think standard expectation is that 'make install' installs the
package wherever it was configured to go ... ie the decision about
where to install was taken at 'configure' time using something like --
prefix= and if this is not specified then the installation location
is decided by the package itsself (normally the 'local' domain).
So, how about this for an idea ...
The make scripts are made more intelligent and capable of asking the
user what to do if they try to install in a domain they don't have
access to (maybe using su to complete the installation if given the
correct password). This is important for unprivileged users trying
to install packages where the installation location is the system or
local domain.
The make scripts also interpret the installation domain according to
the filesystem layout ... so if a package wants to be installed in
the system domain on a system where non-native stuff has to go in /
opt, (ie the local domain) then the filesystem layout configured into
gnustep-make should override the domain specified (ie on such systems
the system domain is the same as the local domain for purposes of
installing software).
a. the default installation location is the local domain
b. a makefile may override that to supply a package specific default
c. the command line overrides that.
- GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/09
- RE: GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/09
- Re: GNUSTEP_INSTALLATION_DOMAIN,
Richard Frith-Macdonald <=
- Re: GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/11
- Re: GNUSTEP_INSTALLATION_DOMAIN, Richard Frith-Macdonald, 2006/10/12
- Re: GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/12
- Re: GNUSTEP_INSTALLATION_DOMAIN, David Ayers, 2006/10/12
- Re: GNUSTEP_INSTALLATION_DOMAIN, Richard Frith-Macdonald, 2006/10/12
- Re: GNUSTEP_INSTALLATION_DOMAIN, David Ayers, 2006/10/12
- Re: GNUSTEP_INSTALLATION_DOMAIN, Richard Frith-Macdonald, 2006/10/12
- Re: GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/12
- Re: GNUSTEP_INSTALLATION_DOMAIN, Richard Frith-Macdonald, 2006/10/13
- Re: GNUSTEP_INSTALLATION_DOMAIN, Hubert Chan, 2006/10/12