On Monday 17 May 2010 09:50:03 Peter Tyser wrote: > On Mon, 2010-05-17 at 16:07 +0200, Denys Vlasenko wrote: > > On Mon, May 17, 2010 at 5:59 AM, Peter Tyser <[email protected]> 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: > > > pty...@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.
Sould we remove -i from busybox sed then? > Maybe some other shells happen to allow read without arguments, but its > a crapshoot as its not a standard. Which is why you say #!/bin/bash and then teach busybox's shells to understand the name "bash". The name is a promise of an API beyond Posix. > 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. No, he said #!/bin/bash and somebody complained that busybox couldn't work with that. I agree that's a problem, but the _bug_ is that busybox needs to be extended to route the name "bash" to hush and then hush taught to do more stuff. Rob -- Latency is more important than throughput. It's that simple. - Linus Torvalds _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
