Subject: bug#23112: value of _CS_PATH\

From: [email-masked] (Ludovic Courtès)
Date: Tue, 05 Apr 2016 23:31:34 +0200

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.

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

Thanks,
Ludo’.