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