Update the pciconf(8) database.
[dragonfly.git] / etc / rc.d / localdaemons
blobe52921f13f9f25b95b00716a9de2727d1e67408c
1 #!/bin/sh
3 # $FreeBSD: src/etc/rc.d/localdaemons,v 1.2 2003/05/05 15:38:41 mtm Exp $
6 # PROVIDE: localdaemons
7 # REQUIRE: abi
8 # BEFORE: securelevel
9 # KEYWORD: shutdown
11 . /etc/rc.subr
13 name="localdaemons"
14 start_cmd="locald_start"
15 stop_cmd="locald_stop"
17 # Returns true (0) if the passed argument is a valid name
18 # for a script, false (1) otherwise.
20 valid_scriptname()
22 case ${1##*.} in
23 orig)
24 return 1
26 sample)
27 return 1
29 dist)
30 return 1
32 esac
33 return 0
36 locald_start()
38 # For each dir in $local_startup, search for init scripts matching *
40 case ${local_startup} in
41 [Nn][Oo] | '')
44 echo -n 'Local package initialization:'
45 slist=""
46 if [ -z "${script_name_sep}" ]; then
47 script_name_sep=" "
49 for dir in ${local_startup}; do
50 if [ -d "${dir}" ]; then
51 for script in ${dir}/*; do
52 if valid_scriptname ${script}; then
53 slist="${slist}${script_name_sep}${script}"
55 done
57 done
58 script_save_sep="$IFS"
59 IFS="${script_name_sep}"
60 sortedslist=`rcorder -s nostart /etc/rc.d/* ${slist} 2>/dev/null | grep -v "^/etc/rc.d/" | tr '\n' "$IFS"`;
61 for script in ${sortedslist}; do
62 if [ -x "${script}" ]; then
63 (set -T
64 trap 'exit 1' 2
65 ${script} start)
66 elif [ -f "${script}" -o -L "${script}" ]; then
67 echo -n " (skipping ${script##*/}, not executable)"
69 done
70 IFS="${script_save_sep}"
71 echo '.'
73 esac
76 locald_stop()
78 echo -n 'Shutting down daemon processes:'
80 # For each dir in $local_startup, search for init scripts matching *
81 case ${local_startup} in
82 [Nn][Oo] | '')
85 slist=""
86 if [ -z "${script_name_sep}" ]; then
87 script_name_sep=" "
89 for dir in ${local_startup}; do
90 if [ -d "${dir}" ]; then
91 for script in ${dir}/*; do
92 if valid_scriptname ${script}; then
93 slist="${slist}${script_name_sep}${script}"
95 done
97 done
98 script_save_sep="$IFS"
99 IFS="${script_name_sep}"
100 sortedslist=`rcorder -s nostart /etc/rc.d/* ${slist} 2>/dev/null | grep -v "^/etc/rc.d/" | tr '\n' "$IFS"`;
101 for script in `reverse_list ${sortedslist}`; do
102 if [ -x "${script}" ]; then
103 (set -T
104 trap 'exit 1' 2
105 ${script} stop)
107 done
108 IFS="${script_save_sep}"
109 echo '.'
111 esac
114 load_rc_config $name
115 run_rc_command "$1"