Wed 29 Oct 2008 09:45:55 PM UTC, comment #2:
/usr/GNUstep/System is for stuff installed by your GNUstep distribution. ;-)
If you are compiling libobjc from source, it should go into /usr/GNUstep/Local
- like every other package.
Your packager, when creating your GNUstep distribution, if libobjc is part of the
distribution, will put it into /usr/GNUstep/System.
But when you compile your own libobjc from source, you don't want to overwrite
the libobjc that comes as part of your GNUstep distribution.
I know that traditionally all the "core" packages are installed into System, but
that because we were all always compiling from sources and we had no
distributions or packagers at all. As we're putting more and more efforts into
supporting packagers/packages as a separate group of people/process, we need
to adapt our habits and how we install things to take into account the existence
of packagers and packages and the fact that they are a separate step.
So, when someone downloads libobjc from source to compile it, we have to assume
by default that they already have an entire GNUstep system, installed from
packages, into /usr/GNUstep/System (or /usr/bin, /usr/lib on FHS), and that
libobjc ought to go into /usr/GNUstep/Local (or /usr/local/lib) to avoid
overwriting the system packages/software.
We can make a compromise though: if they also compiled and installed
gnustep-make from source, I'm happy to assume that they have installed
everything from source, they are using no packagers and there are no
packagers involved, and we can install all the "core" stuff into System.
So I guess we could make an exception for that, and it should work
for everyone who is building his own hand-made system from source.
But for the large public who will - hopefully - get gnustep-make as part
of some packaging/distribution system - their /usr/GNUstep/System
(or /usr/lib etc) is reserved for their packaging/distribution stuff and
we shouldn't be overwriting it when installing from source.
Thanks
|