gnustep-dev
[Top][All Lists]
Advanced

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

Re: NSUser and paths generally


From: Richard Frith-Macdonald
Subject: Re: NSUser and paths generally
Date: Wed, 17 Dec 2003 06:39:17 +0000


On 16 Dec 2003, at 10:50, Sheldon Gill wrote:

It seems that NSUser.m was originally created by Andrew McCallum for a new
class that handled login related functions.

However, it mainly contains the functions from "NSPathUtilities.h". I propose moving those functions to a new file "NSPathUtilities.m" where they would
seem more at home.

I don't suppose it would cause any problem, and it would be a bit neater ...

I also propose making some modifications to the path handling routines:
* Initialise the various root directories from a plist in /etc/GNUstep if it
exists, over-riding environment variables. This will allow system
administrators to enforce system file heirarchy policy.
It'll also mean that, on such systems, you don't need to source GNUstep.sh!

Sounds like a good idea to me, though it does make the system yet more
complex, in that you need to tell people about this new installation option,
and all the variants (eg some other 'standard' location in ms-windows).

* Add support for traditional locations for applications and libraries:
    NSApplicationDirectory   /bin /usr/bin
    GSLibrariesDirectory      /lib  /usr/lib
    NSAdminApplications    /sbin /usr/bin

That's probably harmless/useful.

These will be last in the returned array.
* Extend support for more parts of the heirarchy like:
    Fonts, Palattes, ColorPanels, Services, etc

I'm not sure about this ... probably we should stick to the MacOS-X 'standard' in how we look up resources. We certainly want apps to use the same code
to locate resources on both GNUstep and MacOS-X.

What I wish to work towards is making GNUstep highly path layout agnostic and
consolidate it's file dependancies.

Good aim.
I *DO* like the idea of getting the directory hierarchy from a single point ...
and not having to set environment variables.
Please note ... such a change is not just a change to the base library. You also
need to change the make package to maintain consistency.  This could
probably be as simple as changing the GNUstep.sh script to set up the
existing environment variables from the /etc/GNUstep info though.





reply via email to

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