Subject: Re: [PATCH 0/2] meson: prefer '/bin/sh' over PATH lookup

From: Patrick Steinhardt <[email-masked]>
Date: Fri, 25 Apr 2025 07:21:25 +0200

On Thu, Apr 24, 2025 at 11:28:30AM -0700, Junio C Hamano wrote:
> Patrick Steinhardt <[email-masked]> writes:
> 
> > at GitLab, we recently got a couple of bug reports about Git not being
> > able to find its shell anymore. The root cause is that with Meson we
> > have started to look up the shell via PATH, which may exist on the build
> > host, but not on the target host. We have worked around this issue with
> > a cross file:
> >
> >     $ cat >cross.ini <<-EOF
> >     [binaries]
> >     sh = '/bin/sh'
> >     EOF
> >     $ meson setup build --cross-file=./cross.ini
> >
> > But this made me remember the report from Peter [1] that Debian also
> > faced this issue. So I decided to address the issue in Meson directly by
> > preferring `/bin/sh` over a PATH-based lookup.
> 
> Perhaps use the same SHELL_PATH environment Makefile based build
> has used for ages?  That way, those who are dipping their toes and
> possibly migrating to Meson based build eventually would know what
> they want to twaek, no?

Yeah, that's basically what we do with this patch series now. How
exactly this is wired up is different compared to our Makefile so that
users can use Meson features to override this, e.g native files. But the
end result is the same on all POSIX-compliant systems that have
'/bin/sh'.

Patrick