fascistic commit r084e2284c700 busybox/scripts/gen_build_files.sh
Peter Tyser
ptyser at xes-inc.com
Mon May 17 14:50:03 UTC 2010
On Mon, 2010-05-17 at 16:07 +0200, Denys Vlasenko wrote:
> On Mon, May 17, 2010 at 5:59 AM, Peter Tyser <ptyser at xes-inc.com> wrote:
> > Denys Vlasenko wrote:
> >>
> >> On Sunday 16 May 2010 19:02, Douglas Mencken wrote:
> >>
> >>> This commit declares "gen_build_files.sh" as the one that "uses
> >>> bashism", and "document it".
> >>> But what is the real result of this commit? It is:
> >>> make:
> >>> /root/build-farm/busybox-1969-g084e228.srcpkg/scripts/gen_build_files.sh:
> >>> Command not found
> >>> make: *** [gen_build_files] Error 127
> >>> Because
> >>> -#!/bin/sh
> >>> +#!/bin/bash
> >>> So now it is not possible to build busybox having only busybox shell
> >>> (ash) and not bash.
> >>
> >> I reverted fascistic commit :) :)
> >
> > This is going to cause the same problem that the "gen_build_files.sh: Remove
> > bashisms" patch attempted to fix. gen_build_files.sh is still using
> > bashisms (only part of "gen_build_files.sh: Remove bashisms" was applied),
> > so we need to either remove the bashisms, or change the interpreter to bash,
> > right?
> >
> > Eg if I run "make defconfig" on my Ubuntu box I get incorrect behavior:
> > ptyser at petert busybox $ make defconfig
> > CHK ./findutils/Kbuild
> > read: 53: arg count
> > CHK ./findutils/Config.in
> > read: 53: arg count
> > scripts/kconfig/conf -d Config.in
>
> Considering the whole email discussion, I tend to agree with Rob's argument:
> gratuitous bash incompatibilities caused by dash are dash's fault.
Its not just about dash in my opinion - its about all non-bash shells.
'read' without any arguments is bash-specific. Its not POSIX compliant.
Maybe some other shells happen to allow read without arguments, but its
a crapshoot as its not a standard. I'm not understanding the argument
for using bash-specific functionality, but not using bash as the shell.
Yes dash has "gratuitous bash incompatibilities", but you are
*explicitly* saying to use /bin/sh, which dash *is* compatible with.
Best,
Peter
More information about the busybox
mailing list