freebsd-skq/libexec/rc/rc.d/localpkg
Edward Tomasz Napierala 028af4ae67 Rename etc/rc.d/abi to etc/rc.d/linux; after moving out the SysV IPC stuff
it's entirely linux-specific.

Reviewed by:	emaste
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21830
2019-10-02 11:40:40 +00:00

79 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: localpkg
# REQUIRE: sysvipc linux
# BEFORE: securelevel
# KEYWORD: shutdown
. /etc/rc.subr
name="localpkg"
desc="Run local init scripts"
start_cmd="pkg_start"
stop_cmd="pkg_stop"
pkg_start()
{
local initdone
# For each dir in $local_startup, search for init scripts matching *.sh
#
case ${local_startup} in
[Nn][Oo] | '')
;;
*)
initdone=
find_local_scripts_old
for script in ${zlist} ${slist}; do
if [ -z "${initdone}" -a -f "${script}" ]; then
echo -n 'Local package initialization:'
initdone=yes
fi
if [ -x "${script}" ]; then
(set -T
trap 'exit 1' 2
${script} start)
elif [ -f "${script}" -o -L "${script}" ]; then
echo -n " (skipping ${script}, not executable)"
fi
done
[ -n "${initdone}" ] && echo '.'
;;
esac
}
pkg_stop()
{
local initdone
case ${local_startup} in
[Nn][Oo] | '')
;;
*)
initdone=
find_local_scripts_old
for script in `reverse_list ${slist} ${zlist}`; do
if [ -z "${initdone}" -a -f "${script}" ]; then
echo -n 'Shutting down local packages:'
initdone=yes
fi
if [ -x "${script}" ]; then
if [ `sysctl -n debug.bootverbose` -eq 1 ]; then
echo "==>" ${script}
fi
(set -T
trap 'exit 1' 2
${script} stop)
fi
done
[ -n "${initdone}" ] && echo '.'
;;
esac
}
load_rc_config $name
run_rc_command "$1"