GNU bug report logs - #57050
[PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo.

Previous Next

Package: guix-patches;

Reported by: Philip McGrath <philip <at> philipmcgrath.com>

Date: Mon, 8 Aug 2022 06:07:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #50 received at 57050 <at> debbugs.gnu.org (full text, mbox):

From: Philip McGrath <philip <at> philipmcgrath.com>
To: Maxime Devos <maximedevos <at> telenet.be>, 57050 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at>, "(" <paren <at> disroot.org>
Subject: Re: [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh".
Date: Tue, 09 Aug 2022 17:58:18 -0400
[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.