]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-fedrora: New patch for systemd detection and init configuration.
authorMichael H. Warfield <mhw@WittsEnd.com>
Thu, 15 Aug 2013 17:57:50 +0000 (13:57 -0400)
committerSerge Hallyn <serge.hallyn@ubuntu.com>
Thu, 15 Aug 2013 18:32:53 +0000 (13:32 -0500)
Satoshi Matsumoto certainly had the right idea and in spotting a bug in
the lxc-fedora template for systemd detection.  Heart was in the right
spot but patch was not what we needed.

I've looked the patch code over for systemd support and init/upstart
support and modified the logic appropriately.  If /etc/systemd/system
exists, we'll do the right thing by systemd.  If /etc/rc.sysinit exists,
we'll do the right thing by init / upstart.  If both are installed,
we'll trying and accommodate both in case someone is playing games with
the two (I've done this).

Patch was trivial, just took more time to actually test it and create
some containers with it and verify them, than it did to code them.

Signed-off-by: Michael H. Warfield <mhw@WittsEnd.com>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
templates/lxc-fedora.in

index 23728c6bd562fd405dc65b3f8d0aa280452f771a..841af161cf225cf1d17389541287080122bf9efb 100644 (file)
@@ -567,13 +567,20 @@ if [ $? -ne 0 ]; then
     exit 1
 fi
 
-type /bin/systemd >/dev/null 2>&1
-if [ $? -ne 0 ]; then
-    configure_fedora_init
-else
+# If the systemd configuration directory exists - set it up for what we need.
+if [ -d ${rootfs_path}/etc/systemd/system ]
+then
     configure_fedora_systemd
 fi
 
+# This configuration (rc.sysinit) is not inconsistent with the systemd stuff
+# above and may actually coexist on some upgraded systems.  Let's just make
+# sure that, if it exists, we update this file, even if it's not used...
+if [ -f ${rootfs_path}/etc/rc.sysinit ]
+then
+    configure_fedora_init
+fi
+
 if [ ! -z $clean ]; then
     clean || exit 1
     exit 0