11.1Slukem#!/bin/sh
21.1Slukem#
31.15Slukem# $NetBSD: syslogd,v 1.15 2004/10/11 13:29:52 lukem 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.15Slukem	    (
401.13Slukem		_l=${_lr##*/}
411.15Slukem		load_rc_config ${_l}
421.9Slukem		eval _ldir=\$${_l}_chrootdir
431.9Slukem		if checkyesno $_l && [ -n "$_ldir" ]; then
441.9Slukem			echo "${_ldir}/var/run/log" >> $_sockfile
451.9Slukem		fi
461.15Slukem	    )
471.9Slukem	done
481.9Slukem
491.9Slukem	#	If other sockets have been provided, change run_rc_command()'s
501.9Slukem	#	internal copy of $syslogd_flags to force use of specific
511.9Slukem	#	syslogd sockets.
521.8Slukem	#
531.9Slukem	if [ -s $_sockfile ]; then
541.9Slukem		echo "/var/run/log" >> $_sockfile
551.11Slukem		rc_flags="-P $_sockfile $rc_flags"
561.8Slukem	fi
571.8Slukem
581.1Slukem	return 0
591.1Slukem}
601.1Slukem
611.3Slukemload_rc_config $name
621.2Slukemrun_rc_command "$1"
63