summaryrefslogtreecommitdiffstats
path: root/etc/rc.subr
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2014-08-27 09:19:22 +0000
committerhrs <hrs@FreeBSD.org>2014-08-27 09:19:22 +0000
commit22464809265beea7b7903c7dbc8989f5a6b585dd (patch)
treea55563affcaef7555661fa9e25ebb507b89e5896 /etc/rc.subr
parent1e11271b7ec2cabc6e6462aa53bb4bbbe99fd00a (diff)
downloadFreeBSD-src-22464809265beea7b7903c7dbc8989f5a6b585dd.zip
FreeBSD-src-22464809265beea7b7903c7dbc8989f5a6b585dd.tar.gz
- Use $local_startup to load rc.conf.d/* scripts.
- Document support of rc.conf.d/<dir>/* introduced in r270392. Discussed with: bapt
Diffstat (limited to 'etc/rc.subr')
-rw-r--r--etc/rc.subr33
1 files changed, 16 insertions, 17 deletions
diff --git a/etc/rc.subr b/etc/rc.subr
index 59fe68b..ff4e898 100644
--- a/etc/rc.subr
+++ b/etc/rc.subr
@@ -1270,7 +1270,7 @@ run_rc_script()
#
load_rc_config()
{
- local _name _rcvar_val _var _defval _v _msg _new
+ local _name _rcvar_val _var _defval _v _msg _new _d
_name=$1
if [ -z "$_name" ]; then
err 3 'USAGE: load_rc_config name'
@@ -1289,22 +1289,21 @@ load_rc_config()
fi
_rc_conf_loaded=true
fi
- if [ -f /etc/rc.conf.d/"$_name" ]; then
- debug "Sourcing /etc/rc.conf.d/$_name"
- . /etc/rc.conf.d/"$_name"
- elif [ -d /etc/rc.conf.d/"$_name" ] ; then
- local _rc
- for _rc in /etc/rc.conf.d/"$_name"/* ; do
- if [ -f "$_rc" ] ; then
- debug "Sourcing $_rc"
- . "$_rc"
- fi
- done
- fi
- if [ -f ${LOCALBASE:-/usr/local}/etc/rc.conf.d/"$_name" ]; then
- debug "Sourcing ${LOCALBASE:-/usr/local}/etc/rc.conf.d/${_name}"
- . ${LOCALBASE:-/usr/local}/etc/rc.conf.d/"$_name"
- fi
+
+ for _d in /etc ${local_startup%*/rc.d}; do
+ if [ -f ${_d}/rc.conf.d/"$_name" ]; then
+ debug "Sourcing ${_d}/rc.conf.d/$_name"
+ . ${_d}/rc.conf.d/"$_name"
+ elif [ -d ${_d}/rc.conf.d/"$_name" ] ; then
+ local _rc
+ for _rc in ${_d}/rc.conf.d/"$_name"/* ; do
+ if [ -f "$_rc" ] ; then
+ debug "Sourcing $_rc"
+ . "$_rc"
+ fi
+ done
+ fi
+ done
# Set defaults if defined.
for _var in $rcvar; do
OpenPOWER on IntegriCloud