syslogd revision 1.14
11.1Slukem#!/bin/sh
21.1Slukem#
31.14Smycroft# $NetBSD: syslogd,v 1.14 2004/08/13 18:08:03 mycroft Exp $
41.1Slukem#
51.1Slukem
61.1Slukem# PROVIDE: syslogd
71.7Slukem# REQUIRE: mountcritremote sysdb wscons
81.12Sthorpej# BEFORE:  SERVERS
91.1Slukem
101.14Smycroft$_rc_subr_loaded . /etc/rc.subr
111.1Slukem
121.1Slukemname="syslogd"
131.7Slukemrcvar=$name
141.1Slukemcommand="/usr/sbin/${name}"
151.1Slukempidfile="/var/run/${name}.pid"
161.1Slukemrequired_files="/etc/syslog.conf"
171.1Slukemstart_precmd="syslogd_precmd"
181.2Slukemextra_commands="reload"
191.1Slukem
201.9Slukem_sockfile="/var/run/syslogd.sockets"
211.9Slukem
221.1Slukemsyslogd_precmd()
231.1Slukem{
241.1Slukem	#	Transitional symlink for old binaries
251.1Slukem	#
261.1Slukem	if [ ! -h /dev/log ]; then
271.1Slukem		ln -sf /var/run/log /dev/log
281.1Slukem	fi
291.8Slukem
301.9Slukem	#	Create default list of syslog sockets to watch
311.9Slukem	#
321.9Slukem	( umask 022 ; > $_sockfile )
331.9Slukem
341.13Slukem	#	Find /etc/rc.d scripts with "chrootdir" rcorder(8) keyword,
351.13Slukem	#	and if $${app}_chrootdir is a directory, add appropriate
361.9Slukem	#	syslog socket to list of sockets to watch.
371.9Slukem	#
381.13Slukem	for _lr in $(rcorder -k chrootdir /etc/rc.d/*); do
391.13Slukem		_l=${_lr##*/}
401.9Slukem		eval _ldir=\$${_l}_chrootdir
411.9Slukem		if checkyesno $_l && [ -n "$_ldir" ]; then
421.9Slukem			echo "${_ldir}/var/run/log" >> $_sockfile
431.9Slukem		fi
441.9Slukem	done
451.9Slukem
461.9Slukem	#	If other sockets have been provided, change run_rc_command()'s
471.9Slukem	#	internal copy of $syslogd_flags to force use of specific
481.9Slukem	#	syslogd sockets.
491.8Slukem	#
501.9Slukem	if [ -s $_sockfile ]; then
511.9Slukem		echo "/var/run/log" >> $_sockfile
521.11Slukem		rc_flags="-P $_sockfile $rc_flags"
531.8Slukem	fi
541.8Slukem
551.1Slukem	return 0
561.1Slukem}
571.1Slukem
581.3Slukemload_rc_config $name
591.2Slukemrun_rc_command "$1"
60