[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#57050] [PATCH v2 04/13] gnu: Add Zuo.
From: |
Philip McGrath |
Subject: |
[bug#57050] [PATCH v2 04/13] gnu: Add Zuo. |
Date: |
Tue, 23 Aug 2022 20:27:15 -0400 |
User-agent: |
Cyrus-JMAP/3.7.0-alpha0-841-g7899e99a45-fm-20220811.002-g7899e99a |
On Tue, Aug 23, 2022, at 5:20 AM, Maxime Devos wrote:
>> [...]
>> I will use GUIX_SH in v3 of this series.
>>
>> My concern with it originally was that it's generic enough that it might be
>> used in other ways elsewhere in Guix, but, since I'm hoping it's only going
>> to be a medium-term solution, it seems good enough, and I haven't heard any
>> objections to it.
> _PATH_BSHELL seems better to me, as it is not Guix-specific and does not
> require adding preprocessor arguments.
Not needing preprocessor arguments would be a nice advantage. I will try
_PATH_BSHELL.
> Even simpler would be to
> substitute* the /bin/sh to (search-input-file inputs "bin/sh") like done
> for other packages.
>
Unfortunately, that doesn't work well here. We cannot refer to store paths in
Racket or Chez source code (as opposed to C code) because the grafter cannot
handle the format of compiled code: see <https://issues.guix.gnu.org/47180#6>.
(I don't know about Zuo image dumps, but the binary format is unspecified, so
it seems safer not to.)
Also, especially for Racket, there are many entry points where "/bin/sh" might
come from, including both functions like 'system' and also programs that
explicitly use "/bin/sh" with functions like 'system*'. When I first wrote the
current patch, maintaining Guix-specific patches for all of them seemed
unsustainable, so I instead patched the low-level function for running
subprocesses to interpose on any attempt to execute "/bin/sh", regardless of
where it came from.
If I addressed this upstream, I'd probably extend an existing function to
support `(find-system-path 'shell)`, change `system` and friends to use it, and
likewise change scripts that currently use "/bin/sh" explicitly.
> On 23-08-2022 03:40, Philip McGrath wrote:
>> First of all, I have found that there*is* another Unix-like system where
>> "/bin/sh" doesn't exist: on Android, the POSIX shell is usually at
>> "/system/bin/sh". Also, at least on some versions, _PATH_BSHELL isn't a
>> compile-time constant. It is:
>>
>> #define _PATH_BSHELL __bionic_get_shell_path()
>
> Looking at the patch, it not being a compile-time constant does not
> appear to be a problem to me.
>
It's not an issue with the current patch. It could be relevant for some ways of
addressing this upstream. Mostly, it's part of my thinking that "where is the
shell, if any?" is a question best answered at runtime rather than compile time.
-Philip
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., (continued)
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Liliana Marie Prikler, 2022/08/11
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Liliana Marie Prikler, 2022/08/11
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Maxime Devos, 2022/08/16
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Philip McGrath, 2022/08/22
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Maxime Devos, 2022/08/23
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Philip McGrath, 2022/08/23
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Maxime Devos, 2022/08/23
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo.,
Philip McGrath <=
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Liliana Marie Prikler, 2022/08/24
- [bug#57050] [PATCH v2 04/13] gnu: Add Zuo., Philip McGrath, 2022/08/24
- [bug#57050] [PATCH v3 00/14] gnu: Update Racket to 8.6. Add Zuo., Philip McGrath, 2022/08/25
- [bug#57050] [PATCH v3 01/14] gnu: stex: Update to 1.2.2-2.afa6075., Philip McGrath, 2022/08/25
- [bug#57050] [PATCH v3 03/14] etc: teams: Add racket team., Philip McGrath, 2022/08/25
- [bug#57050] [PATCH v3 02/14] gnu: stex: Fix read-only gifs and math directories., Philip McGrath, 2022/08/25
- [bug#57050] [PATCH v3 04/14] etc: teams: Add entry for Philip McGrath., Philip McGrath, 2022/08/25
- [bug#57050] [PATCH v3 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio., Philip McGrath, 2022/08/25
- [bug#57050] [PATCH v3 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio., Liliana Marie Prikler, 2022/08/25
- [bug#57050] [PATCH v3 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio., Philip McGrath, 2022/08/25