discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Proposal question.


From: Nicola Pero
Subject: Re: Proposal question.
Date: Thu, 9 May 2002 01:49:21 +0100 (BST)

> > In article <3CD95297.2040807@linuxstep.org> you wrote:
> > : 1.  no one is interested in utilising this proposal
> > : 2.  it's so long, people are still trying to get to the end of it.
> > 
> > No, no, no - and yes, yes, yes: I am interested in it and I did post an
> > article about that to the gnu.gnustep.discuss newsgroup. I saw at least
> > two other postings concerning it, there. The first time you posted
> > the suggestion (some months ago), the thread was even bigger.
> 
> True, there were a few replies to the original posting, and I made many 
> modifications from those responses.  However, since reposting a modified 
> version, I've heard next to nothing, and there hasn't been any 
> "official" response from anyone on the GNUstep Project.  I certainly 
> appreciated the modification of "Apps" to "Applications", don't get me 
> wrong.  However, there is much more to the proposal than just the names 
> of the directories.  It's about having a clearly defined, documented, 
> and "standard" structure.  I've tried my best to not be influenced by my 
> need for LinuxSTEP integration, and paid close attention to how the 
> proposal would work on other systems as well.
> 
> One of my biggest beefs with GNUstep (not the team, but the environment) 
> is the lack of clear, concise, and GNUstep-specific documentation.  It's 
> all well and good to say "Look at Apple's docs", but this is not Cocoa. 
>   This is GNUstep.

Yes - we would all appreciate GNUstep specific documentation ! :-)

And yes - this is not Cocoa.  This is GNUstep !

But it's patently difficult for me/us/everyone to change the filesystem
structure without a very long and deep study and discussion of the change.

It's not true that there is agreement on how the filesystem should be
organized.  In my experience there is no agreement even on the general
principles of how the filesystem should be organized.  It was discussed
before, a lot of times, in public and private - and I can tell you - there
is no agreement.

Furthermore, while it looks like a very simple thing, maybe after all it's
not. :-)

So - there is no easy way to decide which way of organizing the filesystem
is best since the opinions are very different.  All changes must be
discussed in detail and maybe at the end the decision is still a matter of
aestethics.  All changes might break existing code.  Eg, changing the
location of the makefiles likely breaks a lot of makefiles.  I personally
think it's not worth the trouble it requires.

Btw - just to give you a feeling of the different opinions - if it were
for me, I would remove 'Library' completely.  I don't want to enter the
flamewar :-) so please nobody replies to this sentence :-)

Anyway - in practice - my suggestion is - it would be great for you to
document the existing filesystem, and maybe suggest a few minor changes.

Don't try suggesting wide filesystem reorganizations.  It will be very
difficult to get the required agreement and support to implement them.

The existing filesystem structure is a reasonable compromise of the
different ideas.  It can be improved for sure but we must be very careful
with any change, since it's a delicate balance.


Anyway - I read your document and I want to make a few comments - well,
first that if it were describing the existing filesystem it would be very
useful :-).  Anyway - here are some comments - 


> 1.2 The Local Domain
>
> ...
> Another difference is the possible permission for normal users to
> install software in this location without having to ask the system 
> administrator for permission to do so.
> ...

this would be very dangerous.  All users will have all applications,
tools, libraries, etc in GNUSTEP_LOCAL_ROOT in their paths, and before the
system ones.  In particular, root will.  Now if any user could write to
that dir, they could use this to crack the machine.

So - unless you really know what you are doing, GNUSTEP_LOCAL_ROOT must be
writable by root only.  Users other than root must not be allowed to
install into GNUSTEP_LOCAL_ROOT.

User specific (non system-wide) applications and tools and libraries and
frameworks must be installed into GNUSTEP_USER_ROOT.  This is why that
exists at all.



> 1.4  The Users Domain
>     ----------------
> In current GNUstep versions, the Users domain is located in the Users
> folder, located in the /Local domain.  On systems where GNUstep is 
> installed optionally, the Users domain can mostly be found in a 
> subdirectory of the user's home directory called 'GNUstep'.  As the name
> suggests, the main purpose of the Users domain is to hold GNUstep 
> related files which shall not be available to other users on the system
> but only to the user owning them.  This includes the GNUstep defaults
> database, which holds system settings, application preferences and 
> customized resources, as well as temporary data related to services 
> and file type associations for programs.  In addition to these special 
> files, the User domain features the same structure as the other domains.

I'm not sure about this all.

There were never ending discussions (public and private) about that
recently - I'm quite sure of the general idea - and I've got the
complicated details of how all should work (with full support for setuid
tools) written down somewhere on disk - but I'm sure it wasn't completely
implemented for lack of time.

Anyway - the general idea of how it is supposed to work - as follows:

 each user has a gnustep user dir, where he can install tools,
applications, libraries, frameworks, bundles, etc.  each user can *change*
his own gnustep user dir to be anything he likes, by editing a
~/.GNUsteprc file (I think).  All the tools in the gnustep user dir are
automatically in the path, and the applications dir is automatically
searched for dirs etc.

 each user has his own user defaults ... which are not necessarily stored
in the gnustep user dir (maybe they are in the default settings, but that
is not necessary the case).  each user can change where he wants the
defaults to be saved.






reply via email to

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