xref: /netbsd-src/etc/rc.d/syslogd (revision 6ede50a34155e0a647810dc4b598fb798c47f2e5)
1c53094a7Slukem#!/bin/sh
2c53094a7Slukem#
3*6ede50a3Slukem# $NetBSD: syslogd,v 1.15 2004/10/11 13:29:52 lukem Exp $
4c53094a7Slukem#
5c53094a7Slukem
6c53094a7Slukem# PROVIDE: syslogd
7bd11504cSlukem# REQUIRE: mountcritremote sysdb wscons
896776149Sthorpej# BEFORE:  SERVERS
9c53094a7Slukem
107d2e1537Smycroft$_rc_subr_loaded . /etc/rc.subr
11c53094a7Slukem
12c53094a7Slukemname="syslogd"
13bd11504cSlukemrcvar=$name
14c53094a7Slukemcommand="/usr/sbin/${name}"
15c53094a7Slukempidfile="/var/run/${name}.pid"
16c53094a7Slukemrequired_files="/etc/syslog.conf"
17c53094a7Slukemstart_precmd="syslogd_precmd"
180a610ebbSlukemextra_commands="reload"
19c53094a7Slukem
20c22b780eSlukem_sockfile="/var/run/syslogd.sockets"
21c22b780eSlukem
22c53094a7Slukemsyslogd_precmd()
23c53094a7Slukem{
24c53094a7Slukem	#	Transitional symlink for old binaries
25c53094a7Slukem	#
26c53094a7Slukem	if [ ! -h /dev/log ]; then
27c53094a7Slukem		ln -sf /var/run/log /dev/log
28c53094a7Slukem	fi
29a2c01fa4Slukem
30c22b780eSlukem	#	Create default list of syslog sockets to watch
31a2c01fa4Slukem	#
32c22b780eSlukem	( umask 022 ; > $_sockfile )
33c22b780eSlukem
34da820a33Slukem	#	Find /etc/rc.d scripts with "chrootdir" rcorder(8) keyword,
35da820a33Slukem	#	and if $${app}_chrootdir is a directory, add appropriate
36c22b780eSlukem	#	syslog socket to list of sockets to watch.
37c22b780eSlukem	#
38da820a33Slukem	for _lr in $(rcorder -k chrootdir /etc/rc.d/*); do
39*6ede50a3Slukem	    (
40da820a33Slukem		_l=${_lr##*/}
41*6ede50a3Slukem		load_rc_config ${_l}
42c22b780eSlukem		eval _ldir=\$${_l}_chrootdir
43c22b780eSlukem		if checkyesno $_l && [ -n "$_ldir" ]; then
44c22b780eSlukem			echo "${_ldir}/var/run/log" >> $_sockfile
45c22b780eSlukem		fi
46*6ede50a3Slukem	    )
47c22b780eSlukem	done
48c22b780eSlukem
49c22b780eSlukem	#	If other sockets have been provided, change run_rc_command()'s
50c22b780eSlukem	#	internal copy of $syslogd_flags to force use of specific
51c22b780eSlukem	#	syslogd sockets.
52c22b780eSlukem	#
53c22b780eSlukem	if [ -s $_sockfile ]; then
54c22b780eSlukem		echo "/var/run/log" >> $_sockfile
551a286b14Slukem		rc_flags="-P $_sockfile $rc_flags"
56a2c01fa4Slukem	fi
57a2c01fa4Slukem
58c53094a7Slukem	return 0
59c53094a7Slukem}
60c53094a7Slukem
615c1b0ec2Slukemload_rc_config $name
620a610ebbSlukemrun_rc_command "$1"
63