- syslog-service: Added SYSLOG_REQUIRES_NETWORK variable allowing
the user to configure (override) whether the syslog daemon config requires network or can be started early. Default is to detect it for syslogd and syslog-ng and to just start rsyslogd early with its normal config. Removed the rsyslog.early.conf use as it is usually not needed [enable on-disk queues] (bnc#728565). OBS-URL: https://build.opensuse.org/package/show/Base:System/syslogd?expand=0&rev=79
This commit is contained in:
parent
3f03d43a89
commit
478adbdebe
@ -41,7 +41,7 @@ test -x "${BINDIR}/$SYSLOG_DAEMON" || {
|
|||||||
case "$SYSLOG_DAEMON" in
|
case "$SYSLOG_DAEMON" in
|
||||||
rsyslogd)
|
rsyslogd)
|
||||||
syslog=rsyslogd
|
syslog=rsyslogd
|
||||||
config=/etc/rsyslog.early.conf
|
config=/etc/rsyslog.conf
|
||||||
;;
|
;;
|
||||||
syslog-ng)
|
syslog-ng)
|
||||||
syslog=syslog-ng
|
syslog=syslog-ng
|
||||||
@ -71,22 +71,41 @@ test -x ${klog_bin} || {
|
|||||||
|
|
||||||
case "$SYSLOG_DAEMON" in
|
case "$SYSLOG_DAEMON" in
|
||||||
syslog-ng)
|
syslog-ng)
|
||||||
while read line ; do
|
case ${SYSLOG_REQUIRES_NETWORK} in
|
||||||
case "$line" in
|
yes) exit 0 ;;
|
||||||
\#*|"") continue ;;
|
no) ;;
|
||||||
*udp\ *|*udp\(*) exit 0 ;;
|
"")
|
||||||
*tcp\ *|*tcp\(*) exit 0 ;;
|
while read line ; do
|
||||||
esac
|
case "$line" in
|
||||||
done < ${config}
|
\#*|"") continue ;;
|
||||||
|
*udp\ *|*udp\(*) exit 0 ;;
|
||||||
|
*tcp\ *|*tcp\(*) exit 0 ;;
|
||||||
|
esac
|
||||||
|
done < ${config}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
rsyslogd)
|
||||||
|
# Network is usually not required for properly configured
|
||||||
|
# rsyslogd with enabled on-disk queues for remote logging,
|
||||||
|
# so we just start it with its normal configuration.
|
||||||
|
# "yes" allows the user to disable the early start.
|
||||||
|
case ${SYSLOG_REQUIRES_NETWORK} in
|
||||||
|
yes) exit 0 ;;
|
||||||
|
no|"") ;;
|
||||||
|
esac
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# in hope this works with the rsyslog.early.conf file
|
case ${SYSLOG_REQUIRES_NETWORK} in
|
||||||
# (hard to implement for rsyslog with its includes/if
|
yes) exit 0 ;;
|
||||||
# statements)...
|
no) ;;
|
||||||
while read select action ; do
|
"")
|
||||||
case "$select" in \#*|"") continue ;; esac
|
while read select action ; do
|
||||||
case "$action" in *@*) exit 0 ;; esac
|
case "$select" in \#*|"") continue ;; esac
|
||||||
done < ${config}
|
case "$action" in *@*) exit 0 ;; esac
|
||||||
|
done < ${config}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -40,15 +40,11 @@ start_klogd=yes
|
|||||||
case "$SYSLOG_DAEMON" in
|
case "$SYSLOG_DAEMON" in
|
||||||
rsyslogd)
|
rsyslogd)
|
||||||
syslog=rsyslogd
|
syslog=rsyslogd
|
||||||
mkdir -p -m 0755 /var/run/rsyslog
|
config=/etc/rsyslog.conf
|
||||||
if test "$2" = "early" ; then
|
|
||||||
config=/etc/rsyslog.early.conf
|
|
||||||
else
|
|
||||||
config=/etc/rsyslog.conf
|
|
||||||
fi
|
|
||||||
compat=${RSYSLOGD_COMPAT_VERSION:-${RSYSLOGD_NATIVE_VERSION}}
|
compat=${RSYSLOGD_COMPAT_VERSION:-${RSYSLOGD_NATIVE_VERSION}}
|
||||||
params="-c ${compat:-3} -f $config $RSYSLOGD_PARAMS"
|
params="-c ${compat:-3} -f $config $RSYSLOGD_PARAMS"
|
||||||
rsocks="/var/run/rsyslog/additional-log-sockets.conf"
|
rsocks="/var/run/rsyslog/additional-log-sockets.conf"
|
||||||
|
mkdir -p -m 0755 /var/run/rsyslog
|
||||||
test -r "$config" && \
|
test -r "$config" && \
|
||||||
while read one two rest ; do
|
while read one two rest ; do
|
||||||
test "x$one" = 'x$ModLoad' && \
|
test "x$one" = 'x$ModLoad' && \
|
||||||
|
@ -10,3 +10,21 @@
|
|||||||
# "syslogd", "syslog-ng", "rsyslogd" or "" for autodetect.
|
# "syslogd", "syslog-ng", "rsyslogd" or "" for autodetect.
|
||||||
#
|
#
|
||||||
SYSLOG_DAEMON=""
|
SYSLOG_DAEMON=""
|
||||||
|
|
||||||
|
## Type: list(yes,no,"")
|
||||||
|
## Default: ""
|
||||||
|
## Config: ""
|
||||||
|
## ServiceRestart: syslog
|
||||||
|
#
|
||||||
|
# Specify whether the syslog configuration requires network.
|
||||||
|
# Set to "yes" to delay the syslog daemon start until network
|
||||||
|
# is already started, set to "no" to start it earlier.
|
||||||
|
#
|
||||||
|
# The behavior of the default setting "" depends on the daemon
|
||||||
|
# specified in the SYSLOG_DAEMON variable and on the current
|
||||||
|
# implementation of the init / systemd scripts. It may cause
|
||||||
|
# a try to detect whether network is required for the config
|
||||||
|
# or choose one of the above modi.
|
||||||
|
#
|
||||||
|
SYSLOG_REQUIRES_NETWORK=""
|
||||||
|
|
||||||
|
@ -86,15 +86,22 @@ syslog-ng)
|
|||||||
config=/etc/syslog-ng/syslog-ng.conf
|
config=/etc/syslog-ng/syslog-ng.conf
|
||||||
socksdir=/var/run/syslog-ng
|
socksdir=/var/run/syslog-ng
|
||||||
socks=$socksdir/additional-log-sockets.conf
|
socks=$socksdir/additional-log-sockets.conf
|
||||||
if test -s "$config" ; then
|
case ${SYSLOG_REQUIRES_NETWORK} in
|
||||||
while read line ; do
|
yes) network=network.target ;;
|
||||||
case "$line" in
|
no) ;;
|
||||||
\#*|"") continue ;;
|
"") # OK, try to detect it; does not
|
||||||
*udp\ *|*udp\(*) network=network.target ;;
|
# work with include files ...
|
||||||
*tcp\ *|*tcp\(*) network=network.target ;;
|
if test -s "$config" ; then
|
||||||
esac
|
while read line ; do
|
||||||
done < ${config}
|
case "$line" in
|
||||||
fi
|
\#*|"") continue ;;
|
||||||
|
*udp\ *|*udp\(*) network=network.target ;;
|
||||||
|
*tcp\ *|*tcp\(*) network=network.target ;;
|
||||||
|
esac
|
||||||
|
done < ${config}
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
if test -r "$config" ; then
|
if test -r "$config" ; then
|
||||||
while read line; do
|
while read line; do
|
||||||
case $line in
|
case $line in
|
||||||
@ -113,26 +120,13 @@ rsyslogd)
|
|||||||
config=/etc/rsyslog.conf
|
config=/etc/rsyslog.conf
|
||||||
socksdir=/var/run/rsyslog
|
socksdir=/var/run/rsyslog
|
||||||
socks=$socksdir/additional-log-sockets.conf
|
socks=$socksdir/additional-log-sockets.conf
|
||||||
#
|
# Network is usually not required for properly configured
|
||||||
# In hope this works with the rsyslog.early.conf file
|
# rsyslogd with enabled on-disk queues for remote logging,
|
||||||
# (hard to implement for rsyslog with its includes/if
|
# so we just start it with its normal configuration.
|
||||||
# statements)...
|
# "yes" allows the user to disable the early start.
|
||||||
#
|
case ${SYSLOG_REQUIRES_NETWORK} in
|
||||||
if test -s "$config" ; then
|
yes) network=network.target ;;
|
||||||
while read select action ; do
|
esac
|
||||||
case "$select" in
|
|
||||||
\#*|"")
|
|
||||||
continue
|
|
||||||
esac
|
|
||||||
case "$action" in
|
|
||||||
*@*)
|
|
||||||
network=network.target
|
|
||||||
break
|
|
||||||
esac
|
|
||||||
done < ${config}
|
|
||||||
else
|
|
||||||
config=/etc/rsyslog.early.conf
|
|
||||||
fi
|
|
||||||
if test -r "$config" ; then
|
if test -r "$config" ; then
|
||||||
while read one two rest ; do
|
while read one two rest ; do
|
||||||
if test "$one" = '$ModLoad' -a "$two" = 'imklog.so' ; then
|
if test "$one" = '$ModLoad' -a "$two" = 'imklog.so' ; then
|
||||||
@ -151,12 +145,19 @@ rsyslogd)
|
|||||||
config=/etc/syslog.conf
|
config=/etc/syslog.conf
|
||||||
socksdir=/var/run/syslog
|
socksdir=/var/run/syslog
|
||||||
socks=$socksdir/additional-log-sockets.env
|
socks=$socksdir/additional-log-sockets.env
|
||||||
if test -s "$config" ; then
|
network=
|
||||||
while read select action ; do
|
case ${SYSLOG_REQUIRES_NETWORK} in
|
||||||
case "$select" in \#*|"") continue ;; esac
|
yes) network=network.target ;;
|
||||||
case "$action" in *@*) network=network.target ;; esac
|
no) ;;
|
||||||
done < ${config}
|
"") # Try to detect it
|
||||||
fi
|
if test -s "$config" ; then
|
||||||
|
while read select action ; do
|
||||||
|
case "$select" in \#*|"") continue ;; esac
|
||||||
|
case "$action" in *@*) network=network.target ;; esac
|
||||||
|
done < ${config}
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
/bin/mkdir -p -m 0755 ${socksdir#/var}
|
/bin/mkdir -p -m 0755 ${socksdir#/var}
|
||||||
touch ${socks#/var}
|
touch ${socks#/var}
|
||||||
params="$SYSLOGD_PARAMS"
|
params="$SYSLOGD_PARAMS"
|
||||||
|
@ -1,3 +1,13 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 20 12:25:12 UTC 2012 - mt@suse.com
|
||||||
|
|
||||||
|
- syslog-service: Added SYSLOG_REQUIRES_NETWORK variable allowing
|
||||||
|
the user to configure (override) whether the syslog daemon config
|
||||||
|
requires network or can be started early. Default is to detect
|
||||||
|
it for syslogd and syslog-ng and to just start rsyslogd early
|
||||||
|
with its normal config. Removed the rsyslog.early.conf use as it
|
||||||
|
is usually not needed [enable on-disk queues] (bnc#728565).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 3 16:31:30 UTC 2012 - werner@suse.de
|
Fri Feb 3 16:31:30 UTC 2012 - werner@suse.de
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package syslogd
|
# spec file for package syslogd
|
||||||
#
|
#
|
||||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
Loading…
x
Reference in New Issue
Block a user