[lxc-devel] [lxc/lxc] b71f50: lua: respect configure's --prefix

GitHub noreply at github.com
Wed Mar 5 03:47:37 UTC 2014


  Branch: refs/heads/stable-1.0
  Home:   https://github.com/lxc/lxc
  Commit: b71f50dcaaa5a671065d51a0355e211e5f5b1d7f
      https://github.com/lxc/lxc/commit/b71f50dcaaa5a671065d51a0355e211e5f5b1d7f
  Author: Natanael Copa <ncopa at alpinelinux.org>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M configure.ac
    M src/lua-lxc/Makefile.am

  Log Message:
  -----------
  lua: respect configure's --prefix

Install lua files under the confiugred --prefix rather than use the
pkg-config's variables LUA_INSTALL_[CL]MOD.

Users will likely want user --prefix while packagers will use DESTDIR.
Set the default to $datadir/lua/$LUA_VERSION for arch independent
lua modules and $libdir/lua/$LUA_VERSION for arch dependant .so module.

This should work for most distros. If it does not, then packagers
can still do:

  make install lualibdir=$(pkg-config lua --variable=INSTALL_CMOD) ...

This fixes #169

Signed-off-by: Natanael Copa <ncopa at alpinelinux.org>
Acked-by: Dwight Engen <dwight.engen at oracle.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 7faf057b9f5630b39fce42c3774233f44ff5dab7
      https://github.com/lxc/lxc/commit/7faf057b9f5630b39fce42c3774233f44ff5dab7
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M src/lxc/conf.c

  Log Message:
  -----------
  chown_mapped_rootid: don't double-map root id

If the user maps container root to his host uid, chown_mapped_rootid
tries to make the same mapping twice and gets -EINVAL.

Reported-by: Andy Whitcroft <apw at canonical.com>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 9626da7f7ae6522425996be4cffc47e694dffa90
      https://github.com/lxc/lxc/commit/9626da7f7ae6522425996be4cffc47e694dffa90
  Author: Stéphane Graber <stgraber at ubuntu.com>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M src/python-lxc/lxc/__init__.py

  Log Message:
  -----------
  python3: Export get_global_config_item

get_global_config_item was added in _lxc but not mapped into lxc itself,
this resolves this oversight.

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>


  Commit: f52d6fb583d27e97640935b3e4d92d609216e18f
      https://github.com/lxc/lxc/commit/f52d6fb583d27e97640935b3e4d92d609216e18f
  Author: Stéphane Graber <stgraber at ubuntu.com>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M configure.ac
    R src/lxc/lxc-ls
    A src/lxc/lxc-ls.in

  Log Message:
  -----------
  lxc-ls: Fix support of --nesting for unpriv

This reworks the way lxc-ls works in nesting mode. In the past it'd use
attach_wait's subprocess function to call itself in the container's
namespace, carefully only attaching to the namespaces it needed.

This works great for system containers but not so much as soon as you
also need to attach to userns. Instead this fix moves all of the
container listing code into a get_containers function (hence the massive
diff, sorry), this function is then called recursively.

For running containers, the function is called through attach_wait
inside the container's namespace, for stopped container, the function is
simply called recursively with a base path (container's rootfs) in an
attempt to find containers that way.
Communication between the parent lxc-ls and the child lxc-ls is done
through a temporary fd and serialized state using json (similar to what
was done using stdout in the previous implementation).

As get_global_config_item unfortunately caches the values, there's no
easy way to figure out what the lxcpath should be for a root container
when running as non-root, so just use @LXCPATH@ for now and have
python do the parsing itself.

As a result, the following things now work as expected:
 - listing nested unprivileged containers (root containers inside unpriv)
 - listing nested containers when they're not running
 - filtering containers in nesting mode (only the first level is filtered)
 - copy with invalid config (used to traceback)

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>


  Commit: b0aedacb5135b0800090fc1aa161986449872b0b
      https://github.com/lxc/lxc/commit/b0aedacb5135b0800090fc1aa161986449872b0b
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M src/lxc/cgmanager.c
    M src/lxc/cgroup.c
    M src/lxc/cgroup.h
    M src/lxc/lxccontainer.c
    M src/lxc/start.c

  Log Message:
  -----------
  cgmanager updates

1. remove the cgm_dbus_disconnected handler.  We're using a proxy
   anyway, and not keeping it around.

2. comment most of the cgm functions to describe when they are called, to
   ease locking review

3. the cgmanager mutex is now held for the duration of a connection, from
   cgm_dbus_connect to cgm_dbus_disconnect.

3b. so remove the mutex lock/unlock from functions which are called during
   container startup with the cgmanager connection already up

4. remove the cgroup_restart().  It's no longer needed since we don't
   daemonize while we have the cgmanager socket open.

5. report errors and return early if cgm_dbus_connect() fails

6. don't keep the cgm connection open after cgm_ops_init.  I'm a bit torn
   on this one as it means that things like lxc-start will always connect
   twice.  But if we do this there is no good answer, given threaded API
   users, on when to drop that initial connection.

7. cgm_unfreeze and nrtasks: grab the dbus connection, as we'll never
   have it at that point.  (technically i doubt anyone will use
   cgmanager and utmp helper on the same host :)

8. lxc_spawn: make sure we only disconnect cgroups if they were already
   connected.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 3c43b7a8fbd8c5cec1b65f6fed29b279a752d519
      https://github.com/lxc/lxc/commit/3c43b7a8fbd8c5cec1b65f6fed29b279a752d519
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M src/lxc/cgmanager.c

  Log Message:
  -----------
  cgmanager: switch to TLS

Drop the thread mutex.  Set a (TLS) boolean at container start to
indicate that the connection should be kept open;  set it back to false
only when container start is complete.  Every cgm_ method opens the
connection if not already open, and closes it if cgm_keep_connection
is false.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 94f835fcfcdf5d190af0be1096d9daf14f4bf125
      https://github.com/lxc/lxc/commit/94f835fcfcdf5d190af0be1096d9daf14f4bf125
  Author: Stéphane Graber <stgraber at ubuntu.com>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  Update gitignore for lxc-ls

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 0faa844caee73326eeac118ddaeb5b0e5f4a0707
      https://github.com/lxc/lxc/commit/0faa844caee73326eeac118ddaeb5b0e5f4a0707
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M src/lxc/lxccontainer.c
    M src/tests/snapshot.c

  Log Message:
  -----------
  snapshot: fix overlayfs restore

And add a testcase to catch regressions.

Without this patch, restoring a snapshot of an overlayfs based
container fails, because we do not pass in LXC_CLONE_SNAPSHOT,
and overlayfs does not support clone without snapshot.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


Compare: https://github.com/lxc/lxc/compare/b57b58d44af3...0faa844caee7


More information about the lxc-devel mailing list