[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RFH: bashisms in configure script



Hi,

Given the recent responses I'm providing some more info, updates, and hints.

Raphael Geissert wrote:
> This doesn't necessarily mean that we are drowned by bashisms, as some of
> those may already be fixed by Debian- provided packages or might affect
> unused code

s/packages/patches/

> (before anybody asks/complains, the list of maintainers is too big to be
> attached to the email, even if compressed.)

If you were one of those who checked the dd-list.txt file right after I sent 
my original email and up to two hours later, please re-check it. It was 
bogus.

dd-list.txt *only* contains the list of maintainers/packages with bashisms 
in a 'configure' script. A new list for maintainers/packages with any kind 
of bashism (or false positive) in any file can now be found at:

Information about bashisms (how to fix them) and how to understand 
checkbashisms' output can be found at:

https://wiki.ubuntu.com/DashAsBinSh

* Common false positive:

<--->
possible bashism in ./configure line nnn (should be >word 2>&1):
    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
<--->

This one is safe. It is generated by autoconf and $3 points to a numeric 
file descriptor.

<--->
some sort of detection in *.diff or *.dpatch files
<--->
In this case those files use a shell wrapper that executes another program 
to process the file. checkbashisms attempts to detect them, but it fails in 
some cases.

<--->
"unsafe echo with backslash:"
<--->
If the output of echo is piped to grep, verified with test/[ or case; in 
most cases it is just some shell code that is used to determine whether the 
"echo" command expands backlashes by default.


* Not false positives, just indicators[1], but common too:
$BASH
RANDOM=
(OS|MACH)TYPE=
HOST(TYPE|NAME)=
BASH(_SOMETHING)=

[1] they help identify shell tests.


Yes, I'm aware of the high number of false positives and indicators noise. 
There are some false negatives too.

Cheers,
-- 
Raphael Geissert - Debian Developer
www.debian.org - get.debian.net


Reply to: