71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #!/sbin/runscript
 | |
| # Copyright 2007 Roy Marples
 | |
| # All rights reserved
 | |
| 
 | |
| # Redistribution and use in source and binary forms, with or without
 | |
| # modification, are permitted provided that the following conditions
 | |
| # are met:
 | |
| # 1. Redistributions of source code must retain the above copyright
 | |
| #    notice, this list of conditions and the following disclaimer.
 | |
| # 2. Redistributions in binary form must reproduce the above copyright
 | |
| #    notice, this list of conditions and the following disclaimer in the
 | |
| #    documentation and/or other materials provided with the distribution.
 | |
| #
 | |
| # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 | |
| # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
| # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 | |
| # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
| # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | |
| # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | |
| # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | |
| # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | |
| # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | |
| # SUCH DAMAGE.
 | |
| 
 | |
| 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} || 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
 | |
| }
 |