From f3498799a82e088a3bda6829724c8923b28e96fa Mon Sep 17 00:00:00 2001 From: Bogdan Purcareata Date: Tue, 1 Apr 2014 07:58:16 -0400 Subject: lxc: bug fixes from upstream 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. Signed-off-by: Bogdan Purcareata Signed-off-by: Bruce Ashfield --- ...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 00000000..8cb321bb --- /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 +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 +Signed-off-by: Serge Hallyn +--- + 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 00000000..6882c16e --- /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 +Date: Mon, 24 Mar 2014 12:43:03 -0400 +Subject: [PATCH] lxc-busybox: follow symlinks when inspecting busybox binary + +Signed-off-by: Bogdan Purcareata +Signed-off-by: Serge Hallyn +--- + 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 00000000..81fde835 --- /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 +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 +Signed-off-by: Serge Hallyn +--- + 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 36ac78df..d5fc680a 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" -- cgit v1.2.3-54-g00ecf