misc BSD fixes

This commit is contained in:
Roy Marples
2007-11-21 15:46:56 +00:00
parent 872a31b215
commit 41c00eda37
4 changed files with 31 additions and 12 deletions

View File

@@ -35,20 +35,38 @@ start() {
[ -x "$svc" ] || continue
service=$(basename ${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/${svc} ]] && continue
[ -x /usr/local/etc/init.d/${svc} ] && 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=\$$(basename ${svc})_enabled
eval enabled=\$$(basename "${svc}")_enable
case "$enabled" in
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) ;;
*) continue ;;
esac
# Good to go!
"$svc" start
"$svc" start && started="${started} ${svc}"
: $((retval += $?))
done
eend $retval "Some local rc services failed to start"
save_options 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 $(get_options started) 2>/dev/null | sort -r); do
"${svc}" stop
: $((retval += $?))
done
eend $retval "Some local rc services failed to stop"
return 0
}