From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on finch.gentoo.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DMARC_NONE,MAILING_LIST_MULTI, NICE_REPLY_A autolearn=unavailable autolearn_force=no version=4.0.0 Received: from kknd.mweb.co.za (kknd.mweb.co.za [196.2.45.79]) by chiba.3jane.net (Postfix) with ESMTP id 5A90CABD58 for ; Sat, 27 Apr 2002 15:33:19 -0500 (CDT) Received: from cpt-dial-196-30-178-76.mweb.co.za ([196.30.178.76] helo=nosferatu.lan) by kknd.mweb.co.za with esmtp (Exim 4.01) id 171YqW-0003uy-00 for gentoo-dev@gentoo.org; Sat, 27 Apr 2002 22:31:05 +0200 Subject: Re: [gentoo-dev] RC script review request for alsa-driver From: Martin Schlemmer To: gentoo-dev@gentoo.org In-Reply-To: <87pu0lx7na.fsf@tea.thpoon.com> References: <87pu0lx7na.fsf@tea.thpoon.com> Content-Type: multipart/mixed; boundary="=-u3InKh7e5Hvx3pmhsSJF" X-Mailer: Ximian Evolution 1.0.3 Date: 27 Apr 2002 22:15:49 +0200 Message-Id: <1019938553.8247.43.camel@nosferatu.lan> Mime-Version: 1.0 Sender: gentoo-dev-admin@gentoo.org Errors-To: gentoo-dev-admin@gentoo.org X-BeenThere: gentoo-dev@gentoo.org X-Mailman-Version: 2.0.6 Precedence: bulk Reply-To: gentoo-dev@gentoo.org List-Help: List-Post: List-Subscribe: , List-Id: Gentoo Linux developer list List-Unsubscribe: , List-Archive: X-Archives-Salt: eb9b56b5-8261-4054-a36f-c5815f608ce6 X-Archives-Hash: 09b5e84f684dc8aec0727af79a1e6fb8 --=-u3InKh7e5Hvx3pmhsSJF Content-Type: text/plain Content-Transfer-Encoding: 7bit On Sat, 2002-04-27 at 21:29, Arcady Genkin wrote: > Who's our RC-scripts guy, I forget? > > I'd like to request a quick review of the startup script for > the alsa-driver package. The file is: > > /usr/portage/media-sound/alsa-driver/files/alsasound > > I adopted it from the script, provided with the alsa-driver tarball. > This should be a start ... some cosmetic cleanups might be needed. Greetings, -- Martin Schlemmer Gentoo Linux Developer, Desktop Team Developer Cape Town, South Africa --=-u3InKh7e5Hvx3pmhsSJF Content-Disposition: attachment; filename=alsasound Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; name=alsasound; charset=ISO-8859-1 #!/sbin/runscript # $Header: /home/cvsroot/gentoo-x86/media-sound/alsa-driver/files/alsasound= ,v 1.4 2002/04/27 20:07:06 agenkin Exp $ # # alsasound This shell script takes care of starting and stopping # the ALSA sound driver. # # This script requires /usr/sbin/alsactl and /usr/bin/aconnect programs # from the alsa-utils package. # # Copyright (c) by Jaroslav Kysela # # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA alsactl=3D/usr/sbin/alsactl asoundcfg=3D/etc/asound.state aconnect=3D/usr/bin/aconnect alsascrdir=3D/etc/alsa.d depend() { need modules provide alsa-modules } start() { # Start driver if it isn't already up. if [ -d /proc/asound ] then eerror "ALSA driver is already running." return 1 fi # # insert all sound modules # ebegin "Starting ALSA" drivers=3D"`/sbin/modprobe -c | \ grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | \ awk '{print $3}'`" for i in ${drivers} do if [ "${i}" !=3D "off" ] then einfon "Starting sound driver: $i " /sbin/modprobe $i eend 0 fi done # # insert sequencer modules # if [ x"${START_ALSA_SEQ}" =3D xyes -a -r /proc/asound/seq/drivers ] then t=3D"`cut -d , -f 1 /proc/asound/seq/drivers`" if [ "x${t}" !=3D "x" ] then /sbin/modprobe ${t} fi fi # # restore driver settings # if [ -d /proc/asound ] then if [ ! -r ${asoundcfg} ] then ewarn "No mixer config in ${asoundcfg}, you have to unmute your card!" else if [ -x ${alsactl} ] then ${alsactl} -f ${asoundcfg} restore else eerror "ERROR: alsactl not found!" fi fi fi # # run card-dependent scripts for i in ${drivers} do t=3D${i##snd-} if [ -x ${alsascrdir}/${t} ] then ${alsascrdir}/${t} fi done eend 0 } terminate() { # # Kill processes holding open sound devices # # DEVS=3D`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=3D"/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=3D"/proc/asound/dev/*" fuser -k ${ossdevs} ${alsadevs} &> /dev/null # # remove all sequencer connections if any # if [ -f /proc/asound/seq/clients -a -x ${aconnect} ] then ${aconnect} --removeall fi } stop() { if [ ! -d /proc/asound ] then eerror "ALSA driver is not loaded." return 0 fi ebegin "Stopping ALSA" # Call terminate function first to kill the processes, holding the drivers= . terminate # # store driver settings # if [ -x ${alsactl} ] then ${alsactl} -f ${asoundcfg} store else ewarn -n "WARNING: !!!alsactl not found!!! " fi # # remove all sound modules # /sbin/lsmod | grep -E "^snd" | grep -v "snd-rme9652-mem" | while read line= ; do \ /sbin/rmmod `echo $line | cut -d ' ' -f 1`; \ done # remove the 2.2 soundcore module (if possible) /sbin/rmmod soundcore 2> /dev/null /sbin/rmmod gameport 2> /dev/null eend 0 } --=-u3InKh7e5Hvx3pmhsSJF--