freebsd-skq/etc/rc.d/syslogd
Mike Makonnen 1afce00360 Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, begin removal
of NetBSD specific stuff (which made our scripts more complicated
than necessary), starting with the NetBSD KEYWORD.
2004-01-17 10:16:38 +00:00

81 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: syslogd,v 1.12 2002/03/22 04:34:00 thorpej Exp $
# $FreeBSD$
#
# PROVIDE: syslogd
# REQUIRE: mountcritremote sysdb wscons
# BEFORE: SERVERS
# KEYWORD: FreeBSD
. /etc/rc.subr
name="syslogd"
rcvar=`set_rcvar`
command="/usr/sbin/${name}"
required_files="/etc/syslog.conf"
start_precmd="syslogd_precmd"
extra_commands="reload"
_sockfile="/var/run/syslogd.sockets"
case ${OSTYPE} in
FreeBSD)
pidfile="/var/run/syslog.pid"
evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
altlog_proglist="named"
;;
NetBSD)
pidfile="/var/run/${name}.pid"
evalargs="rc_flags=\"-P \$_sockfile \$rc_flags\""
altlog_proglist="named ntpd"
;;
esac
syslogd_precmd()
{
# Transitional symlink for old binaries
#
if [ ! -L /dev/log ]; then
ln -sf /var/run/log /dev/log
fi
rm -f /var/run/log
# Create default list of syslog sockets to watch
#
( umask 022 ; > $_sockfile )
# If running named(8) or ntpd(8) chrooted, added appropriate
# syslog socket to list of sockets to watch.
#
for _l in $altlog_proglist; do
eval _ldir=\$${_l}_chrootdir
if checkyesno `set_rcvar $_l` && [ -n "$_ldir" ]; then
echo "${_ldir}/var/run/log" >> $_sockfile
fi
done
# If other sockets have been provided, change run_rc_command()'s
# internal copy of $syslogd_flags to force use of specific
# syslogd sockets.
#
if [ -s $_sockfile ]; then
echo "/var/run/log" >> $_sockfile
eval $evalargs
fi
return 0
}
set_socketlist()
{
_socketargs=
for _s in `cat $_sockfile | tr '\n' ' '` ; do
_socketargs="-l $_s $_socketargs"
done
echo $_socketargs
}
load_rc_config $name
run_rc_command "$1"