diff options
author | Tony Vroon <chainsaw@gentoo.org> | 2009-02-21 16:18:28 +0000 |
---|---|---|
committer | Tony Vroon <chainsaw@gentoo.org> | 2009-02-21 16:18:28 +0000 |
commit | 08723c6ea299ad8ca5397a740f2e669689a7f511 (patch) | |
tree | deace47257e7ae42d6aa5391b6151b2a46c39f01 /media-sound/alsa-utils | |
parent | Version bump (diff) | |
download | historical-08723c6ea299ad8ca5397a740f2e669689a7f511.tar.gz historical-08723c6ea299ad8ca5397a740f2e669689a7f511.tar.bz2 historical-08723c6ea299ad8ca5397a740f2e669689a7f511.zip |
Incorporate changes suggested by Dennis <lindevel@gmx.net> to repair the module loading regexes after module-init-tools 3.6 broke them. Closes bug #258930.
Package-Manager: portage-2.1.6.7/cvs/Linux x86_64
Diffstat (limited to 'media-sound/alsa-utils')
-rw-r--r-- | media-sound/alsa-utils/ChangeLog | 10 | ||||
-rw-r--r-- | media-sound/alsa-utils/Manifest | 14 | ||||
-rw-r--r-- | media-sound/alsa-utils/alsa-utils-1.0.17.ebuild | 4 | ||||
-rw-r--r-- | media-sound/alsa-utils/alsa-utils-1.0.19-r1.ebuild | 91 | ||||
-rw-r--r-- | media-sound/alsa-utils/files/alsasound-1.0.19-r1.initd | 241 |
5 files changed, 351 insertions, 9 deletions
diff --git a/media-sound/alsa-utils/ChangeLog b/media-sound/alsa-utils/ChangeLog index eb5286d3fc8f..c34ca8c0ffec 100644 --- a/media-sound/alsa-utils/ChangeLog +++ b/media-sound/alsa-utils/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-sound/alsa-utils # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/ChangeLog,v 1.255 2009/01/19 17:21:11 chainsaw Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/ChangeLog,v 1.256 2009/02/21 16:18:27 chainsaw Exp $ + +*alsa-utils-1.0.19-r1 (21 Feb 2009) + + 21 Feb 2009; <chainsaw@gentoo.org> +files/alsasound-1.0.19-r1.initd, + +alsa-utils-1.0.19-r1.ebuild: + Incorporate changes suggested by Dennis <lindevel@gmx.net> to repair the + module loading regexes after module-init-tools 3.6 broke them. Closes bug + #258930. *alsa-utils-1.0.19 (19 Jan 2009) diff --git a/media-sound/alsa-utils/Manifest b/media-sound/alsa-utils/Manifest index 4811a558b3b1..2b300b35c895 100644 --- a/media-sound/alsa-utils/Manifest +++ b/media-sound/alsa-utils/Manifest @@ -11,6 +11,7 @@ AUX alsa-utils-1.0.14_rc2-seq.patch 1581 RMD160 66b1abc9b0cf810a5d51ae4878754d7f AUX alsa-utils-1.0.15_rc1-seq.patch 1660 RMD160 5dc64e594f8f295eee21ea3152b83e9c9d13255c SHA1 ffa5d1ec3ec8f42bb27914e5f481780be7f1e71b SHA256 654b0df3b4fe026e502914142a8cefe983fd72c23486447e58a36356434a2093 AUX alsa-utils-1.0.17-seq.patch 1633 RMD160 8363501d3b7a52d95105cf43cb2b9cccf380f112 SHA1 29a69aa7bd8cc08a1d369ff0e16700d5c613a86e SHA256 a9c2df9b16c9907c4388513739db939ffe31a49b61e3c5d93b4b8c1bf3038e78 AUX alsasound-1.0.10_rc2 7183 RMD160 7c1368905cc0fbe266e840f358a3502bbedb6d9c SHA1 70260ad940df48464a4089f014b73956a690eb3e SHA256 f9f51f35e0fafb87ac9d5f2b48835142e34bcaecc30eb28c92e2af6b16d4c083 +AUX alsasound-1.0.19-r1.initd 6868 RMD160 9e7e9ac4a2c2e98def8c1e5498bb6631fd269a9d SHA1 c5a716afde0da422d7d3a3160f5a21024f7ea660 SHA256 b9d53242b7aae9b6517677b65ff4d9412fb347769adc8f9efb7d902b28731130 AUX alsasound-1.0.19.confd 1012 RMD160 42d0abf97bb01236bcfb7f1cf758696844550a84 SHA1 d0b1ae65379cb8f54a9dc1b9bed9229c5cd9c187 SHA256 3740d675d0c403530a71813472332decbfe9620545e4c248511cacd89b85f35b AUX alsasound-1.0.19.initd 6847 RMD160 9d89c8a441c30e08a9f808ebe1279bc786801803 SHA1 b131425b10e163ebd5c074a24973c689e7299780 SHA256 b9e0c52d5154abf3491728b50a2493b5e490251510eb436a3830e49270d97160 AUX alsasound-init-20070218 7657 RMD160 283ed673ec6f61c3aac77957393bd84ba05ff8d2 SHA1 16105ee86f8f208526eda4ce8ec6ff6b8206bedf SHA256 0330f7c58719e5669e39224be60bb6c2a1ba09b138801785655ffd245dc9d1e8 @@ -26,15 +27,16 @@ EBUILD alsa-utils-1.0.14.ebuild 2200 RMD160 178cc9f41c46240af2e0b8767d60f3ee5771 EBUILD alsa-utils-1.0.15.ebuild 2260 RMD160 523d2b8b4d40f8faff9b64a389e0a96c27fcb29f SHA1 22f209ad3a87bf1623b78aa9da6703f376adfa99 SHA256 acbf637356394e9ee1a818b9a12897310e1451d8eda757713347ef072d51ddce EBUILD alsa-utils-1.0.16-r2.ebuild 2773 RMD160 9dc2aee3e0a6538e194dfffcf775d5ca49b89c26 SHA1 a9d625ae413f58f9cadf7afb7fa3db65e0d5af41 SHA256 870c2fcd061fcaab9d24699a97deabc5a90d8e5c9fcee70c7bdabea8e56c840e EBUILD alsa-utils-1.0.16.ebuild 2318 RMD160 1eef70f21dfddd89a0e6eb923d4a26ea4c4e975d SHA1 8240b21979a6003142d7bac366679838642b9a48 SHA256 f523fadd038c96147b7511131218ddf3c315ad8ed2248e22170a07b379745f0e -EBUILD alsa-utils-1.0.17.ebuild 2703 RMD160 cd750c1bde63844df222d644c01563a0bcb3630e SHA1 202d5d557e77932ff1822335a35fe03ccf9341a8 SHA256 614b818415b945c0f95964dc7c8bf602ddfbffd4b38de2aaf531d9288411750d +EBUILD alsa-utils-1.0.17.ebuild 2705 RMD160 f9b81fde664f347967e9f9cbc552f03293ac7417 SHA1 7ed44777a402be710c7190cb899a28f3ec0eb729 SHA256 e3beb3b653565ae092e7a9aa9d4ff25e6e4da754d3014bbdc2cf552e4ce9400b EBUILD alsa-utils-1.0.18.ebuild 2682 RMD160 811d975a1b26b62ccb1f7a2d5557e4696b1c895d SHA1 b177cc35b99e09710753fbc434ccb51a48967b1a SHA256 b838d3c081aaa2412f540cec55d839ecb3b8c267aae5830745798a475a64dba0 +EBUILD alsa-utils-1.0.19-r1.ebuild 2841 RMD160 cc27bf79c72ef3fb116a11daa5279278e570addb SHA1 837ad0e002eb24b6d4d8b6d97d7e81e858765da7 SHA256 c61054f4b20abef83dcb6812725f2de5b41abf4bcfccd77ce835977b2fcc56df EBUILD alsa-utils-1.0.19.ebuild 2836 RMD160 6856cbf7613d372fc1e14109137bed92cf2cc379 SHA1 595deea2369f2ad24fbb21c9efdbfe98196e9919 SHA256 59187bcffabf236912fc43d70fe485daf26e8e65cfbee2f584c33d738b09ec2b -MISC ChangeLog 38624 RMD160 0d91c5a51954c2098f8a593d21d41de5c61e2456 SHA1 da2b6880dfb0d1d53848d5dd5ca10ec11913db99 SHA256 6ddae231445c434417113dadd0b3ea31a99f5b8cee2f509b37e973662d8dda49 +MISC ChangeLog 38927 RMD160 04805554a9fd5b59773f5da37f2cd4d0aa4bc0d7 SHA1 c11e587afa3c0c9b349a0c61608faf43834c1531 SHA256 3fae11963156e3abb084cd2dab58a8e4c32d5b33f1551f37fbfc4e113825d932 MISC metadata.xml 313 RMD160 268cddbeb91eb55d326ff5736fe51e704b22db82 SHA1 2a144ccf9aa1c3789e7b25cd0e9083c5ce345b67 SHA256 4777a7e011441b62b0e6db0b35035fa99d36a0657aac31f406c7cbeaef906801 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.9 (GNU/Linux) +Version: GnuPG v2.0.10 (GNU/Linux) -iEYEARECAAYFAkl0tg0ACgkQp5vW4rUFj5rjVgCfSOC0UQKNW4dm06EOryErzWZL -d9oAoLjxgLJat87zo3nkNyvAWOkBEkbT -=au46 +iEYEARECAAYFAkmgKb4ACgkQp5vW4rUFj5ohLgCgwTe2Unk9+fg3YNL3u4uZAIQq +jMgAnj4OD7TdGBSXSjZjdbqhLjAZJ9vj +=z4KF -----END PGP SIGNATURE----- diff --git a/media-sound/alsa-utils/alsa-utils-1.0.17.ebuild b/media-sound/alsa-utils/alsa-utils-1.0.17.ebuild index bda83c3bbace..44f7d8e990b2 100644 --- a/media-sound/alsa-utils/alsa-utils-1.0.17.ebuild +++ b/media-sound/alsa-utils/alsa-utils-1.0.17.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2008 Gentoo Foundation +# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/alsa-utils-1.0.17.ebuild,v 1.8 2008/12/21 15:03:35 nixnut Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/alsa-utils-1.0.17.ebuild,v 1.9 2009/02/21 16:18:27 chainsaw Exp $ inherit eutils autotools diff --git a/media-sound/alsa-utils/alsa-utils-1.0.19-r1.ebuild b/media-sound/alsa-utils/alsa-utils-1.0.19-r1.ebuild new file mode 100644 index 000000000000..263d329abc22 --- /dev/null +++ b/media-sound/alsa-utils/alsa-utils-1.0.19-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/alsa-utils-1.0.19-r1.ebuild,v 1.1 2009/02/21 16:18:27 chainsaw Exp $ + +inherit eutils + +MY_P="${P/_rc/rc}" + +DESCRIPTION="Advanced Linux Sound Architecture Utils (alsactl, alsamixer, etc.)" +HOMEPAGE="http://www.alsa-project.org/" +SRC_URI="mirror://alsaproject/utils/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0.9" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86" +IUSE="nls midi minimal" + +DEPEND=">=sys-libs/ncurses-5.1 + dev-util/dialog + >=media-libs/alsa-lib-${PV} + app-text/xmlto" +RDEPEND="${DEPEND} + virtual/modutils + !minimal? ( sys-apps/pciutils )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if use midi && ! built_with_use --missing true media-libs/alsa-lib midi; then + eerror "" + eerror "To be able to build alsa-utils with midi support you need" + eerror "to have built media-libs/alsa-lib with midi USE flag." + die "Missing midi USE flag on media-libs/alsa-lib" + fi +} + +src_compile() { + econf $(use_enable nls) \ + $(use_enable midi sequencer) \ + || die "configure failed" + + emake || die "make failed" +} + +pkg_preinst() { + if [[ -a /etc/modules.d/alsa ]] && [[ ! -a /etc/modprobe.d/alsa ]]; then + elog "Moving old alsa configuration in modules.d to new" + elog "location in modprobe.d in /etc/" + mv "${ROOT}/etc/modules.d/alsa" "${ROOT}/etc/modprobe.d/alsa" + fi +} + +src_install() { + local ALSA_UTILS_DOCS="ChangeLog README TODO + seq/aconnect/README.aconnect + seq/aseqnet/README.aseqnet" + + emake DESTDIR="${D}" install || die "Installation Failed" + + dodoc ${ALSA_UTILS_DOCS} || die + newdoc alsamixer/README README.alsamixer || die + + newinitd "${FILESDIR}/alsasound-1.0.19-r1.initd" alsasound + newconfd "${FILESDIR}/alsasound-1.0.19.confd" alsasound + insinto /etc/modprobe.d + newins "${FILESDIR}/alsa-modules.conf-rc" alsa + + keepdir /var/lib/alsa +} + +pkg_postinst() { + echo + elog "To take advantage of the init script, and automate the process of" + elog "saving and restoring sound-card mixer levels you should" + elog "add alsasound to the boot runlevel. You can do this as" + elog "root like so:" + elog " # rc-update add alsasound boot" + echo + elog "The script will load ALSA modules, if you choose to use a modular" + elog "configuration. The Gentoo ALSA developers recommend you to build" + elog "your audio drivers into the kernel unless the device is hotpluggable" + elog "or you need to supply specific options (such as model= to HD Audio)." + echo + ewarn "Automated unloading of ALSA modules is deprecated and unsupported." + ewarn "Should you choose to use it, bug reports will not be accepted." + echo + if use minimal; then + ewarn "The minimal use flag disables the dependency on pciutils that" + ewarn "is needed by alsaconf at runtime." + fi +} diff --git a/media-sound/alsa-utils/files/alsasound-1.0.19-r1.initd b/media-sound/alsa-utils/files/alsasound-1.0.19-r1.initd new file mode 100644 index 000000000000..e146b3c233dd --- /dev/null +++ b/media-sound/alsa-utils/files/alsasound-1.0.19-r1.initd @@ -0,0 +1,241 @@ +#!/sbin/runscript +# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsasound-1.0.19-r1.initd,v 1.1 2009/02/21 16:18:28 chainsaw Exp $ +# Copyright 2007,2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +alsastatedir=/var/lib/alsa +alsascrdir=/etc/alsa.d + +opts="save restore" + +depend() { + need localmount + after bootmisc modules isapnp coldplug hotplug +} + +load_modules() { + # List of drivers for each card. + local DRIVERS="$(modprobe -c | sed -n -e 's/^alias \(snd-card-[[:digit:]]\+\) .*/\1/p')" + + # Fall back on the automated aliases if we don't have ALSA configured properly... + if [ -z "${DRIVERS}" ] && \ + ( [ ! -r /proc/asound/cards ] || grep -q ' no soundcards ' /proc/asound/cards 2>/dev/null ) ; then + ewarn "Could not detect custom ALSA settings. Loading all detected alsa drivers." + DRIVERS="$(modprobe -c | sed -n -e '/^alias pci:.* snd.*/ s/^alias pci:[^ ]* \(.*\)/\1/p' | sort | uniq)" + if [ -z "${DRIVERS}" ] ; then + eerror "Unable to find any ALSA drivers. Have you configured your kernel correctly?" + fi + fi + + if [ "${ENABLE_OSS_EMUL}" = "yes" ] ; then + DRIVERS="${DRIVERS} $(modprobe -l | sed -n -r -e '/snd.*oss/ s:^.*/.*/([^/]*).ko$:\1:p')" + fi + + # 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. + DRIVERS="${DRIVERS} $(modprobe -l | sed -n -r -e '/snd.seq\./ s:^.*/.*/([^/]*).ko$:\1:p')" + + # We want to ensure snd-ioctl32 is loaded as it is needed for 32bit + # compatibility + DRIVERS="${DRIVERS} $(modprobe -l | sed -n -r -e '/snd.ioctl32\./ s:^.*/.*/([^/]*).ko$:\1:p')" + + local DRIVER= DMOD= + for DRIVER in ${DRIVERS} ; do + [ "${DRIVER}" = "off" ] && continue + DMOD="$(echo "${DRIVER}" | sed -e 's/-/_/g')" + if ! grep -q "^${DMOD} " /proc/modules ; then + ebegin "Loading: ${DRIVER}" + modprobe ${DRIVER} + eend $? + fi + done + + if [ -f /proc/asound/seq/drivers ] ; then + local SEQUENCERS="$(sed -n -e 's/\([^,]*\),empty,.*/\1/p' /proc/asound/seq/drivers)" + local SEQUENCER + for SEQUENCER in ${SEQUENCERS} ; do + DMOD="$(echo "${SEQUENCER}" | sed -e 's/-/_/g')" + if ! grep -q "^${DMOD} " /proc/modules ; then + ebegin "Loading: ${SEQUENCER}" + modprobe ${SEQUENCER} + eend $? + fi + done + fi + + for DRIVER in ${DRIVERS} + do + local TMP=${DRIVER##snd-} + TMP=${TMP##snd_} + if [ -x "${alsascrdir}/${TMP}" ] ; then + ebegin "Running: ${alsascrdir}/${TMP}" + "${alsascrdir}/${TMP}" + eend $? + fi + done + + if [ ! -d /proc/asound ] || grep -q ' no soundcards ' /proc/asound/cards ; then + eerror "ERROR: Failed to load necessary drivers" + return 1 + fi +} + +unload_modules_24() { + local LOADED_MODULES="$(lsmod | sed -n -e 's/^\(snd[^ ]*\) .*/\1/p')" + local MODULE + for MODULE in ${LOADED_MODULES} ; do + rmmod "${MODULE}" + done + rmmod soundcore 2>/dev/null + rmmod gameport 2>/dev/null + + lsmod | grep -vq '^snd' +} + +unload_modules_recursive() { + local revdeps="$(lsmod | sed -n -e "s/,/ /g" -e "s/^$1 *[0-9]* *[0-9]* \(.*\)/\1/p")" + + for module in ${revdeps} ; do + unload_modules_recursive "${module}" + done + + vebegin "Unloading: $1" + rmmod --wait "$1" + veend $? +} + +unload_modules_26() { + # First of all, remove the snd module and all the modules depending + # on it, this should remove already most of ALSA modules. + lsmod | grep -q "^snd[[:space:]]" && unload_modules_recursive snd + + # Then find the remaining ones, and handle them too. + for module in $(lsmod | sed -n -e 's/^\(snd[^ ]*\) .*/\1/p'); do + unload_modules_recursive "${module}" + done + + lsmod | grep -vq "^snd" +} + +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/*` + local 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" + local alsadevs="/proc/asound/dev/* /dev/sound/* /dev/snd/*" + fuser -k ${ossdevs} ${alsadevs} >/dev/null 2>/dev/null + + # remove all sequencer connections if any + [ -f /proc/asound/seq/clients ] && type aconnect >/dev/null 2>/dev/null && aconnect --removeall +} + +restore() { + ebegin "Restoring Mixer Levels" + + if [ ! -r "${alsastatedir}/asound.state" ] ; then + ewarn "No mixer config in ${alsastatedir}/asound.state, you have to unmute your card!" + eend 0 + return 0 + fi + + local cards="$(sed -n -e 's/ *\([[:digit:]]*\) .*/\1/p' /proc/asound/cards)" + local CARDNUM + for cardnum in ${cards}; do + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + alsactl -f "${alsastatedir}/asound.state" restore ${cardnum} \ + || ewarn "Errors while restoring defaults, ignoring" + done + + for ossfile in "${alsastatedir}"/oss/card*_pcm* ; do + [ -e "${ossfile}" ] || continue + # We use cat because I'm not sure if cp works properly on /proc + local procfile=${ossfile##${alsastatedir}/oss} + procfile="$(echo "${procfile}" | sed -e 's,_,/,g')" + if [ -e /proc/asound/"${procfile}"/oss ] ; then + cat "${ossfile}" > /proc/asound/"${procfile}"/oss + fi + done + + eend 0 +} + +save() { + ebegin "Storing ALSA Mixer Levels" + + mkdir -p "${alsastatedir}" + if ! alsactl -f "${alsastatedir}/asound.state" store; then + eerror "Error saving levels." + eend 1 + return 1 + fi + + for ossfile in /proc/asound/card*/pcm*/oss; do + [ -e "${ossfile}" ] || continue + local device=${ossfile##/proc/asound/} ; device=${device%%/oss} + device="$(echo "${device}" | sed -e 's,/,_,g')" + mkdir -p "${alsastatedir}/oss/" + cp "${ossfile}" "${alsastatedir}/oss/${device}" + done + + eend 0 +} + +start() { + if [ -f /proc/modules ] && [ "${LOAD_ON_START}" = "yes" ]; then + ebegin "Loading ALSA modules" + eindent + load_modules + eoutdent + eend $? || return 1 + fi + + if [ ! -d /proc/asound ]; then + eerror "ALSA failed to load." + eend 1 + return 1 + elif [ "${RESTORE_ON_START}" = "yes" ]; then + restore + fi + + return 0 +} + +stop() { + if [ ! -d /proc/asound ] ; then + eerror "ALSA is not loaded" + return 0 + fi + + [ "${SAVE_ON_STOP}" = "yes" ] && save + + if [ "${KILLPROC_ON_STOP}" = "yes" ] ; then + ewarn "You are using the unsupported KILLPROC_ON_STOP option." + ewarn "Consider unsetting it. Do not file bugs until you have done so." + ebegin "Killing processes using ALSA" + terminate + eend 0 + fi + + if [ -f /proc/modules ] && [ "${UNLOAD_ON_STOP}" = "yes" ]; then + ewarn "You are using the unsupported UNLOAD_ON_STOP option." + ewarn "Consider unsetting it. Do not file bugs until you have done so." + local ver="26" + case "$(uname -r)" in + 2.[01234].*) ver="24";; + *) ver="26";; + esac + ebegin "Unloading ALSA modules" + eindent + unload_modules_${ver} + eend $? + eoutdent + fi + + return 0 +} |