saving uncommitted changes in /etc prior to emerge run
This commit is contained in:
		
							parent
							
								
									9bda90c363
								
							
						
					
					
						commit
						da265060d3
					
				
							
								
								
									
										80
									
								
								init.d/._cfg0000_pciparm
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										80
									
								
								init.d/._cfg0000_pciparm
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,80 @@
 | 
			
		||||
#!/sbin/runscript
 | 
			
		||||
# Copyright 1999-2004 Gentoo Foundation
 | 
			
		||||
# Distributed under the terms of the GNU General Public License v2
 | 
			
		||||
# $Id$
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	before bootmisc hdparm
 | 
			
		||||
	after localmount
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
checkconfig() {
 | 
			
		||||
	if [ ! -f /etc/conf.d/pciparm ]; then
 | 
			
		||||
		ewarn "/etc/conf.d/pciparm does not exist, skipping"
 | 
			
		||||
		return 1
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ -z "${PCIPARM_ALL}" -a -z "${PCIPARM_BUS_0}" -a  -z "${PCIPARM_VENDOR_0}" ]; then
 | 
			
		||||
		ewarn "None of PCIPARM_ALL, PCIPARM_BUS_* or PCIPARM_VENDOR_* set in /etc/conf.d/pciparm"
 | 
			
		||||
		return 1
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
do_setpci() {
 | 
			
		||||
	#ewarn "do_setpci: /usr/sbin/setpci $SETPCI_OPT $@"
 | 
			
		||||
	SWITCH=$1
 | 
			
		||||
	SPEC_ID=$2
 | 
			
		||||
	shift 2
 | 
			
		||||
	case "$SWITCH" in
 | 
			
		||||
		-d) DESC=vendor ;;
 | 
			
		||||
		-s) DESC=bus ;;
 | 
			
		||||
		*) eerror "Unknown setpci type: $SWITCH" ; return 1 ;;
 | 
			
		||||
	esac
 | 
			
		||||
 | 
			
		||||
	if [ -z "$SPEC_ID" ]; then
 | 
			
		||||
		eerror "Missing device specifier!"
 | 
			
		||||
		return 1
 | 
			
		||||
	fi
 | 
			
		||||
	if [ -z "$*" ]; then
 | 
			
		||||
		eerror "Missing configuration to set for ($DESC) $SPEC_ID!"
 | 
			
		||||
		return 1
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	ebegin "Setting PCI params for ($DESC) $SPEC_ID to $@"
 | 
			
		||||
	/usr/sbin/setpci $SETPCI_OPT $SWITCH $SPEC_ID "$@"
 | 
			
		||||
	rc=$?
 | 
			
		||||
	eend $rc
 | 
			
		||||
	return $rc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
do_setpci_array() {
 | 
			
		||||
	name=$1
 | 
			
		||||
	shift
 | 
			
		||||
	i=0
 | 
			
		||||
	while true; do
 | 
			
		||||
		eval opt="\$${name}_$i"
 | 
			
		||||
		# End of loop
 | 
			
		||||
		[ -z "${opt}" ] && break
 | 
			
		||||
		# Pass in all other parameters here, in case we want to use multiple
 | 
			
		||||
		# arguments later.
 | 
			
		||||
		do_setpci "$@" $opt #|| return 1
 | 
			
		||||
		i=$(($i+1))
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start() {
 | 
			
		||||
	if get_bootparam "nopciparm" ; then
 | 
			
		||||
		ewarn "Skipping pciparm init as requested in kernel cmdline"
 | 
			
		||||
		return 0
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	checkconfig || return 1
 | 
			
		||||
	
 | 
			
		||||
	# We do not exit after any errors presently, because it might be a
 | 
			
		||||
	# stability-related fix after a failure.
 | 
			
		||||
	[ -n "$PCIPARM_ALL" ] && \
 | 
			
		||||
		do_setpci -d '*:*' $PCIPARM_ALL #|| return 1
 | 
			
		||||
 | 
			
		||||
	do_setpci_array PCIPARM_BUS -s #|| return 1
 | 
			
		||||
	do_setpci_array PCIPARM_VENDOR -d #|| return 1
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user