[lxc-devel] [PATCH 1/1] move lxc-init to /sbin/init.lxc
Stéphane Graber
stgraber at ubuntu.com
Thu Mar 27 18:23:42 UTC 2014
On Thu, Mar 27, 2014 at 10:36:06AM -0500, Serge Hallyn wrote:
> 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 at ubuntu.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>
> ---
> configure.ac | 1 +
> src/lxc/Makefile.am | 7 ++++---
> src/lxc/execute.c | 16 +++++++++++-----
> 3 files changed, 16 insertions(+), 8 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index e352840..8f62c35 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -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")
> diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am
> index e69c9a6..ab8a46e 100644
> --- a/src/lxc/Makefile.am
> +++ b/src/lxc/Makefile.am
> @@ -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
> diff --git a/src/lxc/execute.c b/src/lxc/execute.c
> index b4f3ed9..9a84131 100644
> --- a/src/lxc/execute.c
> +++ b/src/lxc/execute.c
> @@ -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");
> --
> 1.9.1
>
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
--
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20140327/5ba42f3d/attachment.pgp>
More information about the lxc-devel
mailing list