Package: alsa-base Version: 1.0.8-5 Severity: minor Tags: sid In /etc/init.d/alsa, if no sound cards are found, the script tries to execute commands with the variable CARDOPT="---".
The problem is that the function, echo_card_indices, does not check for the string "--- no sound cards ---" and the sed expression trims it down to "---". When the rest of the script tries to set various alsa settings, you get many console beeps and usage displays. This patch would tell the user that it did not find any supported sound cards instead of issuing errors. I'm not that familiar with the output of /proc/asound/cards so it may be possible to have a more comprehensive regex: --- /etc/init.d/alsa.old 2005-02-13 01:09:00.000000000 -0500 +++ /etc/init.d/alsa 2005-02-13 01:05:34.000000000 -0500 @@ -125,7 +125,7 @@ echo_card_indices() { if [ -f /proc/asound/cards ] ; then - sed -e 's/[[:space:]].*$//' -e '/^$/d' /proc/asound/cards + sed -e 's/[[:space:]].*$//' -e '/^$/d' /proc/asound/cards | grep -v "^---" fi } @@ -203,9 +203,13 @@ TTSDML_RETURNSTATUS=0 case "$1" in all) - for CARD in $(echo_card_indices) ; do - try_to_set_default_mixer_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 - done + if [ "X" = X"$(echo_card_indices)" ]; then + echo "Could not find any alsa sound cards" + else + for CARD in $(echo_card_indices) ; do + try_to_set_default_mixer_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 + done + fi ;; *) try_to_set_default_mixer_levels_on_card "$1" || TTSDML_RETURNSTATUS=1 @@ -253,9 +257,13 @@ TTZML_RETURNSTATUS=0 case "$1" in all) - for CARD in $(echo_card_indices) ; do - try_to_zero_mixer_levels_on_card "$CARD" || TTZML_RETURNSTATUS=1 - done + if [ "X" = X"$(echo_card_indices)" ]; then + echo "Could not find any alsa sound cards" + else + for CARD in $(echo_card_indices) ; do + try_to_zero_mixer_levels_on_card "$CARD" || TTZML_RETURNSTATUS=1 + done + fi ;; *) try_to_zero_mixer_levels_on_card "$1" || TTZML_RETURNSTATUS=1 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]