Package: devscripts Version: 2.9.27 Severity: normal Hello,
Looks like pattern parameter expansions: ${parameter#word}, ${parameter##word}, ${parameter%word}, ${parameter%%word}, ${parameter/pattern/string} and ${parameter//pattern/string}), parameter length expansion ${#parameter}, error expansions: ${parameter:?error message} and ${parameter?error message} varnames expansion: ${!prefix*} and [EMAIL PROTECTED] are bashisms too and checkbashisms doesn't check for these. For example, on Solaris the above expansions doesn't work (${parameter:-word}, ${parameter:=word} etc. do): > [EMAIL PROTECTED]:~$ cat subst.sh > #!/bin/sh > (echo '${PATH} =' ${PATH}) > (echo '${PATH+/bin} =' ${PATH+/bin}) > (echo '${PATH:+/bin} =' ${PATH:+/bin}) > (echo '${PATH-/bin} =' ${PATH-/bin}) > (echo '${PATH:-/bin} =' ${PATH:-/bin}) > (echo '${PATH=/bin} =' ${PATH=/bin}) > (echo '${PATH:=/bin} =' ${PATH:=/bin}) > (echo '${PATH?No PATH} =' ${PATH?No PATH}) > (echo '${PATH:?No PATH} =' ${PATH:?No PATH}) > (echo '${!P*} =' ${!P*}) > (echo '[EMAIL PROTECTED] =' [EMAIL PROTECTED]) > (echo '${PATH:1} =' ${PATH:1}) > (echo '${PATH:0:7} =' ${PATH:0:7}) > (echo '${#PATH} =' ${#PATH}) > (echo '${PATH%%:*} =' ${PATH%%:*}) > (echo '${PATH%:*} =' ${PATH%:*}) > (echo '${PATH#*:} =' ${PATH#*:}) > (echo '${PATH##*:} =' ${PATH##*:}) > (echo '${PATH/local/loc} =' ${PATH/local/loc}) > (echo '${PATH//local/loc} =' ${PATH//local/loc}) > [EMAIL PROTECTED]:~$ ./subst.sh > ${PATH} = /usr/bin:/usr/local/ant/bin:/usr/local/bin > ${PATH+/bin} = /bin > ${PATH:+/bin} = /bin > ${PATH-/bin} = /usr/bin:/usr/local/ant/bin:/usr/local/bin > ${PATH:-/bin} = /usr/bin:/usr/local/ant/bin:/usr/local/bin > ${PATH=/bin} = /usr/bin:/usr/local/ant/bin:/usr/local/bin > ${PATH:=/bin} = /usr/bin:/usr/local/ant/bin:/usr/local/bin > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution > ./subst.sh: bad substitution checkbashism knows only about substring expansion and replace expansion though: > [EMAIL PROTECTED]:~$ checkbashisms ./subst.sh > possible bashism in ./subst.sh line 13 (${foo:3[:1]}): > (echo '${PATH:1} =' ${PATH:1}) > possible bashism in ./subst.sh line 14 (${foo:3[:1]}): > (echo '${PATH:0:7} =' ${PATH:0:7}) > possible bashism in ./subst.sh line 20 (${parm/?/pat[/str]}): > (echo '${PATH/local/loc} =' ${PATH/local/loc}) > possible bashism in ./subst.sh line 21 (${parm/?/pat[/str]}): > (echo '${PATH//local/loc} =' ${PATH//local/loc}) -- System Information: Debian Release: 4.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-grsec Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages devscripts depends on: ii debianutils 2.17 Miscellaneous utilities specific t ii dpkg-dev 1.13.25 package building tools for Debian ii libc6 2.3.6.ds1-8 GNU C Library: Shared libraries ii perl 5.8.8-7 Larry Wall's Practical Extraction ii sed 4.1.5-1 The GNU sed stream editor Versions of packages devscripts recommends: ii fakeroot 1.5.10 Gives a fake root environment -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]