lxc: remove dependency on headers >= 3.0
commit598d1e53c1a15bb983ed96a19db411bbcdfd97df
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 16 Mar 2016 20:20:11 +0000 (16 21:20 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 18 Mar 2016 21:12:16 +0000 (18 22:12 +0100)
treec2dc2d87078c1673e99277e04a22b80695a9118e
parent56f015b3f5e3b03766a9de40af1e1c5b87d3b11d
lxc: remove dependency on headers >= 3.0

Now that libcap no longer needs kernel headers >= 3.0, we can remove
this dependency from lxc. However, building with headers 2.6.32
exhibits a build issue caused by the redefinition of the setns()
function.

Since setns() is not implemented in the C library, lxc provides its
own version. However, for some reason, while the C library doesn't
implement setns(), it provides a prototype for it, which is not
exactly the same as the one in lxc, causing a build failure. We re-use
a solution implemented in gdb to solve the same problem: define in lxc
a function called do_setns(), which calls setns() when available, or
manually does the system call otherwise.

Of course, with old kernels the system call will not be available, so
things will fail at runtime, but this was anyway already the behavior
of lxc's setns() dummy implementation.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/lxc/0002-src-lxc-utils.h-don-t-redefine-setns.patch [new file with mode: 0644]
package/lxc/Config.in