[yocto] busybox 1.21 ash bug?

Paul Eggleton paul.eggleton at linux.intel.com
Tue Dec 10 09:25:01 PST 2013


On Tuesday 10 December 2013 15:14:21 Diego Sueiro wrote:
> On Tue, Dec 10, 2013 at 1:46 PM, Olof Johansson 
<olof.johansson at axis.com>wrote:
> > That type of for loop is a bashism; as far as I know and can
> > tell, busybox ash does not support it (even with ASH_BASH_COMPAT=y).
> > 
> > The code that is executed when the parser finds a "for" token:
> > 
> > ash.c: parse_command(void)
> > 
> >     ...
> >     switch (readtoken()) {
> >     ...
> >     
> >     case TFOR:
> >         if (readtoken() != TWORD || quoteflag || !goodname(wordtext))
> >         
> >             raise_error_syntax("bad for loop variable");
> > 
> > Are you sure it's using busybox ash when it actually works? I can
> > reproduce the error message your are seeing in both busybox 1.20
> > and 1.21.
> > 
> > 
> > 
> > RANDOM is also an extension, but one that is supported by busybox
> > (or rather, can be). The default defconfig in oe-core does not
> > enable it, see ASH_RANDOM_SUPPORT.
> 
> I have a bbappend to enable it.
> 
> What a shame. I'm really sorry about the buzz.
> 
> I'm working based on Angstrom distribution setup-scripts, and for dylan
> version it is using bash as the default shell and for dora version it is
> using the ash from busybox.

Assuming that wasn't a deliberate change, it's likely that something that 
depended on bash was bringing it in before and either that something is no 
longer in the image, or it no longer depends on bash. (You can of course 
explicitly add bash to the image if that's what you want.)

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list