Package: alsa-base Version: 1.0.8-4 Severity: normal Tags: patch The alsa initscript uses eval $1 --help || ... to test the presence of a command "$1". However the behavior of `eval foo || bar' after `set -e' is shell-dependent, see Bug#268944.
If /bin/sh is dash, and the command in question is amixer, the script fails immediately due to `amixer --help' returning exit code 1, and dash's poor handling of eval. If /bin/sh is bash, the function correctly finds that amixer is present. While this is arguably a bug in dash and a bug in amixer (non-standard handling of --help), it's better to avoid this kind of testing in initscripts. Removing `eval' fixes the problem - its argument is not going to be expandable anyway. --- /etc/init.d/alsa.orig 2005-01-31 11:41:21.000000000 +0300 +++ /etc/init.d/alsa 2005-02-16 22:19:47.000000000 +0300 @@ -38,7 +38,7 @@ # See #218530 for a discussion of this issue. executable() { - eval $1 --help > /dev/null 2>&1 || case "$?" in (126|127) return 1 ;; esac + $1 --help > /dev/null 2>&1 || case "$?" in (126|127) return 1 ;; esac return 0 } -- Best regards, Sergei -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.8-s1 Locale: LANG=C, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R) Versions of packages alsa-base depends on: ii alsa-utils 1.0.8-1 ALSA utilities ii debconf 1.4.30.11 Debian configuration management sy ii debianutils 2.8.4 Miscellaneous utilities specific t ii lsof 4.71-1 List open files. ii module-init-tools 3.2-pre1-2 tools for managing Linux kernel mo ii modutils 2.4.26-1.2 Linux module utilities -- debconf information: alsa-base/alsactl_store_on_shutdown: never autosave -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]