GNU bug report logs -
#57050
[PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo.
Previous Next
Full log
Message #50 received at 57050 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Tuesday, August 9, 2022 5:38:56 PM EDT ( wrote:
> On Tue Aug 9, 2022 at 10:24 PM BST, Maxime Devos wrote:
> > In the glibc headers, there's some (POSIX?) standard macro that points
> > at "/gnu/store/.../bin/sh" (I don't recall the name), any reason we
> > aren't using that macro? That would be Guix-independent. I'm not sure
> > if a /gnu/store/... prefix is included, but if not, maybe we could try
> > overriding it with -D...="/gnu/store/...", or failing that, add a
> > post-unpack substitute* replacing [the macro name] ->
> > "/gnu/store/.../bin/sh".
>
> I believe you might be referring to <paths.h>, which defines _PATH_BSHELL.
>
> It's not standard C <https://en.cppreference.com/w/c/header> nor POSIX
> <https://pubs.opengroup.org/onlinepubs/9699919799/idx/head.html> though.
>
> -- (
I'd love to be wrong, but I also can't find such a macro. In the glibc source
tree, "stdlib/system.c" defines a stub implementation that always fails with
ENOSYS, and "sysdeps/posix/system.c" contains:
#define SHELL_PATH "/bin/sh" /* Path of the shell. */
#define SHELL_NAME "sh" /* Name to give it. */
Concretely, I think Guix's glibc currently uses /bin/sh dynamically: in my
Chez example above, if you replace `process` with `system` (which uses libc's
`system`), the result is always "/bin/sh\n".
-Philip
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 2 years and 318 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.