public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] RC script review request for alsa-driver
@ 2002-04-27 19:29 Arcady Genkin
  2002-04-27 20:15 ` Martin Schlemmer
  0 siblings, 1 reply; 4+ messages in thread
From: Arcady Genkin @ 2002-04-27 19:29 UTC (permalink / raw
  To: gentoo-dev

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.

Many thanks in advance,
-- 
Arcady Genkin


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [gentoo-dev] RC script review request for alsa-driver
  2002-04-27 19:29 [gentoo-dev] RC script review request for alsa-driver Arcady Genkin
@ 2002-04-27 20:15 ` Martin Schlemmer
  2002-04-27 21:03   ` Arcady Genkin
  0 siblings, 1 reply; 4+ messages in thread
From: Martin Schlemmer @ 2002-04-27 20:15 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 515 bytes --]

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


[-- Attachment #2: alsasound --]
[-- Type: text/plain, Size: 3897 bytes --]

#!/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 <perex@suse.cz>
#
#
#  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=/usr/sbin/alsactl
asoundcfg=/etc/asound.state
aconnect=/usr/bin/aconnect
alsascrdir=/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="`/sbin/modprobe -c | \
		grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | \
		awk '{print $3}'`"
	for i in ${drivers}
	do
		if [ "${i}" != "off" ]
		then
			einfon "Starting sound driver: $i "
			/sbin/modprobe $i
			eend 0
		fi
	done
	#
	# insert sequencer modules
	#
	if [ x"${START_ALSA_SEQ}" = xyes -a -r /proc/asound/seq/drivers ]
	then
		t="`cut -d , -f 1 /proc/asound/seq/drivers`"
		if [ "x${t}" != "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=${i##snd-}
		if [ -x ${alsascrdir}/${t} ]
		then
			${alsascrdir}/${t}
		fi
	done

	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/*"
	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
}


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [gentoo-dev] RC script review request for alsa-driver
  2002-04-27 20:15 ` Martin Schlemmer
@ 2002-04-27 21:03   ` Arcady Genkin
  2002-04-28  9:42     ` Martin Schlemmer
  0 siblings, 1 reply; 4+ messages in thread
From: Arcady Genkin @ 2002-04-27 21:03 UTC (permalink / raw
  To: gentoo-dev

Martin Schlemmer <azarah@gentoo.org> writes:

> This should be a start ... some cosmetic cleanups might be
> needed.

Hi, Martin:

Thanks for the reply.  I'd like keep the original indentation in the
script.  This would make maintaining it a lot easier, since the script
would be diff-able with the one from the tarball.  Is that a problem?

Thanks,
-- 
Arcady Genkin


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [gentoo-dev] RC script review request for alsa-driver
  2002-04-27 21:03   ` Arcady Genkin
@ 2002-04-28  9:42     ` Martin Schlemmer
  0 siblings, 0 replies; 4+ messages in thread
From: Martin Schlemmer @ 2002-04-28  9:42 UTC (permalink / raw
  To: gentoo-dev

On Sat, 2002-04-27 at 23:03, Arcady Genkin wrote:
> Martin Schlemmer <azarah@gentoo.org> writes:
> 
> > This should be a start ... some cosmetic cleanups might be
> > needed.
> 
> Hi, Martin:
> 
> Thanks for the reply.  I'd like keep the original indentation in the
> script.  This would make maintaining it a lot easier, since the script
> would be diff-able with the one from the tarball.  Is that a problem?
> 

I am not going to go into the tab/space thing, as it seems
you guys already had a go at it ;)

General, like you know, tabs is preferred, if you using
spaces will make maintainence better, sure.  On the other
hand, have a look at the -w option to diff ;)


Greetings,

-- 

Martin Schlemmer
Gentoo Linux Developer, Desktop Team Developer
Cape Town, South Africa




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-04-28 10:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-27 19:29 [gentoo-dev] RC script review request for alsa-driver Arcady Genkin
2002-04-27 20:15 ` Martin Schlemmer
2002-04-27 21:03   ` Arcady Genkin
2002-04-28  9:42     ` Martin Schlemmer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox