|
From: | Maxime Devos |
Subject: | [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh". |
Date: | Wed, 10 Aug 2022 13:46:39 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 |
On 09-08-2022 23:58, Philip McGrath wrote:
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. -- (
Looking at the "paths.h" header, it appears to be a BSDism. Not really standard but still better than a Guix-ism.
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".
If so, that's a bug. I do not know what result you are referring to.Anyway, the Guix package definition of glibc substitutes _PATH_BSHELL and SHELL_PATH, so unless there's a bug, it doesn't depend on /bin/sh.
Greetings, Maxime.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |