Home | History | Annotate | Line # | Download | only in rc.d
syslogd revision 1.13
      1 #!/bin/sh
      2 #
      3 # $NetBSD: syslogd,v 1.13 2002/06/18 14:35:39 lukem Exp $
      4 #
      5 
      6 # PROVIDE: syslogd
      7 # REQUIRE: mountcritremote sysdb wscons
      8 # BEFORE:  SERVERS
      9 
     10 . /etc/rc.subr
     11 
     12 name="syslogd"
     13 rcvar=$name
     14 command="/usr/sbin/${name}"
     15 pidfile="/var/run/${name}.pid"
     16 required_files="/etc/syslog.conf"
     17 start_precmd="syslogd_precmd"
     18 extra_commands="reload"
     19 
     20 _sockfile="/var/run/syslogd.sockets"
     21 
     22 syslogd_precmd()
     23 {
     24 	#	Transitional symlink for old binaries
     25 	#
     26 	if [ ! -h /dev/log ]; then
     27 		ln -sf /var/run/log /dev/log
     28 	fi
     29 
     30 	#	Create default list of syslog sockets to watch
     31 	#
     32 	( umask 022 ; > $_sockfile )
     33 
     34 	#	Find /etc/rc.d scripts with "chrootdir" rcorder(8) keyword,
     35 	#	and if $${app}_chrootdir is a directory, add appropriate
     36 	#	syslog socket to list of sockets to watch.
     37 	#
     38 	for _lr in $(rcorder -k chrootdir /etc/rc.d/*); do
     39 		_l=${_lr##*/}
     40 		eval _ldir=\$${_l}_chrootdir
     41 		if checkyesno $_l && [ -n "$_ldir" ]; then
     42 			echo "${_ldir}/var/run/log" >> $_sockfile
     43 		fi
     44 	done
     45 
     46 	#	If other sockets have been provided, change run_rc_command()'s
     47 	#	internal copy of $syslogd_flags to force use of specific
     48 	#	syslogd sockets.
     49 	#
     50 	if [ -s $_sockfile ]; then
     51 		echo "/var/run/log" >> $_sockfile
     52 		rc_flags="-P $_sockfile $rc_flags"
     53 	fi
     54 
     55 	return 0
     56 }
     57 
     58 load_rc_config $name
     59 run_rc_command "$1"
     60