gnustep-dev
[Top][All Lists]
Advanced

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

Re: [Gnustep-cvs] r31321 - in /tools/make/trunk: ChangeLog GNUstep.conf.


From: Richard Frith-Macdonald
Subject: Re: [Gnustep-cvs] r31321 - in /tools/make/trunk: ChangeLog GNUstep.conf.in configure configure.ac
Date: Sun, 12 Sep 2010 10:16:26 +0100

On 11 Sep 2010, at 12:03, Nicola Pero wrote:

> Richard
> 
> I don't think you are an idiot at all.

Sorry, should have used a smiley there ...

> But I suggest we briefly discuss major changes on the mailing list before we 
> do them ;-)

Perhaps ... though I've mentioned the issue (privately if not on list) to 
several people ... so doing something seemed a good way to stimulate some 
activity.

> So, let's discuss :-)
> 
> I generally agree with this change, but if we want to do this change we have 
> to do lots of documentation updates.

Hopefully not so much ... since the fhs stuff has been an option for a long 
while now I was hoping that most documentation would have been updated to 
describe it as well as the traditional GNU layout.

> Otherwise we could have lots of users who install GNUstep, then try to do ". 
> /usr/GNUstep/System/Library/Makefiles/GNUstep.sh" following documentation 
> they read somewhere, that fails and they hit a wall.

Yes, we certainly need to review documentation before making a release.

> My favourite option is to have each filesystem layout file include a snippet 
> of documentation that we print at the end of configure (or maybe at the end 
> of 'make install' ?)

At the end of 'make install' sounds best to me.

> So, you are a new user, and you type 'configure' in gnustep-make.  The thing 
> runs and you probably don't understand most of it.  The last lines that 
> 'configure' prints would be a few lines of help for the filesystem layout 
> that you chose ... something like
> 
> --- IMPORTANT: READ THE FOLLOWING IF YOU ARE A NEW USER ---
> To be able to use GNUstep in the way you have configured it, you must execute 
> the following command in the shell:
> 
>  . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
> 
> Add this line to your shell initialization scripts (eg, /etc/profile) to have 
> it done automatically each time you login.
> ---
> 
> We could have a similar message for the fhs layout.  How does that sound ?

That sounds very good ... but not a complete solution to the problem of having 
things just work.  People often don't read stuff (even the text at the end of 
the process), and it's scrolled up off screen by the time they realise things 
aren't working.  No matter how accessible and simple we make instructions, it's 
never as good as having things work without instructions.

IMO our default (of course we need to be able to choose other alternatives 
easily, but I think you have already make gnustep-make support that) should be 
to install things in native locations so they work with no further effort.
As Truls Becken pointed out yesterday, that might mean having gnustep-make run 
ldconfig (or equivalent) when installing libraries and frameworks as well as 
just putting things in the 'right' place.

The one thing we are still missing if everything is installed 'natively' by 
gnustep-make is the setup of the GNUSTEP_MAKEFILES environment variable when 
building software ... It would be tricky (and intrusive) to automatically edit 
things like /etc/profile or .profile to set the environment variable (and that 
wouldn't work until the user logs out and in again anyway), so the best 
solution I have found is to use gnustep-config inside all makefiles to set the 
variable if necessary.  This of course means updates to documentation and 
example makefiles, and is not ideal because it means that a minimal makefile 
has a bigger preface ... but it pretty much guarantees that when someone tries 
to install GNUstep and build software the process will work.






reply via email to

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