[Pkg-gtkpod-devel] Bug#489605: gtkpod: bashism in /bin/sh script

Raphael Geissert atomo64 at gmail.com
Mon Jul 7 00:41:57 UTC 2008


Package: gtkpod
Severity: important
Version: 0.99.12-2
User: debian-release at lists.debian.org
Usertags: goal-dash

Hello maintainer,

While performing an archive wide checkbashisms (from the 'devscripts' package) 
check I've found your package containing one or more /bin/sh scripts making 
use of bashisms.

checkbashisms' output:
> possible bashism in ./usr/share/gtkpod/scripts/sync-ldif.sh line 19
> (declare): 
> declare LDIFILE=addressbook.ldif        # default
> filename 'addressbook.ldif'  
> possible bashism in ./usr/share/gtkpod/scripts/sync-ldif.sh line 20
> (declare): declare ENCODING=ISO-8859-15            # To try others
> encodings : 'iconv --list' 
> possible bashism in ./usr/share/gtkpod/scripts/sync-ldif.sh line 21
> (declare): 
> declare DELETE="NO"                     # To delete old .vcf files by
> default? 'NO'!! 
> possible bashism in  ./usr/share/gtkpod/scripts/sync-ldif.sh line 25 (export
> only takes -p as an option): 
> export -n LDIFAMILYNAME 
> possible bashism in ./usr/share/gtkpod/scripts/sync-ldif.sh line 26 (export
> only takes -p as an option): 
> export -n IPOD_MOUNT 
> possible bashism in ./usr/share/gtkpod/scripts/sync-evolution.sh line 20
> (brace expansion): 
> for i in 
> {/opt/gnome,/usr,/usr/local}/{bin,lib*}/{,evolution/*/}evolution-addressboo
> k-export; do 
> possible bashism in ./usr/share/gtkpod/scripts/sync-evolution.sh line 89
> (should be 'b = a'): 
> if [ ! $? == 0 ]; then
> possible bashism in ./usr/share/gtkpod/scripts/sync-thunderbird-nano.sh
> line 32 (let ...): 
> let COUNT=0;                 # file counter 
> possible bashism in ./usr/share/gtkpod/scripts/sync-thunderbird-nano.sh
> line 83 (let ...): 
> let COUNT=$COUNT+1; 

Not using bash (or a Debian Policy conformant shell interpreter which does 
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's a 
release goal for Lenny to make dash the default /bin/sh[1].

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 please refer to the Debian Policy section 10.4 supporting 
this argument 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

[1]http://release.debian.org/lenny/goals.txt

Thank you,
-- 
Atomo64 - Raphael

Please avoid sending me Word, PowerPoint or Excel attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html





More information about the Pkg-gtkpod-devel mailing list