* Dave Korn (Fri, 10 Aug 2007 16:37:23 +0100)
> On 10 August 2007 16:22, Thorsten Kampe wrote:
> 
> 
> > The problem (/my/ problem and maybe Ronald's) is that d reads the home
> > directory from /etc/passwd and not from the environment variable
> > $HOME. In my setup these differ.
> 
>   Is that even valid?  Hmmm.  Posix does say:
> 
> http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
> "  HOME
>     The system shall initialize this variable at the time of login to be a 
> pathname of the user's home directory. See <pwd.h>.  "
> 
> but then again, it also says:
> 
> http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html
> "   3.192 Home Directory
> The directory specified by the HOME environment variable.  "
> 
> and also:
> 
> http://www.opengroup.org/onlinepubs/009695399/utilities/sh.html
> "  HOME
>     Determine the pathname of the user's home directory. The contents of HOME 
> are used in tilde expansion as described in Tilde Expansion. This volume of 
> IEEE Std 1003.1-2001 specifies the effects of this variable only for systems 
> supporting the User Portability Utilities option.  "
> 
> although that last one was revised in Issue 6:
> 
> "  In the ENVIRONMENT VARIABLES section, the text "user's home directory" is 
> updated to "directory referred to by the HOME environment variable".  "
> 
> > In my opinion $HOME should take precedence over the home directory set
> > in /etc/passwd.
> 
>   I think it's kind of ambiguous.  The 'd' man page specifically refers to 
> ".d.conf in the user's home directory", as opposed to "~/.d.conf"; I think 
> those two definitions are allowed to diverge, from what I quoted above.  The 
> spec is unclear: how can you initialise HOME from "the user's home 
> directory", if whatever the user's home directory is is only defined in 
terms of the contents of $HOME, without reference to field #6 in /etc/passwd?  
That would be a circular reference to uninitialised data, that would!

Well, if it wasn't valid then there would be no sense to even set 
$HOME, right? Because it would have always point to the same path as 
the entry in /etc/passwd.

Anyway, I'm not doing this for fun but because my home directory is on 
a removable drive and all applications I know honor $HOME (except 
irssi where I had to alias irssi='irssi --home=~ --
config=~/.irssi/config')

Thorsten


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to