Bug#808271: checkbashisms does not detect negated bashisms like 'if ! type'
Evgeni Golov
evgeni at debian.org
Fri Dec 18 06:14:15 UTC 2015
Package: devscripts
Version: 2.15.9
Severity: normal
Hi,
% cat /tmp/bashism
#!/bin/sh
if type which; then
echo "use which"
fi
if ! type which; then
echo "well, idk"
fi
I'd expect both if-lines to be bashisms, yet:
% checkbashisms /tmp/bashism
possible bashism in /tmp/bashism line 3 (type):
if type which; then
I think this is because of the following code in checkbashisms:
my $LEADIN = qr'(?:(?:^|[`&;(|{])\s*|(?:if|then|do|while|shell)\s+)';
....
$LEADIN . qr'type\s' => q<type>,
this basically requires "if" and "type" to be separated by spaces only,
but "!" isn't one :)
Regards
Evgeni
-- Package-specific info:
--- /etc/devscripts.conf ---
--- ~/.devscripts ---
Not present
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.2.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages devscripts depends on:
ii dpkg-dev 1.18.3
ii libc6 2.21-4
ii perl 5.20.2-6
ii python3 3.4.3-7
pn python3:any <none>
Versions of packages devscripts recommends:
pn at <none>
ii curl 7.45.0-1+b1
ii dctrl-tools 2.24-1
ii debian-keyring 2015.11.30
ii dput-ng [dput] 1.10
pn equivs <none>
ii fakeroot 1.20.2-1
ii file 1:5.25-2
ii gnupg 1.4.19-6
ii libdistro-info-perl 0.14
ii libencode-locale-perl 1.05-1
ii libjson-perl 2.90-1
ii liblwp-protocol-https-perl 6.06-2
ii libsoap-lite-perl 1.19-1
ii liburi-perl 1.69-1
ii libwww-perl 6.15-1
ii lintian 2.5.38.1
ii man-db 2.7.5-1
ii patch 2.7.5-1
ii patchutils 0.3.4-1
ii python3-debian 0.1.27
ii python3-magic 1:5.25-2
ii sensible-utils 0.0.9
ii strace 4.10-3
ii unzip 6.0-20
ii wdiff 1.2.2-1+b1
ii wget 1.17-1
ii xz-utils 5.1.1alpha+20120614-2.1
Versions of packages devscripts suggests:
ii bsd-mailx [mailx] 8.1.2-0.20150408cvs-1
ii build-essential 12.1
pn cvs-buildpackage <none>
pn debbindiff <none>
pn devscripts-el <none>
pn gnuplot <none>
ii gpgv 1.4.19-6
ii libauthen-sasl-perl 2.1600-1
ii libfile-desktopentry-perl 0.22-1
ii libnet-smtp-ssl-perl 1.03-1
pn libterm-size-perl <none>
ii libtimedate-perl 2.3000-2
pn libyaml-syck-perl <none>
ii mutt 1.5.24-1
ii openssh-client [ssh-client] 1:7.1p1-3
ii svn-buildpackage 0.8.5+nmu1
ii w3m 0.5.3-26
-- no debconf information
More information about the devscripts-devel
mailing list