summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/rc.conf5
-rwxr-xr-xsh/gendepends.sh14
2 files changed, 12 insertions, 7 deletions
diff --git a/etc/rc.conf b/etc/rc.conf
index 057d59d..659e5b1 100644
--- a/etc/rc.conf
+++ b/etc/rc.conf
@@ -82,3 +82,8 @@ net_fs_list="afs cifs coda davfs fuse gfs ncpfs nfs nfs4 ocfs2 shfs smbfs"
#rc_after="clock"
#rc_before="local"
+# You can also enable the above commands here for each service. Below is an
+# example for service foo.
+#rc_foo_config="/etc/foo"
+#rc_foo_need="openvpn"
+#rc_foo_after="clock"
diff --git a/sh/gendepends.sh b/sh/gendepends.sh
index a2b2181..662d397 100755
--- a/sh/gendepends.sh
+++ b/sh/gendepends.sh
@@ -76,18 +76,18 @@ for _dir in /etc/init.d /usr/local/etc/init.d; do
[ -e "${_dir}/../conf.d/${SVCNAME}" ] && . "${_dir}/../conf.d/${SVCNAME}"
+ [ -e /etc/rc.conf ] && . /etc/rc.conf
+
if . "${_dir}/${SVCNAME}"; then
echo "${SVCNAME}" >&3
depend
# Add any user defined depends
- config ${rc_config} ${RC_CONFIG}
- need ${rc_need} ${RC_NEED}
- use ${rc_use} ${RC_USE}
- before ${rc_before} ${RC_BEFORE}
- after ${rc_after} ${RC_AFTER}
- provide ${rc_provide} ${RC_PROVIDE}
- keywords ${rc_keywords} ${RC_KEYWORDS}
+ for _deptype in config need use after before provide keywords; do
+ eval _depends=\$rc_$(shell_var "${SVCNAME}")_${_deptype}
+ [ -z "${_depends}" ] && eval _depends=\$rc_${_deptype}
+ ${_deptype} ${_depends}
+ done
fi
)
done