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