]> git.proxmox.com Git - mirror_lxc.git/commitdiff
move lxc-init to /sbin/init.lxc
authorSerge Hallyn <serge.hallyn@ubuntu.com>
Thu, 27 Mar 2014 15:36:06 +0000 (10:36 -0500)
committerStéphane Graber <stgraber@ubuntu.com>
Thu, 27 Mar 2014 18:23:55 +0000 (14:23 -0400)
Using the multiarch dir causes problems when running lxc-execute
on amd64 with an i386 container.  /sbin/lxc-init is a more confusing
name and will show up in 'lxc<tab>'.  /sbin/init.lxc should be quite
obvious as an init for lxc.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
configure.ac
src/lxc/Makefile.am
src/lxc/execute.c

index e3528403882d1fb33f07ec61b98bc5ba5c6ca8d8..8f62c35229a759d2512c0216da0eb11311eb01c2 100644 (file)
@@ -470,6 +470,7 @@ AC_ARG_WITH([log-path],
 AS_AC_EXPAND(PREFIX, "$prefix")
 AS_AC_EXPAND(LIBDIR, "$libdir")
 AS_AC_EXPAND(BINDIR, "$bindir")
+AS_AC_EXPAND(SBINDIR, "$sbindir")
 AS_AC_EXPAND(LIBEXECDIR, "$libexecdir")
 AS_AC_EXPAND(INCLUDEDIR, "$includedir")
 AS_AC_EXPAND(SYSCONFDIR, "$sysconfdir")
index e69c9a653203455b67a89256a186ea4fada06b60..ab8a46e6ad606a8901aa89382b6153756d9df493 100644 (file)
@@ -121,7 +121,8 @@ AM_CFLAGS=-I$(top_srcdir)/src \
        -DLXC_USERNIC_DB=\"$(LXC_USERNIC_DB)\" \
        -DLXC_USERNIC_CONF=\"$(LXC_USERNIC_CONF)\" \
        -DDEFAULT_CGROUP_PATTERN=\"$(DEFAULT_CGROUP_PATTERN)\" \
-       -DRUNTIME_PATH=\"$(RUNTIME_PATH)\"
+       -DRUNTIME_PATH=\"$(RUNTIME_PATH)\" \
+       -DSBINDIR=\"$(SBINDIR)\"
 
 if ENABLE_APPARMOR
 AM_CFLAGS += -DHAVE_APPARMOR
@@ -198,8 +199,8 @@ bin_PROGRAMS = \
        lxc-usernsexec \
        lxc-wait
 
+sbin_PROGRAMS = init.lxc
 pkglibexec_PROGRAMS = \
-       lxc-init \
        lxc-monitord \
        lxc-user-nic
 
@@ -218,7 +219,7 @@ lxc_destroy_SOURCES = lxc_destroy.c
 lxc_execute_SOURCES = lxc_execute.c
 lxc_freeze_SOURCES = lxc_freeze.c
 lxc_info_SOURCES = lxc_info.c
-lxc_init_SOURCES = lxc_init.c
+init_lxc_SOURCES = lxc_init.c
 lxc_monitor_SOURCES = lxc_monitor.c
 lxc_monitord_SOURCES = lxc_monitord.c
 lxc_clone_SOURCES = lxc_clone.c
index b4f3ed945bd98b135adae2f656519640f4e23779..9a84131a4f14dbf6463d3820f5250eac2fbf2b4f 100644 (file)
@@ -38,11 +38,8 @@ struct execute_args {
        int quiet;
 };
 
-/* historically lxc-init has been under /usr/lib/lxc.  Now with
- * multi-arch it can be under /usr/lib/$ARCH/lxc.  Serge thinks
- * it makes more sense to put it under /sbin.
- * If /usr/lib/$ARCH/lxc exists and is used, then LXCINITDIR will
- * point to it.
+/* historically lxc-init has been under /usr/lib/lxc and under
+ * /usr/lib/$ARCH/lxc.  It now lives as $prefix/sbin/init.lxc.
  */
 static char *choose_init(void)
 {
@@ -52,6 +49,15 @@ static char *choose_init(void)
        if (!retv)
                return NULL;
 
+       ret = snprintf(retv, PATH_MAX, SBINDIR "/init.lxc");
+       if (ret < 0 || ret >= PATH_MAX) {
+               ERROR("pathname too long");
+               goto out1;
+       }
+       ret = stat(retv, &mystat);
+       if (ret == 0)
+               return retv;
+
        ret = snprintf(retv, PATH_MAX, LXCINITDIR "/lxc/lxc-init");
        if (ret < 0 || ret >= PATH_MAX) {
                ERROR("pathname too long");