Index: sbin/functions.sh =================================================================== --- sbin/functions.sh (revision 1964) +++ sbin/functions.sh (working copy) @@ -757,6 +757,18 @@ return 1 } +# char* uniqify(char *arg, ...) +# +# Ensure that params are unique +# +uniqify() { + local result= x= + while [[ -n "$1" ]] ; do + [[ " ${result} " != *" $1 "* ]] && result="${result} $1" + shift + done + echo "${result# *}" +} ############################################################################## # # Index: sbin/runscript.sh =================================================================== --- sbin/runscript.sh (revision 1964) +++ sbin/runscript.sh (working copy) @@ -130,7 +130,7 @@ ewarn "WARNING: you are stopping a boot service." fi - if [[ ${svcpause} != "yes" ]] ; then + if [[ ${svcpause} != "yes" && ${RC_NODEPS} != "yes" ]] ; then if [[ ${NETSERVICE} == "yes" ]] ; then # A net.* service if in_runlevel "${myservice}" "${BOOTLEVEL}" || \ @@ -238,13 +238,15 @@ mark_service_started "${myservice}" # On rc change, start all services "before $myservice" first - if is_runlevel_start ; then - startupservices="$(ineed "${myservice}") \ - $(valid_iuse "${myservice}") \ - $(valid_iafter "${myservice}")" - else - startupservices="$(ineed "${myservice}") \ - $(valid_iuse "${myservice}")" + if [[ ${RC_NODEPS} != "yes" ]] ; then + if is_runlevel_start ; then + startupservices="$(ineed "${myservice}") \ + $(valid_iuse "${myservice}") \ + $(valid_iafter "${myservice}")" + else + startupservices="$(ineed "${myservice}") \ + $(valid_iuse "${myservice}")" + fi fi # Start dependencies, if any @@ -418,6 +420,8 @@ --verbose) RC_VERBOSE="yes" ;; + --nodeps) + RC_NODEPS="yes" esac done for arg in $* ; do @@ -488,7 +492,7 @@ svc_stop svcpause="no" ;; - --quiet|--nocolor) + --quiet|--nocolor|--nodeps) ;; help) exec "${svclib}"/sh/rc-help.sh "${myscript}" help