Re: Moving bash from essential/required to important?
Steve Langasek <firstname.lastname@example.org> writes:
> On Tue, Apr 05, 2011 at 02:00:36AM +0200, Carsten Hey wrote:
>> * Make dash conform to POSIX. dash/sid is not detected as being
>> a POSIX shell by autotools, which leads to lines like #!@POSIX_SHELL@
>> to become #!/bin/bash and thus introduces useless dependencies on
> Do you know what exactly it is about dash that autoconf believes is not
> POSIX-compliant? My understanding was that dash *is* POSIX-compliant, but
> that this is not enough to satisfy autoconf's specific requirements.
dash doesn't support $LINENO, which is why it's not detected by Autoconf.
The reason why it doesn't support $LINENO (it's intentional; we had a
patch to add it that was then removed) is that the configure.ac files of
many, many packages contain bashisms that dash doesn't support. If
$LINENO support is present in dash, Autoconf considers dash sufficiently
POSIX to use as the configure shell, and then all those packages FTBFS.
This is, without question, a bug in every package that has a configure.ac
script that assumes bash. The problem is that there are apparently a
whole ton of them, and convincing upstream to care is in some cases going
to be hard.
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=582952 for the gory
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>