summaryrefslogtreecommitdiff
path: root/debian/rsyslog.preinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rsyslog.preinst')
-rw-r--r--debian/rsyslog.preinst13
1 files changed, 13 insertions, 0 deletions
diff --git a/debian/rsyslog.preinst b/debian/rsyslog.preinst
index ae2c5f0..c15556c 100644
--- a/debian/rsyslog.preinst
+++ b/debian/rsyslog.preinst
@@ -10,4 +10,17 @@ if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt "5.7.8-1" ; then
rm -f /etc/systemd/system/sockets.target.wants/rsyslog.socket
fi
+# 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 [ -d /run/systemd/system ] && dpkg --compare-versions "$2" lt "7.4.1-2" ; then
+ target=$(readlink /etc/systemd/system/syslog.service)
+ if [ "$target" = /lib/systemd/system/rsyslog.service ] ; then
+ ln -sf "$target" /run/systemd/system/syslog.service
+ fi
+fi
+
#DEBHELPER#