summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/localdaemons
diff options
context:
space:
mode:
authorgordon <gordon@FreeBSD.org>2002-06-13 22:14:37 +0000
committergordon <gordon@FreeBSD.org>2002-06-13 22:14:37 +0000
commit9c5433cb225f7a4e56e87623ea2e4011179553a5 (patch)
tree3168589e209abd888b033397e3c46dee6131a116 /etc/rc.d/localdaemons
parent50d99cdfecd92f5323a18aa791a5b1cb9d8b7191 (diff)
downloadFreeBSD-src-9c5433cb225f7a4e56e87623ea2e4011179553a5.zip
FreeBSD-src-9c5433cb225f7a4e56e87623ea2e4011179553a5.tar.gz
Merge in all the changes that Mike Makonnen has been maintaining for a
while. This is only the script pieces, the glue for the build comes next. Submitted by: Mike Makonnen <makonnen@pacbell.net> Reviewed by: silence on -current and -hackers Prodded by: rwatson
Diffstat (limited to 'etc/rc.d/localdaemons')
-rw-r--r--etc/rc.d/localdaemons89
1 files changed, 89 insertions, 0 deletions
diff --git a/etc/rc.d/localdaemons b/etc/rc.d/localdaemons
new file mode 100644
index 0000000..0ddd4ad
--- /dev/null
+++ b/etc/rc.d/localdaemons
@@ -0,0 +1,89 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: localdaemons
+# REQUIRE: abi
+# KEYWORD: FreeBSD shutdown
+
+. /etc/rc.subr
+
+name="localdaemons"
+start_cmd="locald_start"
+stop_cmd="locald_stop"
+
+locald_start()
+{
+ # For each dir in $local_startup, search for init scripts matching *.sh
+ #
+ case ${local_startup} in
+ [Nn][Oo] | '')
+ ;;
+ *)
+ echo -n 'Local package initialization:'
+ slist=""
+ if [ -z "${script_name_sep}" ]; then
+ script_name_sep=" "
+ fi
+ for dir in ${local_startup}; do
+ if [ -d "${dir}" ]; then
+ for script in ${dir}/*.sh; do
+ 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)
+ elif [ -f "${script}" -o -L "${script}" ]; then
+ echo -n " (skipping ${script##*/}, not executable)"
+ fi
+ done
+ IFS="${script_save_sep}"
+ echo '.'
+ ;;
+ esac
+}
+
+locald_stop()
+{
+ echo -n 'Shutting down daemon processes:'
+
+ # For each dir in $local_startup, search for init scripts matching *.sh
+ case ${local_startup} in
+ [Nn][Oo] | '')
+ ;;
+ *)
+ slist=""
+ if [ -z "${script_name_sep}" ]; then
+ script_name_sep=" "
+ fi
+ for dir in ${local_startup}; do
+ if [ -d "${dir}" ]; then
+ for script in ${dir}/*.sh; do
+ slist="${slist}${script_name_sep}${script}"
+ done
+ fi
+ done
+ script_save_sep="$IFS"
+ IFS="${script_name_sep}"
+ for script in `reverse_list ${slist}`; do
+ if [ -x "${script}" ]; then
+ (set -T
+ trap 'exit 1' 2
+ ${script} stop)
+ fi
+ done
+ IFS="${script_save_sep}"
+ echo '.'
+ ;;
+ esac
+}
+
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud