Bash compatibility TODO

Aaro Koskinen aaro.koskinen at iki.fi
Mon Jun 27 21:47:30 UTC 2022


Hi,

On Mon, Jun 27, 2022 at 11:24:15PM +0200, Bernd Petrovitsch wrote:
> On 27/06/2022 23:10, David Laight wrote:
> > From: Aaro Koskinen
> > > Sent: 27 June 2022 21:43
> [...]
> > > Looks like it's not possible to build mainline Linux anymore with the
> > > busybox as "bash". :-(
> > 
> > Have you posted that to LKML ?
> > They really ought to solve the problem a different way.
> [...]
> > > $ make
> > >    CC      scripts/mod/empty.o
> > > ./scripts/check-local-export: line 17: shopt: not found
> > > make[1]: *** [scripts/Makefile.build:249: scripts/mod/empty.o] Error 127
> > > make[1]: *** Deleting file 'scripts/mod/empty.o'
> > > make: *** [Makefile:1199: prepare0] Error 2
> > > 
> > > It seems the requirement is to support "lastpipe" option:
> > > 
> > > 	# Run the last element of a pipeline in the current shell.
> > > 	# Without this, the while-loop would be executed in a subshell, and
> > > 	# the changes made to 'symbol_types' and 'export_symbols' would be lost.
> > > 	shopt -s lastpipe
> 
> FWIW: Debian/Ubuntu has dash as /bin/sh and that doesn't have "shopt"
> too.

Yes, but that script has "#!/usr/bin/env bash". The "minimal" kernel build
requirements now list bash 4.2 as mandatory.

A.


More information about the busybox mailing list