]> err.no Git - systemd/commitdiff
Create compat /dev/initctl symlink
authorMichael Biebl <biebl@debian.org>
Fri, 16 Mar 2012 02:20:43 +0000 (03:20 +0100)
committerTollef Fog Heen <tfheen@err.no>
Mon, 2 Apr 2012 18:21:23 +0000 (20:21 +0200)
in case we are upgrading from a system running a newer version of sysvinit
(using /run/initctl) and sysvinit is replaced with systemd-sysv during the
upgrade. Closes: #663219

debian/changelog
debian/systemd-sysv.postinst [new file with mode: 0644]

index ad306a3490b79f2d197009629afc2ba46d5b9ae1..9986a3980cfd38b8cca769c60250287f4d8990e3 100644 (file)
@@ -10,6 +10,9 @@ systemd (44-1) UNRELEASED; urgency=low
 
   [ Michael Biebl ]
   * Remove workaround for non-interactive sessions from pam config again.
+  * Create compat /dev/initctl symlink in case we are upgrading from a system
+    running a newer version of sysvinit (using /run/initctl) and sysvinit is
+    replaced with systemd-sysv during the upgrade. Closes: #663219
 
  -- Tollef Fog Heen <tfheen@debian.org>  Thu, 08 Mar 2012 15:16:10 +0100
 
diff --git a/debian/systemd-sysv.postinst b/debian/systemd-sysv.postinst
new file mode 100644 (file)
index 0000000..4930d61
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# We are installing systemd-sysv but systemd is not running.
+# This most likely means we are upgrading from another init, possibly a newer
+# sysvinit version which created the initctl socket at /run/initctl.
+# systemd's sysv tools expect the socket at /dev/initctl, so create the compat
+# symlink ourselves.
+if [ ! -e /sys/fs/cgroup/systemd ] ; then
+    if [ ! -p /dev/initctl ] && [ -p /run/initctl ] ; then
+        ln -sf /run/initctl /dev/initctl
+    fi
+fi