saving uncommitted changes in /etc prior to emerge run
This commit is contained in:
		
							parent
							
								
									26e05bf054
								
							
						
					
					
						commit
						e329acdb3f
					
				
							
								
								
									
										15
									
								
								conf.d/._cfg0000_alsasound
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								conf.d/._cfg0000_alsasound
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					# RESTORE_ON_START:
 | 
				
			||||||
 | 
					# Do you want to restore your mixer settings?  If not, your cards will be
 | 
				
			||||||
 | 
					# muted.
 | 
				
			||||||
 | 
					# no - Do not restore state
 | 
				
			||||||
 | 
					# yes - Restore state
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RESTORE_ON_START="yes"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# SAVE_ON_STOP:
 | 
				
			||||||
 | 
					# Do you want to save changes made to your mixer volumes when alsasound
 | 
				
			||||||
 | 
					# stops? 
 | 
				
			||||||
 | 
					# no - Do not save state
 | 
				
			||||||
 | 
					# yes - Save state
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SAVE_ON_STOP="yes"
 | 
				
			||||||
							
								
								
									
										88
									
								
								init.d/._cfg0000_alsasound
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										88
									
								
								init.d/._cfg0000_alsasound
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,88 @@
 | 
				
			|||||||
 | 
					#!/sbin/runscript
 | 
				
			||||||
 | 
					# $Id$
 | 
				
			||||||
 | 
					# Copyright 1999-2014 Gentoo Foundation
 | 
				
			||||||
 | 
					# Distributed under the terms of the GNU General Public License v2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alsastatedir=/var/lib/alsa
 | 
				
			||||||
 | 
					alsascrdir=/etc/alsa.d
 | 
				
			||||||
 | 
					alsahomedir=/var/run/alsasound
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extra_commands="save restore"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					depend() {
 | 
				
			||||||
 | 
						need localmount
 | 
				
			||||||
 | 
						after bootmisc modules isapnp coldplug hotplug
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					restore() {
 | 
				
			||||||
 | 
						ebegin "Restoring Mixer Levels"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						checkpath -q -d -m 0700 -o root:root ${alsahomedir} || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						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 -E HOME="${alsahomedir}" -I -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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						checkpath -q -d -m 0700 -o root:root ${alsahomedir} || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mkdir -p "${alsastatedir}"
 | 
				
			||||||
 | 
						if ! alsactl -E HOME="${alsahomedir}" -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 [ "${RESTORE_ON_START}" = "yes" ]; then
 | 
				
			||||||
 | 
							restore
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					stop() {
 | 
				
			||||||
 | 
						if [ "${SAVE_ON_STOP}" = "yes" ]; then
 | 
				
			||||||
 | 
							save
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										38
									
								
								modprobe.d/._cfg0000_alsa.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								modprobe.d/._cfg0000_alsa.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					# Alsa kernel modules' configuration file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ALSA portion
 | 
				
			||||||
 | 
					alias char-major-116 snd
 | 
				
			||||||
 | 
					# OSS/Free portion
 | 
				
			||||||
 | 
					alias char-major-14 soundcore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## IMPORTANT:
 | 
				
			||||||
 | 
					## You need to customise this section for your specific sound card(s)
 | 
				
			||||||
 | 
					## and then run `update-modules' command.
 | 
				
			||||||
 | 
					## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					##  ALSA portion
 | 
				
			||||||
 | 
					## alias snd-card-0 snd-interwave
 | 
				
			||||||
 | 
					## alias snd-card-1 snd-ens1371
 | 
				
			||||||
 | 
					##  OSS/Free portion
 | 
				
			||||||
 | 
					## alias sound-slot-0 snd-card-0
 | 
				
			||||||
 | 
					## alias sound-slot-1 snd-card-1
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OSS/Free portion - card #1
 | 
				
			||||||
 | 
					alias sound-service-0-0 snd-mixer-oss
 | 
				
			||||||
 | 
					alias sound-service-0-1 snd-seq-oss
 | 
				
			||||||
 | 
					alias sound-service-0-3 snd-pcm-oss
 | 
				
			||||||
 | 
					alias sound-service-0-8 snd-seq-oss
 | 
				
			||||||
 | 
					alias sound-service-0-12 snd-pcm-oss
 | 
				
			||||||
 | 
					##  OSS/Free portion - card #2
 | 
				
			||||||
 | 
					## alias sound-service-1-0 snd-mixer-oss
 | 
				
			||||||
 | 
					## alias sound-service-1-3 snd-pcm-oss
 | 
				
			||||||
 | 
					## alias sound-service-1-12 snd-pcm-oss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias /dev/mixer snd-mixer-oss
 | 
				
			||||||
 | 
					alias /dev/dsp snd-pcm-oss
 | 
				
			||||||
 | 
					alias /dev/midi snd-seq-oss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set this to the correct number of cards.
 | 
				
			||||||
 | 
					options snd cards_limit=1
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user