[OE-core] [PATCH] autotools: Give in and force CONFIG_SHELL to bash

Richard Purdie richard.purdie at linuxfoundation.org
Thu Jan 30 21:32:22 UTC 2020


On Thu, 2020-01-30 at 15:58 -0500, Rich Persaud wrote:
> On Jan 27, 2020, at 12:40, Richard Purdie <
> richard.purdie at linuxfoundation.org> wrote:
> > At present, CONFIG_SHELL becomes /bin/sh if its bash and /bin/bash
> > if not. This
> > isn't deterministic and leads to changes in ptest packages which
> > include Makefiles.
> > 
> > At first glance you'd think we'd hardcode to /bin/sh since most
> > system shells are sane.
> > 
> > Sadly the dash vs. bash leads to quoting differences in configure.
> > 
> > The bash default is probably the safest option since configure
> > tries to find bash
> > and this is what most systems would end up using.
> > 
> > The end result is a more consisent build environment.
> 
> Since every OE user is currently forced to depend on host tool
> binaries, could we limit such dependency to a bootstrap phase where
> bitbake generates native versions of HOSTTOOLS (including bash)
> before building product binaries? 

On this specific issue, I very much doubt the build would work without
bash as so many scripts require it. We're just force it to a value
rather than having it pick /bin/sh on some systems (where it is bash)
and /bin/bash on others.

The aim is we can generate all the hosttools with "bitbake buildtools-
tarball" or "bitbake buildtools-extended-tarball" (includes gcc). Those
work today, we don't have an automatic extraction and preface to the
build phase as yet but that is next on my development list once we have
the build reproducibility issues track down and resolved.

So I think what you're asking for is nearly there, we just have manual
setup right now?

Cheers,

Richard



More information about the Openembedded-core mailing list