bug-gnustep
[Top][All Lists]
Advanced

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

Re: [GNUstep-packagers] patch for observance of $HOME


From: Richard Frith-Macdonald
Subject: Re: [GNUstep-packagers] patch for observance of $HOME
Date: Fri, 6 Aug 2004 09:36:01 +0100


On 6 Aug 2004, at 08:54, Rogelio Serrano wrote:

On 2004-08-06 15:36:51 +0800 Matt Rice <ratmice@yahoo.com> wrote:

personally I don't think we should trust environment
variables for reasons in the archive..
http://lists.gnu.org/archive/html/bug-gnustep/2003-11/msg00015.html
and would rather if we did something like cleanse
make/GNUstep.sh of writes to the user root, so that it
isn't breaking the sandbox if possible, so he doesn't
have to redirect $HOME to a directory inside the
sandbox (if i grok)
maybe by setting an environment variable before
sourcing GNUstep.sh to disable running make_services
and stuff

I still believe that its better to set these during compilation. And that we all have a consensus on how to set up these paths for each and every platform GNUstep is going to run. And we use the path utilities to hide these details from the app. In short no more hard coding of paths.

I'm not sure I follow this ...

My understanding is that we already have no hard coding of paths except for a few backup cases for if the environment variables are not set up. Are you simply saying that these last-resort backups should be removed, so that apps will just bomb out if they are not given basic path information at runtime (when they start) ? If so, I'm not averse to that idea as long as we can make sure that, when a program can't run for lack of path info, it can give clear and simple instructions on how to provide it with the information it needs.

As far as the environment v file issue goes ...

Environment variables are fast, but I've seen complaints in the past about GNUstep cluttering the environment with too many variables. The issue abut environment variables getting removed when su and similar utilities are run is also a problem.

The .GNUsteprc config file is slower, but we can avoid most of the environment clutter ... however, we still need something like an environment variable to specify the system root so we can find the config file. We also need to modify PATH and LD_LIBRARY_PATH etc to allow GNUstep programs to be simply run from the unix shell.

The GNUstep.sh script to set the environment is a kind of compromise.

I kind of favour the idea of having a script to set three essential environment variables -
PATH
LD_LIBRARY_PATH  (or system specific equivalent)
GNUSTEP_ROOT
and doing everything else via .GNUsteprc config files (with a path utilities tool to provide path information that any other external software needs). The make system could easily set up the internal variables it needs from this.

I don't like the idea of using the HOME environment variable ... as it is not reliably present/correct.

The $GNUSTEP_ROOT/.GNUsteprc file already allows the home directory of a user to be controlled, and I would have thought that this was sufficient to solve Armando's problems with Gentoo. eg. where he would like to set HOME=/xxx/yyy he could set GNUSTEP_ROOT=/xxx/yyy and create a .GNUsteprc file in that directory containing 'GNUSTEP_USER_ROOT=/xxx/yyy' to run everything within that directory.





reply via email to

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