diff options
author | Roy Marples <roy@marples.name> | 2007-11-20 17:45:00 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2007-11-20 17:45:00 +0000 |
commit | 6a6ef66d15f37b771924b4c3504f173cb9dbc3f0 (patch) | |
tree | adbbc6d4aa8288f22d2d20e9d49e997feada3e5c | |
parent | 7048837e3fca76a804d41fbfe4f0dc9495248399 (diff) |
local.rc -> rc-enable and ensure that we start all defined services, including system ones
-rw-r--r-- | init.d.BSD/rc-enabled | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/init.d.BSD/rc-enabled b/init.d.BSD/rc-enabled index dbc71ae2..239705e6 100644 --- a/init.d.BSD/rc-enabled +++ b/init.d.BSD/rc-enabled @@ -25,19 +25,28 @@ depend() { need localmount net - after $(ls -1 | grep -v local) + after $(ls -1 | grep -v local | xargs) } start() { ebegin "Starting local rc services" - local svc= enabled= retval=0 - for svc in $(rcorder /usr/local/etc/rc.d/* 2>/dev/null); do + 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=$(basename ${svc}) + + # If we have an init script for this service, continue + [ -x /etc/init.d/${svc} ]] && continue + [ -x /usr/local/etc/init.d/${svc} ] && continue + + # Ensure that the users rc.conf will start us - ignore the defaults eval enabled=\$$(basename ${svc})_enabled case "$enabled" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) ;; *) continue ;; esac + + # Good to go! "$svc" start : $((retval += $?)) done |