Hello! We added these patches in the last few weeks.
For the alsaconf patch, it's the changes I made to the script to make it work on Debian. It still lacks propper unbashization (removing let's, etc). More flavours could be added to the distributions detection, and adding distro-specific stuff to it. Jordi -- Jordi Mallach Pérez -- Debian developer http://www.debian.org/ [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.sindominio.net/ GnuPG public key information available at http://oskuro.net/~jordi/
#! /bin/sh -e # 04_alsaconf_bashisms.dpatch by Jordi Mallach # # DP: Use /bin/bash, not /bin/sh so it works with /bin/sh -> dash. # DP: Fix a bunch of bashisms and gawkisms. # DP: Adapt alsconf to Debian needs, by calling the correct scripts # DP: and writing configuration where it belongs. . debian/patches/patch-opts if [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $patch_opts < $0;; -unpatch) patch $patch_opts -R < $0;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1;; esac exit 0 --- alsa-driver-0.9.0rc6+2.orig/utils/alsaconf 2003-01-31 17:50:27.000000000 +0100 +++ alsa-driver-0.9.0rc6+2/utils/alsaconf 2003-01-31 17:58:21.000000000 +0100 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # ALSA Configurator # @@ -25,7 +25,14 @@ exit 1 fi -function usage() { +# Check for GNU/Linux distributions +if [ -f /etc/debian_version ]; then + distribution="debian" +elif [ -f /etc/redhat-release ]; then + distribution="redhat" +fi + +usage() { echo "ALSA configurator version $version" echo "usage: alsaconf [options]" echo " -l|--legacy check only legacy non-isapnp cards" @@ -54,8 +61,8 @@ alsa_gid=0 alsa_mode=0666 legacy_probe_card="" -LOGFILE=/tmp/alsaconf.log -TESTSOUND=/usr/share/sounds/alsa/test.wav +LOGFILE="/tmp/alsaconf.log" +TESTSOUND="/usr/share/sounds/alsa/test.wav" try_all_combination=0 while true ; do @@ -96,7 +103,9 @@ alsa_device_opts="$alsa_device_opts ${mpfx}device_mode=$alsa_mode" fi -if [ -e /etc/modules.conf ]; then +if [ "$distribution" = "debian" ]; then + cfgfile="/etc/alsa/modutils/0.9" +elif [ -e /etc/modules.conf ]; then cfgfile="/etc/modules.conf" elif [ -e /etc/conf.modules ]; then cfgfile="/etc/conf.modules" @@ -120,7 +129,7 @@ DIALOG=dialog else if which whiptail > /dev/null; then - function whiptail_wrapper() { + whiptail_wrapper() { X1="$1" X2="$2" if [ $1 = --yesno ]; then @@ -146,7 +155,7 @@ # # remove entries by yast2 sound configurator # -function remove_y2_block() { +remove_y2_block() { awk ' /^alias sound-slot-[0-9]/ { next } /^alias char-major-116 / { next } @@ -166,7 +175,7 @@ # found strings to search for in WriteConfModules, # from sndconfig 0.68-4 (rawhide version) -function remove_sndconfig_block() { +remove_sndconfig_block() { awk ' /^alias sound-slot-0/ { modulename = $3 ; next } /^alias sound-slot-[0-9]/ { next } @@ -192,18 +201,18 @@ # # remove the previous configuration by alsaconf # -function remove_ac_block() { +remove_ac_block() { awk '/^'"$ACB"'$/,/^'"$ACE"'$/ { next } { print }' } # # set default mixer volumes # -function mixer() { +mixer() { amixer set "$1" "$2" unmute >/dev/null 2>&1 } -function set_mixers() { +set_mixers() { mixer Master 75% mixer PCM 90% mixer Synth 90% @@ -224,7 +233,7 @@ # INTRO -function intro() { +intro() { $DIALOG --msgbox " ALSA CONFIGURATOR v$version @@ -240,7 +249,7 @@ } # FAREWELL -function farewell() { +farewell() { $DIALOG --msgbox " $* @@ -249,7 +258,7 @@ will prepare the card for playing now. - Now I'll run 'alsasound start', then I'll use + Now I'll run '`basename $rcalsasound` start', then I'll use amixer to raise the default volumes. You can change the volume later via a mixer program such as alsamixer or gamix. @@ -258,7 +267,7 @@ } # Exit function -function acex() { +acex() { cleanup clear exit $1 @@ -267,7 +276,10 @@ # # search for alsasound init script # -if [ -x /etc/init.d/alsasound ]; then + +if [ "$distribution" = "debian" ]; then + rcalsasound=/etc/init.d/alsa +elif [ -x /etc/init.d/alsasound ]; then rcalsasound=/etc/init.d/alsasound elif [ -x /usr/sbin/rcalsasound ]; then rcalsasound=/usr/sbin/rcalsasound @@ -310,7 +322,7 @@ trap cleanup 0 # convert ISA PnP id number to string 'ABC' -function convert_isapnp_id () { +convert_isapnp_id () { let a='('$1'>>2) & 0x3f' let b='(('$1' & 0x03) << 3) | (('$1' >> 13) & 0x07)' let c='('$1'>> 8) & 0x1f' @@ -319,14 +331,14 @@ } # swap high & low bytes -function swap_number () { +swap_number () { let v='(('$1'>>8)&0xff)|(('$1'&0xff)<<8)' printf "%04x" $v } # build card database # build_card_db filename -function build_card_db () { +build_card_db () { MODDIR=/lib/modules/`uname -r` last_driver="" echo -n > $1 @@ -363,7 +375,7 @@ # # probe cards # -function probe_cards () { +probe_cards () { test -r /proc/isapnp || /sbin/modprobe isapnp >/dev/null 2>&1 test -r /proc/isapnp || /sbin/modprobe isa-pnp >/dev/null 2>&1 if [ -r /proc/isapnp ]; then @@ -403,14 +415,14 @@ print perc; idx++; } -/^[[:space:]]*PCI: /{ +/^[<literal space><literal tab>]*PCI: /{ gsub(/0x/, ""); gsub(/=/, ":"); x = sprintf ("/sbin/lspci -n | grep '"'Class 0401'"' | grep %s", $2); if (system (x) == 0) printf "%s %s\n", $2, driver >>"'"$FOUND"'" } -/^[[:space:]]*ISAPNP: /{ +/^[<literal space><literal tab>]*ISAPNP: /{ gsub(/=.*/, ""); x = sprintf ("grep '\''^Card [0-9] .%s:'\'' '"$DUMP"'", $2); if (system (x) == 0) @@ -434,7 +446,7 @@ # # look for a descriptive device name from the given device id # -function find_device_name () { +find_device_name () { if expr "$1" : '[0-9a-f][0-9a-f][0-9a-f][0-9a-f]:[0-9a-f][0-9a-f][0-9a-f][0-9a-f]' >/dev/null; then /sbin/lspci -d $1 | sed -e 's/^..:..\.. Multimedia audio controller: //g' return @@ -449,7 +461,7 @@ # # configure and try test sound # -function ac_config_card () { +ac_config_card () { CARD_DRIVER=snd-$1 CARD_OPTS="${*:2}" @@ -526,9 +538,14 @@ fi farewell "OK, driver $CARD_DRIVER is configured." - echo Loading driver.. + clear + if [ "$distribution" = "debian" ]; then + echo Running update-modules... + update-modules + fi + echo Loading driver... $rcalsasound start - echo Setting default volumes.. + echo Setting default volumes... if [ -x /usr/bin/set_default_volume ]; then /usr/bin/set_default_volume -f else @@ -569,7 +586,7 @@ # probe legacy ISA cards # -function check_dma_avail () { +check_dma_avail () { if [ -r /proc/dma ]; then list="" for dma in $*; do @@ -579,7 +596,7 @@ fi } -function check_irq_avail () { +check_irq_avail () { if [ -r /proc/interrupts ]; then list="" for irq in $*; do @@ -591,7 +608,7 @@ # check playback # return 0 - OK, 1 - NG, 2 - not working (irq/dma problem) -function ac_try_load () { +ac_try_load () { echo "alias char-major-116 snd alias snd-card-0 snd-card-$1 options snd ${mpfx}major=116 ${mpfx}cards_limit=1 @@ -631,7 +648,7 @@ # check capture # return 0 - OK, 1 - NG, 2 - not working (irq/dma problem) # ac_try_capture card duplex opts -function ac_try_capture () { +ac_try_capture () { echo "alias char-major-116 snd alias snd-card-0 snd-$1 options snd ${mpfx}major=116 ${mpfx}cards_limit=1 @@ -674,7 +691,7 @@ fi } -function get_dma_pair () { +get_dma_pair () { case $1 in 0) echo 1 3 5;; @@ -693,7 +710,7 @@ # ac_try_irq card opts irqs... # return 0 - OK, 1 - NG, 2 - not working (dma problem?) # -function ac_try_irq () { +ac_try_irq () { card=$1 opts="$2 ${mpfx}irq=$3" ac_try_load $card $opts >/dev/null 2>&1 @@ -724,7 +741,7 @@ # ac_try_dmas card opts irqs... # return 0 - OK, 1 - NG # -function ac_try_dmas () { +ac_try_dmas () { dma_list=`check_dma_avail 1 0 3 5` for irq in ${*:3}; do for dma1 in $dma_list; do @@ -760,13 +777,13 @@ } # check if the option $2 exists in card §1: set value $3 -function ac_check_option () { +ac_check_option () { if modinfo -p snd-$1 | grep $2 > /dev/null 2>&1 ; then echo "$2=$3" fi } -function ac_try_card_sb8 () { +ac_try_card_sb8 () { card=sb8 irq_list=`check_irq_avail 5 3 9 10 7` for dma8 in `check_dma_avail 1 3`; do @@ -776,7 +793,7 @@ return 1 } -function ac_try_card_sb16 () { +ac_try_card_sb16 () { card=sb16 isapnp=`ac_check_option $card ${mpfx}isapnp 0` opts="$isapnp" @@ -821,7 +838,7 @@ return 1 } -function ac_try_card_es1688 () { +ac_try_card_es1688 () { card=es1688 opts="" irq_list=`check_irq_avail 5 9 10 7` @@ -832,14 +849,14 @@ return 1 } -function ac_try_card_es18xx () { +ac_try_card_es18xx () { card=es18xx opts=`ac_check_option $card ${mpfx}isapnp 0` ac_try_dmas $card "$opts" `check_irq_avail 5 9 10 7` && return 0 return 1 } -function ac_try_card_cs4236 () { +ac_try_card_cs4236 () { card=cs4236 irq_list=`check_irq_avail 5 7 9 11 12 15` isapnp=`ac_check_option $card ${mpfx}isapnp 0` @@ -850,7 +867,7 @@ return 1 } -function ac_try_card_cs4232 () { +ac_try_card_cs4232 () { card=cs4232 irq_list=`check_irq_avail 5 7 9 11 12 15` isapnp=`ac_check_option $card ${mpfx}isapnp 0` @@ -861,7 +878,7 @@ return 1 } -function ac_try_card_cs4231 () { +ac_try_card_cs4231 () { card=cs4231 irq_list=`check_irq_avail 5 7 9 11 12 15` for port in 0x530 0x534; do @@ -871,7 +888,7 @@ return 1 } -function ac_try_card_opl3sa2 () { +ac_try_card_opl3sa2 () { card=opl3sa2 irq_list=`check_irq_avail 5 9 3 1 11 12 15 0` isapnp=`ac_check_option $card ${mpfx}isapnp 0` @@ -884,7 +901,7 @@ return 1 } -function ac_config_legacy () { +ac_config_legacy () { $DIALOG --title "WARNING" --yesno " Probing legacy ISA cards might make
#! /bin/sh -e # 06_isa_build.dpatch by Steve Kowalik # # DP: Don't build ISA sound modules if CONFIG_ISA is n. . debian/patches/patch-opts if [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $patch_opts < $0;; -unpatch) patch $patch_opts -R < $0;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1;; esac exit 0 --- alsa-driver/Makefile~ 2003-02-06 23:00:11.000000000 +1100 +++ alsa-driver/Makefile 2003-02-06 23:00:48.000000000 +1100 @@ -37,7 +37,7 @@ endif endif -SUBDIRS += acore i2c drivers isa synth +SUBDIRS += acore i2c drivers synth ifeq (y,$(CONFIG_PCI)) SUBDIRS += pci endif @@ -56,6 +56,9 @@ ifeq (y,$(CONFIG_PCMCIA)) SUBDIRS += pcmcia endif +ifeq (y,$(CONFIG_ISA)) +SUBDIRS += isa +endif CSUBDIRS += include test utils .PHONY: all
msg06355/pgp00000.pgp
Description: PGP signature