Sat 23 May 2009 09:47:05 AM UTC, original submission:
Hello maintainer,
While performing an archive wide checkbashisms (from the 'devscripts' package)
check I've found your package containing a /bin/sh script making use
of a bashism.
checkbashisms' output:
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 22
> ('function' is useless):
> function processFile() {
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 41 (function
> names should only contain [a-z0-9_]):
> local parts=()
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 42 (function
> names should only contain [a-z0-9_]):
> local files=()
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 43 (let ...):
> let fIdx=0
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 44 (let ...):
> let pIdx=0
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 46 (should be
> 'b = a'):
> if [ "x" == "x$parents" ]
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 51 (bash
> arrays, H[0]):
> files[0]=$plainDiff
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 52 (bash
> arrays, H[0]):
> files[1]=$htmlDiff
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 53 (bash
> arrays, H[0]):
> parts[0]=$partFile
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 68 (let ...):
> let fIdx+=2
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 76 (let ...):
> let pIdx+=1
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 81 (bash
> arrays, ${name[0|*|@]}):
> for p in ${parts[@]}
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 91 (bash
> arrays, ${name[0|*|@]}):
> for p in ${parts[@]}
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 96 (bash
> arrays, ${name[0|*|@]}):
> for f in ${files[@]}
> possible bashism in
> ./usr/share/doc/monotone/contrib/monotone-mail-notify.sh line 105 (should
> be 'b = a'):
> if [ "x" == "x$(ls $BASE)" ]
Not using bash (or a Debian Policy conformant shell interpreter which doesn't
provide such an extra feature) as /bin/sh is likely to lead to errors or
unexpected behaviours.
Please be aware that although bash is currently the default /bin/sh there was
a release goal for Lenny to make dash the default /bin/sh[1], and has been
proposed for squeeze as well[2].
If you want more information about dash as /bin/sh, you can read:
http://lists.debian.org/debian-release/2008/01/msg00189.html
For more information supporting this goal please refer to Debian Policy,
section 10.4, at:
http://www.debian.org/doc/debian-policy/ch-files.html#s-scripts
Hints about how to fix bashisms:
Sometimes these bugs are already fixed in Ubuntu, look at the PTS.
If not already fixed you can read:
https://wiki.ubuntu.com/DashAsBinSh
If you still don't know how to fix the bashisms don't hesitate to reply to
this email, or tag the bug as 'help'.
[1]http://release.debian.org/lenny/goals.txt
[2]http://lists.debian.org/debian-release/2009/04/msg00133.html
Thank you,
Raphael Geissert
|