[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: |
Thu, 12 Oct 2006 21:57:47 +0100 |
On 12 Oct 2006, at 21:00, Nicola Pero wrote:
On consideration, I think we should stick to current conventions ...
Ok ... but then you seem to have a weird perception of the current
conventions ... ;-)
The GNUstep filesystem document (which took ages of mailing list
flamewars
to write) explicitly says that --
"Every software (except for gnustep-make, gnustep-base, gnustep-gui
and
gnustep-back
which by default install into the System domain) should install by
default into the Local domain, so that if you download a source
tarball of the software and you install it, it installs by default in
the right place for this operation (the Local domain). Distributions
should override this default manually when they package the software
they want to distribute as part of their distribution, so that in that
case the software is installed in the System domain."
It has been saying that for the past few years, so I guess that's what
the current convention is. ;-)
No ... I guess it's just what the filesystem document says ... not
what's actually done.
AFAIK nothing has been changed to do what that says, perhaps because
people didn't notice the change, or perhaps because it didn't make
sense to them?
On a system where the traditional GNUstep filesystem layout is not
used, the System domain should be /usr/local or /opt or whatever,
unless the people managing a distribution want it to be /usr on that
distribution of course. I imagine that on such systems the System
and Local domains might be the same place.
I don't agree at all ... the System domain will of course be /usr,
and the
Local
domain will be /usr/local. Otherwise, why do we have domains at
all ? :-)
I think you completely miss the point ... being that the managers of
a distribution decide where they want things to install on their
distribution.
There is a BIG distinction between distribution managers installing
packages as part of a distribution and normal users installing
additional packages.
Presumably FHS compliance will also require that ... stuff coming with
the distribution goes into System (/usr), stuff you manually
install yourself
from sources goes into Local (/usr/local) ... feels obvious.
Sure ... exactly what I said. The location of stuff coming with the
distribution is handled by the managers of the distribution.
Let's make an example.
Let's say I take gnustep-make and gnustep-base from Debian
packages. They
use
Debian FHS policy, so no doubt System will be /usr and Local will be
/usr/local
(or /opt, whatever). They will then be installed in /usr. Which is
great, as
I know /usr is stuff managed by Debian.
Only if they are part of the debian distribution ... ie the managers
of the distribution want to put them there.
If they are *not* part of the distribution, I think it's debian
policy to put them in /usr/local.
Then, I download sqlclient and compile it manually. Should it go
in /usr or
in /usr/local ? Obviously in /usr/local. Which is great, as I
know that
/usr/local
is stuff I installed myself. sqlclient is still part of GNUstep,
but by
default
if I download a package, it goes into /usr/local.
Sure ... you are not the manager of the distribution, but the
distribution supplied GNUstep stuff, so for you to conform to
distribution conventions, the system domain for installation should
be set to /usr/local on that system.
NB. the system domain for installation purposes would not be the same
as the system domain for all other purposes in this case.
It depends how you want to look at it, but the point is that the
installation process should not treat installation by a normal user
the same as installation by the package distributor ... a normal
user should not be overwriting packages provided by the system.
Take the base library for instance ... it's default location is the
system domain. When a distribution maintainer installs it they may
want the system domain to be /usr so it goes in /usr. However, when
a normal user downloads and installs a version it should get
installed in /usr/local because normal users should not be installing
into /usr.
The easy way to do this is for the maintainer to build/install using
a copy of the make system where the system domain is set to /usr, but
to send out the distribution with a copy of the make system set to
install system domain packages into /usr/local
That would work exactly like any other GNU/Unix/Debian package.
Which is
the whole
reason we're working for FHS integration etc. etc. People want to
be able
to use
GNUstep like they use any other package, without special setups /
conventions / etc.
Exactly what I'm proposing.
Anyway I suggest as a reasonable agreement, we'll use b. to set the
installation domain
as System for the 4 core packages (make, base, gui, back). All
other
packages should have
no default set and so install by default in Local (packagers are
encouraged to install them
into System instead when they package though). Makes sense ?
No ... not really. The System domain is for all system packages, not
just a few core libraries.
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.
The reason to have separate System and Local domains is not to have
"first class" packages in System and "second class" packages in Local.
The reason is that when you look at your hard disk, you know what is
managed by your distribution and you shouldn't touch, and what you
are managing yourself and can mess up as you wish.
The fact that a package belongs to GNUstep or not doesn't tell me
anything about whether my distribution/packaging system is managing
it or whether I installed it from scratch. They are separate
issues. ;-)
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
I would like to see *more* packages brought into GNUstep and the
System domain rather than having things excluded from it, as I feel
that it would be good to have a complete environment. For instance,
it would be nice if GNUMail was part of GNUstep.
The fact that something is installed by the packager into the System
domain or not has nothing to do with being part of the GNUstep
project.
It would be the same as saying that things installed in /usr are part
of the GNU project, while things installed in /usr/local are not.
But these
are totally unrelated issues.
You have it back to front ...
In trying to put together a GNUstep system. the GNUstep project is
trying to provide a collection of packages which work well together
and gives the user something like the NeXTstep operating system used
to do. The GNUstep project is the default distribution.
- GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/09
- RE: GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/09
- Re: GNUSTEP_INSTALLATION_DOMAIN, Richard Frith-Macdonald, 2006/10/11
- 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 <=
- 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
- Re: GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/12
- Re: GNUSTEP_INSTALLATION_DOMAIN, Nicola Pero, 2006/10/11
Re: GNUSTEP_INSTALLATION_DOMAIN, Richard Frith-Macdonald, 2006/10/10
Re: GNUSTEP_INSTALLATION_DOMAIN, Dennis Leeuw, 2006/10/10