summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <eradicator@gentoo.org>2004-06-08 02:34:45 +0000
committerJeremy Huddleston <eradicator@gentoo.org>2004-06-08 02:34:45 +0000
commit331d5b72e9fa70ab3731e02c28151bd2b48171b1 (patch)
tree33cd3062d7418d00ecf86be028f3979d9f7ee410 /media-sound/alsa-utils
parentstable on amd64 (diff)
downloadhistorical-331d5b72e9fa70ab3731e02c28151bd2b48171b1.tar.gz
historical-331d5b72e9fa70ab3731e02c28151bd2b48171b1.tar.bz2
historical-331d5b72e9fa70ab3731e02c28151bd2b48171b1.zip
Small beautification changes to init script.
Diffstat (limited to 'media-sound/alsa-utils')
-rw-r--r--media-sound/alsa-utils/ChangeLog5
-rw-r--r--media-sound/alsa-utils/Manifest22
-rw-r--r--media-sound/alsa-utils/files/alsasound200
3 files changed, 130 insertions, 97 deletions
diff --git a/media-sound/alsa-utils/ChangeLog b/media-sound/alsa-utils/ChangeLog
index 24028276a059..f4511e8f6297 100644
--- a/media-sound/alsa-utils/ChangeLog
+++ b/media-sound/alsa-utils/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for media-sound/alsa-utils
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/ChangeLog,v 1.55 2004/05/31 05:00:04 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/ChangeLog,v 1.56 2004/06/08 02:34:45 eradicator Exp $
+
+ 07 Jun 2004; Jeremy Huddleston <eradicator@gentoo.org> files/alsasound:
+ Small beautification changes to init script.
*alsa-utils-1.0.5 (30 May 2004)
diff --git a/media-sound/alsa-utils/Manifest b/media-sound/alsa-utils/Manifest
index 914729f32783..23b52b861b19 100644
--- a/media-sound/alsa-utils/Manifest
+++ b/media-sound/alsa-utils/Manifest
@@ -1,15 +1,15 @@
-MD5 27c2e4580bbf6205adcea7729a5d8034 alsa-utils-0.9.2.ebuild 918
-MD5 c01e2ebca94ad9bec046fa1892d20a1d alsa-utils-1.0.4.ebuild 1834
-MD5 13a5bd581f45f973053558d110a9d5a3 alsa-utils-0.9.0_rc2.ebuild 933
-MD5 6f3ee27370fe01f303df374274ea86c8 alsa-utils-1.0.3.ebuild 1719
-MD5 02f563a274eed85780c02580dba6ee1d alsa-utils-0.9.8.ebuild 1771
-MD5 72d78c6d9aa3ed694a7b2fac133e97f8 alsa-utils-0.5.10-r8.ebuild 975
-MD5 9879fc3facfe9a30b132ccc7c2ae1f38 alsa-utils-1.0.5.ebuild 1737
-MD5 7325a7d14057751a3e06d95cdd686610 ChangeLog 9453
+MD5 0a3ad1402c1a17018d3c37b34fbd4b7d alsa-utils-0.9.2.ebuild 794
+MD5 e7a2004346c34727c16f0428b5c4034c alsa-utils-1.0.4.ebuild 1801
+MD5 c7def99ae6079be0bcefcf120fbf9af5 alsa-utils-0.9.0_rc2.ebuild 827
+MD5 22cca6913d00252a0020a67365c7f098 alsa-utils-1.0.3.ebuild 1686
+MD5 262115edcd0bc73f4d4a4a4725a13948 alsa-utils-0.9.8.ebuild 1645
+MD5 21cca59866032a8911f3390d5d787c11 alsa-utils-0.5.10-r8.ebuild 941
+MD5 90c029af926527eba22793e077d88341 alsa-utils-1.0.5.ebuild 1704
+MD5 a3a8286be8297480c8fa34b512dffd7a ChangeLog 9574
MD5 a1eaeb2ae801daeb712c90c060e922dc metadata.xml 158
-MD5 849ba596e61a5b0ea0ef6b91726737be alsa-utils-1.0.2.ebuild 1726
+MD5 b2717443eb0404be2e474f4ecf70c82a alsa-utils-1.0.2.ebuild 1693
MD5 d331cfdb897b5cd5b0a3eca37ff47b9b files/alsa-utils-1.0.4-alsaconf.patch 1182
-MD5 f8aff370f9c369682ac793f5b3f4886e files/alsa-modules.conf-rc 1158
+MD5 4d91cb34977dfd90022f085560ea00a9 files/alsa-modules.conf-rc 1157
MD5 59a93bf64737644e4001cbb6ad5387b4 files/digest-alsa-utils-0.9.0_rc2 71
MD5 55414f65ffecf5f44fa35295dae8bf19 files/digest-alsa-utils-0.9.2 69
MD5 c393c831cb8bcda375cd4690e85b3495 files/digest-alsa-utils-0.9.8 69
@@ -20,4 +20,4 @@ MD5 c6aff50de146998a737abed55b3dd9f1 files/digest-alsa-utils-1.0.5 69
MD5 f20045fc395596290d5a6d807ba311fc files/alsa-utils-0.5.10-aplay-destdir.diff 626
MD5 dcc66ee6a9db24006a4158e2be0da3f2 files/alsa-0.5.10 392
MD5 a82c4c173c1d617bae9967438c659bac files/digest-alsa-utils-0.5.10-r8 70
-MD5 05244869ff11048008b6e9549fbf69d8 files/alsasound 5476
+MD5 09d13d4431ea046e482470e70cc55130 files/alsasound 5753
diff --git a/media-sound/alsa-utils/files/alsasound b/media-sound/alsa-utils/files/alsasound
index 5bdb1d8875ac..22b80ef69062 100644
--- a/media-sound/alsa-utils/files/alsasound
+++ b/media-sound/alsa-utils/files/alsasound
@@ -1,5 +1,5 @@
#!/sbin/runscript
-# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsasound,v 1.12 2004/03/31 03:10:07 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsasound,v 1.13 2004/06/08 02:34:45 eradicator Exp $
#
# Gentoo users: add this script to 'boot' run level.
# ==================================================
@@ -31,6 +31,10 @@
# John Mylchreest <johnm@gentoo.org>
# July 29, 2003
+# Rewritten for better support for built-in drivers
+# Jeremy Huddleston <eradicator@gentoo.org>
+# 2004.06.02
+
alsactl=/usr/sbin/alsactl
asoundcfg=/etc/asound.state
aconnect=/usr/bin/aconnect
@@ -43,74 +47,96 @@ depend() {
provide alsa-modules
}
-start() {
- if [ -d /proc/asound ] && [ -z "$(grep ' no soundcards ' /proc/asound/cards)" ] ; then
- ebegin "ALSA Detected"
- else
- ebegin "Loading ALSA drivers"
-
- DRIVERS="$(modprobe -c | grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | awk '{print $3}')"
-
- if modprobe -c | grep -q "snd.*oss$" ; then
- # Test for use of OSS
- einfo "Using ALSA OSS emulation"
- OSS="$(modprobe -l | grep "snd.*oss" | sed -e "s:\/.*\/::" -e "s:\..*::")"
- # Add oss modules to list
- for i in ${OSS}
- do
- DRIVERS="${i} ${DRIVERS}"
- done
- fi
-
- # Fall back on the automated aliases if we don't have ALSA configured properly...
- if [ -z "${DRIVERS}" ]; then
- ewarn "Could not detect custom ALSA settings. Loading all detected alsa drivers."
- DRIVERS="$(modprobe -c | grep pci: | awk '{ print $3 }' | grep snd.* | sort | uniq)"
- fi
-
- [ -z "${DRIVERS}" ] && eerror "Unable to find any ALSA drivers. Have you compiled alsa-drivers correctly?"
+load_modules() {
+ DRIVERS="$(modprobe -c | grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | awk '{print $3}')"
- for DRIVER in ${DRIVERS}
+ if modprobe -c | grep -q "snd.*oss$" ; then
+ # Test for use of OSS
+ einfo "Using ALSA OSS emulation"
+ OSS="$(modprobe -l | grep "snd.*oss" | sed -e "s:\/.*\/::" -e "s:\..*::")"
+ # Add oss modules to list
+ for i in ${OSS}
do
- if [ ! "${DRIVER}" = off ] &&
- [ -z `cut -d' ' -f1 /proc/modules | egrep "^${DRIVER}\$"` ] &&
- [ -z `cut -d' ' -f1 /proc/modules | egrep "^${DRIVER//-/_}\$"` ]; then
- einfo "Loading: ${DRIVER}"
- /sbin/modprobe ${DRIVER}
- fi
+ DRIVERS="${i} ${DRIVERS}"
done
+ fi
- sleep 1
-
- if [ -f /proc/asound/seq/drivers ] ; then
- # We want to ensure snd-seq is loaded as it is needed for things like timidity even if
- # we don't use a real sequencer.
- SEQUENCERS="snd-seq $(awk -F, '$2~/^empty$/ {print $1}' /proc/asound/seq/drivers)"
- for SEQUENCER in ${SEQUENCERS}
- do
- if [ -z `cut -d' ' -f1 /proc/modules | egrep "^${SEQUENCER}\$"` ] &&
- [ -z `cut -d' ' -f1 /proc/modules | egrep "^${SEQUENCER//-/_}\$"` ]; then
- einfo "Loading: ${SEQUENCER}"
- [ -n "${SEQUENCER}" ] && /sbin/modprobe ${SEQUENCER}
- fi
- done
+ # Fall back on the automated aliases if we don't have ALSA configured properly...
+ if [ -z "${DRIVERS}" ]; then
+ ewarn "Could not detect custom ALSA settings. Loading all detected alsa drivers."
+ DRIVERS="$(modprobe -c | grep pci: | awk '{ print $3 }' | grep snd.* | sort | uniq)"
+ fi
+
+ [ -z "${DRIVERS}" ] && eerror "Unable to find any ALSA drivers. Have you compiled alsa-drivers correctly?"
+
+ for DRIVER in ${DRIVERS}
+ do
+ if [ ! "${DRIVER}" = off ] &&
+ [ -z `cut -d' ' -f1 /proc/modules | egrep "^${DRIVER}\$"` ] &&
+ [ -z `cut -d' ' -f1 /proc/modules | egrep "^${DRIVER//-/_}\$"` ]; then
+ einfo "Loading: ${DRIVER}"
+ /sbin/modprobe ${DRIVER}
fi
+ done
- einfo "Running card-dependent scripts"
- for DRIVER in ${DRIVERS}
+ sleep 1
+
+ if [ -f /proc/asound/seq/drivers ] ; then
+ # We want to ensure snd-seq is loaded as it is needed for things like timidity even if
+ # we don't use a real sequencer.
+ SEQUENCERS="snd-seq $(awk -F, '$2~/^empty$/ {print $1}' /proc/asound/seq/drivers)"
+ for SEQUENCER in ${SEQUENCERS}
do
- TMP=${DRIVER##snd-}
- TMP=${TMP##snd_}
- [ -x "${alsascrdir}/${TMP}" ] && ${alsascrdir}/${TMP}
+ if [ -z `cut -d' ' -f1 /proc/modules | egrep "^${SEQUENCER}\$"` ] &&
+ [ -z `cut -d' ' -f1 /proc/modules | egrep "^${SEQUENCER//-/_}\$"` ]; then
+ einfo "Loading: ${SEQUENCER}"
+ [ -n "${SEQUENCER}" ] && /sbin/modprobe ${SEQUENCER}
+ fi
done
-
- [ ! -d /proc/asound ] && eerror "ERROR: Failed to load necessary drivers"
fi
+
+ einfo "Running card-dependent scripts"
+ for DRIVER in ${DRIVERS}
+ do
+ TMP=${DRIVER##snd-}
+ TMP=${TMP##snd_}
+ [ -x "${alsascrdir}/${TMP}" ] && ${alsascrdir}/${TMP}
+ done
+
+ [ ! -d /proc/asound ] && eerror "ERROR: Failed to load necessary drivers"
+}
+
+unload_modules() {
+ LOADED_MODULES="$(/sbin/lsmod | grep -E "^snd" | awk '{print $1}')"
+ for MODULE in ${LOADED_MODULES}
+ do
+ /sbin/rmmod ${MODULE} 2> /dev/null
+ done
+ /sbin/rmmod soundcore 2> /dev/null
+ /sbin/rmmod gameport 2> /dev/null
+}
+
+terminate() {
+ #
+ # Kill processes holding open sound devices
+ #
+ # DEVS=`find /dev/ -follow -type c -maxdepth 1 -print 2>/dev/null | xargs ls -dils | grep "1*1[46]," | cut -d: -f2 | cut -d" " -f2; echo /proc/asound/dev/*`
+ ossdevs="/dev/admmidi? /dev/adsp? /dev/amidi? /dev/audio* /dev/dmfm* \
+ /dev/dmmidi? /dev/dsp* /dev/dspW* /dev/midi0? /dev/mixer? /dev/music \
+ /dev/patmgr? /dev/sequencer* /dev/sndstat"
+ alsadevs="/proc/asound/dev/* /dev/sound/* /dev/snd/*"
+ fuser -k $ossdevs $alsadevs 2> /dev/null 1>/dev/null
- einfo "Restoring Mixer Levels"
+ #
+ # remove all sequencer connections if any
+ #
+ [ -f /proc/asound/seq/clients -a -x $aconnect ] && $aconnect --removeall
+}
+
+restore_mixer() {
if [ ! -r $asoundcfg ]; then
ewarn "No mixer config in $asoundcfg, you have to unmute your card!"
- eend 1
+ return 1
elif [ -x $alsactl ]; then
CARDS="$(cat /proc/asound/cards | awk '/: / { print $1 }')"
for CARDNUM in ${CARDS}
@@ -123,8 +149,33 @@ start() {
done
else
eerror -e "ERROR: Cannot find alsactl, did you forget to install media-sound/alsa-utils?"
- eend 1
+ return 1
+ fi
+
+ return 0
+}
+
+save_mixer() {
+ if [ -x $alsactl ]; then
+ $alsactl -f $asoundcfg store
+ else
+ eerror -e "ERROR: Cannot find alsactl, did you forget to install media-sound/alsa-utils?"
+ return 1
+ fi
+
+ return 0
+}
+
+start() {
+ if [ -d /proc/asound ] && [ -z "$(grep ' no soundcards ' /proc/asound/cards)" ] ; then
+ ebegin "ALSA Detected"
+ else
+ ebegin "Loading ALSA drivers"
+ load_modules
fi
+
+ einfo "Restoring Mixer Levels"
+ restore_mixer
eend 0
}
@@ -136,38 +187,17 @@ stop() {
ebegin "Unloading ALSA"
terminate
+
einfo "Storing ALSA Mixer Levels"
- if [ -x $alsactl ]; then
- $alsactl -f $asoundcfg store
- else
- eerror -e "ERROR: Cannot find alsactl, did you forget to install media-sound/alsa-utils?"
+ if ! save_mixer; then
eend 1
fi
- LOADED_MODULES="$(/sbin/lsmod | grep -E "^snd" | awk '{print $1}')"
einfo "Unloading modules"
- for MODULE in ${LOADED_MODULES}
- do
- /sbin/rmmod ${MODULE} 2> /dev/null
- done
- /sbin/rmmod soundcore 2> /dev/null
- /sbin/rmmod gameport 2> /dev/null
+ if ! unload_modules; then
+ eend 1
+ fi
+
eend 0
}
-terminate() {
- #
- # Kill processes holding open sound devices
- #
- # DEVS=`find /dev/ -follow -type c -maxdepth 1 -print 2>/dev/null | xargs ls -dils | grep "1*1[46]," | cut -d: -f2 | cut -d" " -f2; echo /proc/asound/dev/*`
- ossdevs="/dev/admmidi? /dev/adsp? /dev/amidi? /dev/audio* /dev/dmfm* \
- /dev/dmmidi? /dev/dsp* /dev/dspW* /dev/midi0? /dev/mixer? /dev/music \
- /dev/patmgr? /dev/sequencer* /dev/sndstat"
- alsadevs="/proc/asound/dev/* /dev/sound/* /dev/snd/*"
- fuser -k $ossdevs $alsadevs 2> /dev/null 1>/dev/null
-
- #
- # remove all sequencer connections if any
- #
- [ -f /proc/asound/seq/clients -a -x $aconnect ] && $aconnect --removeall
-}