Subject: bug#23112: value of _CS_PATH\

From: [email-masked] (Ludovic Courtès)
Date: Tue, 03 May 2016 22:22:43 +0200

[email-masked] (Ludovic Courtès) skribis:

> John Darrington <[email-masked]> skribis:
>
>> Would it not be correct for guix to have 
>>
>>  confstr (_CS_PATH, buf, len);
>>
>> set the contents of buf with the bin directory of the currently 
>> installed coreutils package?
>>
>> For me, it returns /bin:/usr/bin which is not correct.
>
> Fixing it is a bit tricky because:
>
>   1. The meaning of this variable is ill-defined.  Specifically, POSIX
>      says it “is the value for the PATH environment variable that finds
>      all standard utilities.”  By “standard utilities”, surely they must
>      be talking of ‘guile’, ‘guix’, ‘herd’, and a couple of others, but
>      we can’t be sure.  ;-)
>
>      http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html
>
>   2. If CS_PATH refers to Coreutils, then that means that libc refers to
>      Coreutils, which is inconvenient at best.
>
>   3. We could set CS_PATH to /run/current-system/profile/bin but that
>      wouldn’t work on foreign distros.
>
> So I’m inclined to leave things as is.

I’ll close the bug if you don’t mind, but…

> Did you find a situation where the invalid value was causing troubles?

… I’m still interested in knowing this.  :-)

TIA,
Ludo’.