mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-18 10:35:55 +00:00
8801556beb
systems are fully "ready to go". 'FILESYSTEMS' states: "This is a dummy dependency, for services which require file systems to be mounted before starting." However, we have 'var' which is was run after 'FILESYSTEMS' and can mount /var if it already isn't mounted. Furthermore, several scripts cannot use /var until 'cleanvar' has done its thing. Thus "FILESYSTEMS" hasn't really meant all critical file systems are fully usable.
73 lines
1.4 KiB
Bash
Executable File
73 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: syslogd
|
|
# REQUIRE: mountcritremote FILESYSTEMS newsyslog
|
|
# BEFORE: SERVERS
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="syslogd"
|
|
rcvar="syslogd_enable"
|
|
pidfile="/var/run/syslog.pid"
|
|
command="/usr/sbin/${name}"
|
|
required_files="/etc/syslog.conf"
|
|
start_precmd="syslogd_precmd"
|
|
extra_commands="reload"
|
|
|
|
sockfile="/var/run/syslogd.sockets"
|
|
evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
|
|
altlog_proglist="named"
|
|
|
|
syslogd_precmd()
|
|
{
|
|
local _l _ldir
|
|
|
|
# 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 ${_l}_enable && [ -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()
|
|
{
|
|
local _s _socketargs
|
|
|
|
_socketargs=
|
|
for _s in `cat $sockfile | tr '\n' ' '` ; do
|
|
_socketargs="-l $_s $_socketargs"
|
|
done
|
|
echo $_socketargs
|
|
}
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|