[meta-virtualization] [PATCH] lxc: bug fixes from upstream
Bruce Ashfield
bruce.ashfield at gmail.com
Tue Apr 1 17:53:30 PDT 2014
On Tue, Apr 1, 2014 at 7:58 AM, Bogdan Purcareata
<bogdan.purcareata at freescale.com> wrote:
> Adding a couple of upstream fixes for lxc:
> - follow symlinks when determining if Busybox is statically linked
> - don't fail for lxc.network.type = none
> - don't fail if no default macvlan mode is specified
>
> More details are available in the individual patches.
Looks sane.
merged.
Bruce
>
> Signed-off-by: Bogdan Purcareata <bogdan.purcareata at freescale.com>
> ---
> ...ork_type-set-macvlan-default-mode-to-priv.patch | 43 ++++++++++++++++++++++
> ...-follow-symlinks-when-inspecting-busybox-.patch | 27 ++++++++++++++
> ...-Add-missing-LXC_NET_NONE-option-refactor.patch | 38 +++++++++++++++++++
> recipes-containers/lxc/lxc_1.0.0.bb | 5 ++-
> 4 files changed, 112 insertions(+), 1 deletion(-)
> create mode 100644 recipes-containers/lxc/files/config_network_type-set-macvlan-default-mode-to-priv.patch
> create mode 100644 recipes-containers/lxc/files/lxc-busybox-follow-symlinks-when-inspecting-busybox-.patch
> create mode 100644 recipes-containers/lxc/files/network.c-Add-missing-LXC_NET_NONE-option-refactor.patch
>
> diff --git a/recipes-containers/lxc/files/config_network_type-set-macvlan-default-mode-to-priv.patch b/recipes-containers/lxc/files/config_network_type-set-macvlan-default-mode-to-priv.patch
> new file mode 100644
> index 0000000..8cb321b
> --- /dev/null
> +++ b/recipes-containers/lxc/files/config_network_type-set-macvlan-default-mode-to-priv.patch
> @@ -0,0 +1,43 @@
> +From 261658e80014c031852a024f8794dd7f2a2351ad Mon Sep 17 00:00:00 2001
> +From: Bogdan Purcareata <bogdan.purcareata at freescale.com>
> +Date: Fri, 28 Mar 2014 10:31:41 -0400
> +Subject: [PATCH] config_network_type: set macvlan default mode to private
> +
> +If a default mode is not set, the container requires an explicit
> +mode specified in the config file, otherwise creating the
> +container fails.
> +
> +Signed-off-by: Bogdan Purcareata <bogdan.purcareata at freescale.com>
> +Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
> +---
> + src/lxc/confile.c | 6 +++++-
> + 1 file changed, 5 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/lxc/confile.c b/src/lxc/confile.c
> +index d6cf151..90fb344 100644
> +--- a/src/lxc/confile.c
> ++++ b/src/lxc/confile.c
> +@@ -303,6 +303,8 @@ out:
> + return ret;
> + }
> +
> ++static int macvlan_mode(int *valuep, const char *value);
> ++
> + static int config_network_type(const char *key, const char *value,
> + struct lxc_conf *lxc_conf)
> + {
> +@@ -337,8 +339,10 @@ static int config_network_type(const char *key, const char *value,
> +
> + if (!strcmp(value, "veth"))
> + netdev->type = LXC_NET_VETH;
> +- else if (!strcmp(value, "macvlan"))
> ++ else if (!strcmp(value, "macvlan")) {
> + netdev->type = LXC_NET_MACVLAN;
> ++ macvlan_mode(&netdev->priv.macvlan_attr.mode, "private");
> ++ }
> + else if (!strcmp(value, "vlan"))
> + netdev->type = LXC_NET_VLAN;
> + else if (!strcmp(value, "phys"))
> +--
> +1.9.rc1
> +
> diff --git a/recipes-containers/lxc/files/lxc-busybox-follow-symlinks-when-inspecting-busybox-.patch b/recipes-containers/lxc/files/lxc-busybox-follow-symlinks-when-inspecting-busybox-.patch
> new file mode 100644
> index 0000000..6882c16
> --- /dev/null
> +++ b/recipes-containers/lxc/files/lxc-busybox-follow-symlinks-when-inspecting-busybox-.patch
> @@ -0,0 +1,27 @@
> +From 50dbb8209bf65e4d24ccd06d3ca05004d0ddc63c Mon Sep 17 00:00:00 2001
> +From: Bogdan Purcareata <bogdan.purcareata at freescale.com>
> +Date: Mon, 24 Mar 2014 12:43:03 -0400
> +Subject: [PATCH] lxc-busybox: follow symlinks when inspecting busybox binary
> +
> +Signed-off-by: Bogdan Purcareata <bogdan.purcareata at freescale.com>
> +Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
> +---
> + templates/lxc-busybox.in | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
> +index e5a512a..246e743 100644
> +--- a/templates/lxc-busybox.in
> ++++ b/templates/lxc-busybox.in
> +@@ -187,7 +187,7 @@ configure_busybox()
> + return 1
> + fi
> +
> +- file $(which busybox) | grep -q "statically linked"
> ++ file -L $(which busybox) | grep -q "statically linked"
> + if [ $? -ne 0 ]; then
> + echo "warning : busybox is not statically linked."
> + echo "warning : The template script may not correctly"
> +--
> +1.9.rc1
> +
> diff --git a/recipes-containers/lxc/files/network.c-Add-missing-LXC_NET_NONE-option-refactor.patch b/recipes-containers/lxc/files/network.c-Add-missing-LXC_NET_NONE-option-refactor.patch
> new file mode 100644
> index 0000000..81fde83
> --- /dev/null
> +++ b/recipes-containers/lxc/files/network.c-Add-missing-LXC_NET_NONE-option-refactor.patch
> @@ -0,0 +1,38 @@
> +From b343592b45c91db8c18e863fac5ab8eeb94445d6 Mon Sep 17 00:00:00 2001
> +From: Bogdan Purcareata <bogdan.purcareata at freescale.com>
> +Date: Wed, 26 Mar 2014 11:35:09 -0400
> +Subject: [PATCH] network.c: Add missing LXC_NET_NONE option + refactor
> +
> +Add LXC_NET_NONE to known lxc_network_types, so parsing a config
> +file with lxc.network.type = none does not result in failure
> +(e.g. doc/examples/lxc-no-netns.conf). Options have also been
> +reordered to match the enum in conf.h.
> +
> +Signed-off-by: Bogdan Purcareata <bogdan.purcareata at freescale.com>
> +Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
> +---
> + src/lxc/network.c | 5 +++--
> + 1 file changed, 3 insertions(+), 2 deletions(-)
> +
> +diff --git a/src/lxc/network.c b/src/lxc/network.c
> +index 090b9bd..a9900de 100644
> +--- a/src/lxc/network.c
> ++++ b/src/lxc/network.c
> +@@ -1202,11 +1202,12 @@ int lxc_bridge_attach(const char *bridge, const char *ifname)
> + }
> +
> + static const char* const lxc_network_types[LXC_NET_MAXCONFTYPE + 1] = {
> ++ [LXC_NET_EMPTY] = "empty",
> + [LXC_NET_VETH] = "veth",
> + [LXC_NET_MACVLAN] = "macvlan",
> +- [LXC_NET_VLAN] = "vlan",
> + [LXC_NET_PHYS] = "phys",
> +- [LXC_NET_EMPTY] = "empty",
> ++ [LXC_NET_VLAN] = "vlan",
> ++ [LXC_NET_NONE] = "none",
> + };
> +
> + const char *lxc_net_type_to_str(int type)
> +--
> +1.9.rc1
> +
> diff --git a/recipes-containers/lxc/lxc_1.0.0.bb b/recipes-containers/lxc/lxc_1.0.0.bb
> index 36ac78d..d5fc680 100644
> --- a/recipes-containers/lxc/lxc_1.0.0.bb
> +++ b/recipes-containers/lxc/lxc_1.0.0.bb
> @@ -3,7 +3,7 @@ SECTION = "console/utils"
> LICENSE = "GPLv2"
> LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
> PRIORITY = "optional"
> -PR = "r3"
> +PR = "r4"
> DEPENDS = "libxml2 libcap"
> RDEPENDS_${PN} = " \
> rsync \
> @@ -23,6 +23,9 @@ RDEPENDS_${PN} = " \
>
> SRC_URI = "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \
> file://lxc-1.0.0-disable-udhcp-from-busybox-template.patch \
> + file://config_network_type-set-macvlan-default-mode-to-priv.patch \
> + file://lxc-busybox-follow-symlinks-when-inspecting-busybox-.patch \
> + file://network.c-Add-missing-LXC_NET_NONE-option-refactor.patch \
> "
> SRC_URI[md5sum] = "87a9d168a6e55326303cce3b2cb7f82e"
> SRC_URI[sha256sum] = "0992212ddaad01dfe8c048e130566b73dd5f34191585f36bdac07a4f8a91f3bd"
> --
> 1.9.rc1
>
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
--
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
More information about the meta-virtualization
mailing list