Figured I should throw my 2-cents in...
On Thu, Sep 16, 2010 at 8:05 AM, Richard Frith-Macdonald <[email protected]>wrote:
> Incidentally, it's perhaps a subtle distinction, but I've no desire to make
> FHS the default layout, what I want is to make the native filesystem layout
> default.
> The important thing is that things should just work for the naive user who
> installs from source ... the loader should find their shared libraries,
> their 'man' command should find the manual pages, their shell should find
> the executables etc.
>
I agree with this statement. It's a fact that GNUstep doesn't play well
with the FHS used by, pretty much, every single *nix variant. Sourcing
GNUstep.sh is fine, but it's not ideal, I consider it a work around. It
simply adds the GNUstep filesystem layout to the appropriate env variables,
and there's no reason why GNUstep and applications shouldn't be installed in
the default locations.
> Well then, the packagers come close to being in my category (4) then ...
> GNUstep should have a native setup for them so that the packages they
> produce will just work for the end users.
> Actually, I don't think that's ideal either ... we should assist packagers
> to produce better packages ... and contribute filesystem layout
> configurations for their systems to gnustep-make, and contribute
> installation scripts to the packages.
> It's not good for GNUstep if packagers produce packages which install and
> then don't work.
>
Back when I was somewhat maintaining the SlackBuild scripts for GNUstep I
simply passed --with-filesystem-layout=fhs. Again, this is fine but I still
just consider it a work around. Like Richard, I think GNUstep should be
installed where to the native layout to begin with.
>
> >> If not, do you have a suggestion for a better way to improve the chances
> of GNUstep working for this fourth group.
> >
> > Maybe by adding this to the end of -make's install?
> >
> > echo source ${GNUSTEP_MAKEFILES}/GNUstep.sh >> /etc/profile
> > echo source ${GNUSTEP_MAKEFILES}/GNUstep.csh >> /etc/csh.cshrc
>
> Sure, we've discussed that kind of thing before and there was a strong
> argument that editing such files is intrusive, and system dependent since
> the appropriate files vary, and generally somewhat complex (you need to
> remove old edits before making a new one) and error-prone. I'm sure we
> could do it, but using native conventions seems simpler so far.
>
That solution is just wrong. There's no reason why system files should be
touched when installing a piece of software. Bash uses the /etc/profile.d/
directory and if you're going to do something like what is being proposed, a
file should be added to that dir instead of appending /etc/profile
directly. In any case, this is, again, is just a work around to the actual
problem.
I don't use GNUstep in Windows, so I can't comment much there, but as far as
I know we don't use the native file system layout there, anyway. Msys/MinGW
provide a FHS-like filesystem for GNUstep to use and we do exactly the same
work arounds there as we do under the *nix variants (sourcing GNUstep.sh).
For a truely native layout applications would have to be installed in
c:\Program Files\
Stef
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev