diff options
Diffstat (limited to 'debian/rsyslog.preinst')
-rw-r--r-- | debian/rsyslog.preinst | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/debian/rsyslog.preinst b/debian/rsyslog.preinst index fce810f..8058953 100644 --- a/debian/rsyslog.preinst +++ b/debian/rsyslog.preinst @@ -2,7 +2,7 @@ set -e -if [ "$1" = "install" -a -n "$2" ] ; then +if [ "$1" = "install" ] && [ -n "$2" ] ; then [ -f /etc/logrotate.d/rsyslog.disabled ] && mv -f /etc/logrotate.d/rsyslog.disabled /etc/logrotate.d/rsyslog fi @@ -10,6 +10,16 @@ if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt "5.7.8-1" ; then rm -f /etc/systemd/system/sockets.target.wants/rsyslog.socket fi -#DEBHELPER# +# In wheezy we ship the syslog.service symlink directly in the package, in +# jessie we use init-system-helpers to create it dynamically in postinst. +# During the upgrade there is a time frame when the symlink does not exist. +# If systemd is reloaded at this point, it loses track of the rsyslogd process. +# To work around this problem, create a (runtime) copy of the syslog.service +# symlink before the upgrade and remove it again afterwards. See #724796 +if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt "7.4.1-2" ; then + if [ -d /run/systemd/system ] && [ -L /etc/systemd/system/syslog.service ] ; then + ln -sf /lib/systemd/system/rsyslog.service /run/systemd/system/syslog.service + fi +fi -exit 0 +#DEBHELPER# |