50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #!/sbin/runscript
 | |
| # Copyright 2007-2008 Roy Marples
 | |
| # All rights reserved
 | |
| 
 | |
| depend() {
 | |
| 	need localmount net
 | |
| 	after *
 | |
| 	before local
 | |
| }
 | |
| 
 | |
| start() {
 | |
| 	ebegin "Starting local rc services"
 | |
| 	local svc= enabled= retval=0 service=
 | |
| 	for svc in $(rcorder /etc/rc.d/* /usr/local/etc/rc.d/* 2>/dev/null); do
 | |
| 		[ -x "$svc" ] || continue
 | |
| 		service=${svc##*/}
 | |
| 
 | |
| 		# Skip these services
 | |
| 		for s in cleartmp moused; do
 | |
| 			[ "${s}" = "${service}" ] && continue 2
 | |
| 		done
 | |
| 
 | |
| 		# If we have an init script for this service, continue
 | |
| 		[ -x /etc/init.d/"${service}" ] && continue
 | |
| 		[ -x /usr/local/etc/init.d/"${service}" ] && continue
 | |
| 
 | |
| 		# Ensure that the users rc.conf will start us - ignore the defaults
 | |
| 		eval enabled=\$${svc##*/}_enable
 | |
| 		yesno ${enabled} || yesno ${svc##*/} || continue
 | |
| 
 | |
| 		# Good to go!
 | |
| 		"$svc" start && started="${started} ${svc}"
 | |
| 		: $((retval += $?))
 | |
| 	done
 | |
| 	service_set_value started "${started}"
 | |
| 	eend $retval "Some local rc services failed to start"
 | |
| 	return 0
 | |
| }
 | |
| 
 | |
| stop() {
 | |
| 	ebegin "Stopping local rc services"
 | |
| 	local svc= retval=0
 | |
| 	for svc in $(rcorder $(service_get_value started) 2>/dev/null | sort -r); do
 | |
| 		"${svc}" stop
 | |
| 		: $((retval += $?))
 | |
| 	done
 | |
| 	eend $retval "Some local rc services failed to stop"
 | |
| 	return 0
 | |
| }
 |