Add a script_name_sep rc.conf knob to specify the IFS character
for separating the startup scripts' list into individual filenames. Run the shutdown scripts in reverse alphabetical order, so dependent services are stopped before the services they depend upon. Reviewed by: -arch, -audit MFC after: 3 weeks
This commit is contained in:
parent
f2e49729a0
commit
401d22d5ac
@ -31,6 +31,7 @@ pccardd_flags="" # Additional flags for pccardd.
|
||||
pccard_conf="/etc/defaults/pccard.conf" # pccardd(8) config file
|
||||
removable_interfaces="" # Removable network interfaces for /etc/pccard_ether.
|
||||
local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs.
|
||||
script_name_sep=" " # Change if your startup scripts' names contain spaces
|
||||
rc_conf_files="/etc/rc.conf /etc/rc.conf.local"
|
||||
fsck_y_enable="NO" # Set to YES to do fsck -y if the initial preen fails.
|
||||
background_fsck="YES" # Attempt to run fsck in the background where possible.
|
||||
|
17
etc/rc
17
etc/rc
@ -793,17 +793,24 @@ case ${local_startup} in
|
||||
;;
|
||||
*)
|
||||
echo -n 'Local package initialization:'
|
||||
slist=""
|
||||
for dir in ${local_startup}; do
|
||||
if [ -d "${dir}" ]; then
|
||||
for script in ${dir}/*.sh; do
|
||||
if [ -x "${script}" ]; then
|
||||
(set -T
|
||||
trap 'exit 1' 2
|
||||
${script} start)
|
||||
fi
|
||||
slist="${slist}${script_name_sep}${script}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
script_save_sep="$IFS"
|
||||
IFS="${script_name_sep}"
|
||||
for script in ${slist}; do
|
||||
if [ -x "${script}" ]; then
|
||||
(set -T
|
||||
trap 'exit 1' 2
|
||||
${script} start)
|
||||
fi
|
||||
done
|
||||
IFS="${script_save_sep}"
|
||||
echo '.'
|
||||
;;
|
||||
esac
|
||||
|
@ -102,17 +102,24 @@ case ${local_startup} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
slist=""
|
||||
for dir in ${local_startup}; do
|
||||
if [ -d "${dir}" ]; then
|
||||
for script in ${dir}/*.sh; do
|
||||
if [ -x "${script}" ]; then
|
||||
(set -T
|
||||
trap 'exit 1' 2
|
||||
${script} stop)
|
||||
fi
|
||||
slist="${script}${script_name_sep}${slist}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
script_save_sep="$IFS"
|
||||
IFS="${script_name_sep}"
|
||||
for script in ${slist}; do
|
||||
if [ -x "${script}" ]; then
|
||||
(set -T
|
||||
trap 'exit 1' 2
|
||||
${script} stop)
|
||||
fi
|
||||
done
|
||||
IFS="${script_save_sep}"
|
||||
echo '.'
|
||||
;;
|
||||
esac
|
||||
|
@ -146,6 +146,13 @@ List of removable network interfaces to be supported by
|
||||
.It Va local_startup
|
||||
.Pq Vt str
|
||||
List of directories to search for startup script files.
|
||||
.It Va script_name_sep
|
||||
.Pq Vt str
|
||||
The field separator to use for breaking down the list of startup script files
|
||||
into individual filenames.
|
||||
The default is a space.
|
||||
You do not need to change this unless you have startup scripts with names
|
||||
containing spaces.
|
||||
.It Va hostname
|
||||
.Pq Vt str
|
||||
The Fully Qualified Domain Name of your host on the network.
|
||||
|
Loading…
Reference in New Issue
Block a user