[meta-virtualization] [PATCH] lxc: Upgrade to 3.0.2
mingli.yu at windriver.com
mingli.yu at windriver.com
Mon Oct 22 01:08:22 PDT 2018
From: Mingli Yu <Mingli.Yu at windriver.com>
* Refresh patch to avoid fuzz warnings
* Update to 3.0.2 as lxc-destroy failed when
system boot in nfs rootfs in lxc 3.0.1 as below:
# lxc-destroy -n test9
lxc-destroy: test9: utils.c: _recursive_rmdir: 149 Failed to delete /var/lib/lxc/test9
lxc-destroy: test9: lxccontainer.c: container_destroy: 2946 Failed to destroy directory "/var/lib/lxc/test9" for "test9"
Destroying test9 failed
Update to 3.0.2 to fix the above issue
Signed-off-by: Mingli Yu <Mingli.Yu at windriver.com>
---
...ally-use-base-filenames-to-report-src-fil.patch | 19 +-
...1.0.0-disable-udhcp-from-busybox-template.patch | 7 +-
.../lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch | 13 +-
recipes-containers/lxc/files/lxc-fix-B-S.patch | 18 +-
...ke-busybox-template-compatible-with-core-.patch | 13 +-
...s-actually-create-DOWNLOAD_TEMP-directory.patch | 6 +-
...-no-validate-when-using-download-template.patch | 12 +-
.../lxc/files/tests-our-init-is-not-busybox.patch | 10 +-
recipes-containers/lxc/lxc_3.0.1.bb | 197 ---------------------
recipes-containers/lxc/lxc_3.0.2.bb | 197 +++++++++++++++++++++
10 files changed, 243 insertions(+), 249 deletions(-)
delete mode 100644 recipes-containers/lxc/lxc_3.0.1.bb
create mode 100644 recipes-containers/lxc/lxc_3.0.2.bb
diff --git a/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch b/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch
index f430601..648193b 100644
--- a/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch
+++ b/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch
@@ -1,8 +1,9 @@
-From 4729d0f4c4d1dacd150ddfd7061dda875eb94e34 Mon Sep 17 00:00:00 2001
-Message-Id: <4729d0f4c4d1dacd150ddfd7061dda875eb94e34.1443216870.git.Jim.Somerville at windriver.com>
+From c50ddb2b2cf22a29e4c671b1efbd338eeba694aa Mon Sep 17 00:00:00 2001
From: Jim Somerville <Jim.Somerville at windriver.com>
Date: Fri, 25 Sep 2015 15:08:17 -0400
-Subject: [PATCH 1/1] logs: optionally use base filenames to report src files
+Subject: [PATCH] logs: optionally use base filenames to report src files
+
+Message-Id: <4729d0f4c4d1dacd150ddfd7061dda875eb94e34.1443216870.git.Jim.Somerville at windriver.com>
Problem: Logs are nice in that they report the source file,
routine, and line number where an issue occurs. But the
@@ -22,16 +23,17 @@ machinery, and that may still be the absolute pathname to
the file.
Signed-off-by: Jim Somerville <Jim.Somerville at windriver.com>
+
---
configure.ac | 9 +++++++++
src/lxc/log.h | 5 +++++
2 files changed, 14 insertions(+)
diff --git a/configure.ac b/configure.ac
-index deba90b..c1ed67b 100644
+index 74b976a..9c561f7 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -356,6 +356,15 @@ AM_COND_IF([ENABLE_PYTHON],
+@@ -356,6 +356,15 @@ AC_ARG_ENABLE([examples],
[], [enable_examples=yes])
AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
@@ -48,11 +50,11 @@ index deba90b..c1ed67b 100644
AC_ARG_ENABLE([mutex-debugging],
[AC_HELP_STRING([--enable-mutex-debugging], [Makes mutexes to report error and provide stack trace [default=no]])],
diff --git a/src/lxc/log.h b/src/lxc/log.h
-index 76bd4df..4365977 100644
+index 4654fd9..6885d78 100644
--- a/src/lxc/log.h
+++ b/src/lxc/log.h
@@ -77,8 +77,13 @@ struct lxc_log_locinfo {
- int line;
+ int line;
};
+#ifdef LXC_LOG_USE_BASENAME
@@ -65,6 +67,3 @@ index 76bd4df..4365977 100644
/* brief logging event object */
struct lxc_log_event {
---
-1.8.3.2
-
diff --git a/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch b/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch
index 07a12ff..85177c8 100644
--- a/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch
+++ b/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch
@@ -1,4 +1,4 @@
-From d7e07e7acb1cbad33806f49143a2a30b4468c369 Mon Sep 17 00:00:00 2001
+From 74efbe7f47379375c51948dd0f86248fb9429a1b Mon Sep 17 00:00:00 2001
From: Bogdan Purcareata <bogdan.purcareata at freescale.com>
Date: Mon, 8 Apr 2013 18:30:19 +0300
Subject: [PATCH] lxc-0.9.0-disable-udhcp-from-busybox-template
@@ -8,7 +8,7 @@ Subject: [PATCH] lxc-0.9.0-disable-udhcp-from-busybox-template
1 file changed, 1 deletion(-)
diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
-index cb425ec..bb8c951 100644
+index 7243b36..9637a71 100644
--- a/templates/lxc-busybox.in
+++ b/templates/lxc-busybox.in
@@ -111,7 +111,6 @@ EOF
@@ -19,6 +19,3 @@ index cb425ec..bb8c951 100644
EOF
# executable
----
-1.7.11.7
-
diff --git a/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch b/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch
index 5f9d771..085ffe8 100644
--- a/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch
+++ b/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch
@@ -1,8 +1,7 @@
-From 4cf207ffd64c6f815e62ecbbf25b5a378e707182 Mon Sep 17 00:00:00 2001
-Message-Id: <4cf207ffd64c6f815e62ecbbf25b5a378e707182.1439319694.git.Jim.Somerville at windriver.com>
+From 5190dce1a675dfcdf88e3b94bd48070ac180bacc Mon Sep 17 00:00:00 2001
From: Jim Somerville <Jim.Somerville at windriver.com>
Date: Tue, 11 Aug 2015 14:05:00 -0400
-Subject: [PATCH 1/1] lxc: doc: upgrade to use docbook 3.1 DTD
+Subject: [PATCH] lxc: doc: upgrade to use docbook 3.1 DTD
docbook2man fails to build the man pages in poky
due to missing the ancient Davenport 3.0 DTD.
@@ -10,15 +9,16 @@ Poky meta has the Oasis 3.1 version so upgrade
to use that instead.
Signed-off-by: Jim Somerville <Jim.Somerville at windriver.com>
+
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 4972803..2e67b5e 100644
+index 1acc461..74b976a 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -179,7 +179,7 @@ AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"])
+@@ -213,7 +213,7 @@ AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"])
AM_CONDITIONAL([USE_DOCBOOK2X], [test "x$db2xman" != "xdocbook2man"])
if test "x$db2xman" = "xdocbook2man"; then
@@ -27,6 +27,3 @@ index 4972803..2e67b5e 100644
else
docdtd="\"-//OASIS//DTD DocBook XML\" \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\""
fi
---
-1.8.3.2
-
diff --git a/recipes-containers/lxc/files/lxc-fix-B-S.patch b/recipes-containers/lxc/files/lxc-fix-B-S.patch
index a776b4f..6b09193 100644
--- a/recipes-containers/lxc/files/lxc-fix-B-S.patch
+++ b/recipes-containers/lxc/files/lxc-fix-B-S.patch
@@ -1,8 +1,16 @@
-Index: lxc-2.0.0/config/init/upstart/Makefile.am
-===================================================================
---- lxc-2.0.0.orig/config/init/upstart/Makefile.am
-+++ lxc-2.0.0/config/init/upstart/Makefile.am
-@@ -3,9 +3,9 @@
+From 2fa77a1803939de2d155a14cf680b53140b92f06 Mon Sep 17 00:00:00 2001
+From: Dmitry Eremin-Solenikov <dmitry_eremin at mentor.com>
+Date: Thu, 9 Apr 2015 23:01:48 +0300
+
+---
+ config/init/upstart/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config/init/upstart/Makefile.am b/config/init/upstart/Makefile.am
+index 5552d32..186ae3d 100644
+--- a/config/init/upstart/Makefile.am
++++ b/config/init/upstart/Makefile.am
+@@ -3,9 +3,9 @@ EXTRA_DIST = lxc.conf lxc-instance.conf lxc-net.conf.in
if INIT_SCRIPT_UPSTART
install-upstart: lxc.conf lxc-instance.conf lxc-net.conf
$(MKDIR_P) $(DESTDIR)$(sysconfdir)/init/
diff --git a/recipes-containers/lxc/files/template-make-busybox-template-compatible-with-core-.patch b/recipes-containers/lxc/files/template-make-busybox-template-compatible-with-core-.patch
index 1c6022b..e4bb72a 100644
--- a/recipes-containers/lxc/files/template-make-busybox-template-compatible-with-core-.patch
+++ b/recipes-containers/lxc/files/template-make-busybox-template-compatible-with-core-.patch
@@ -1,7 +1,8 @@
-From 0990db9b9723589606104d42ac2cf865b78e50a1 Mon Sep 17 00:00:00 2001
+From 3a7112a38d2c44b6fa49e0da1dc4765defd88dbb Mon Sep 17 00:00:00 2001
From: Mark Asselstine <mark.asselstine at windriver.com>
Date: Thu, 31 May 2018 11:44:44 -0400
Subject: [PATCH] template: make busybox template compatible with
+
core-image-minimal
The busybox template makes a lot of assumptions about how the busybox
@@ -16,12 +17,13 @@ core-image-minimal to be able to demonstrate that it can work as well
as to have it available for the ptests.
Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
+
---
templates/lxc-busybox.in | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
-index 7d00bf5..5a99103 100644
+index 9637a71..45b386f 100644
--- a/templates/lxc-busybox.in
+++ b/templates/lxc-busybox.in
@@ -181,6 +181,19 @@ configure_busybox()
@@ -44,8 +46,8 @@ index 7d00bf5..5a99103 100644
# symlink busybox for the commands it supports
# it would be nice to just use "chroot $rootfs busybox --install -s /bin"
# but that only works right in a chroot with busybox >= 1.19.0
-@@ -191,9 +204,6 @@ configure_busybox()
- xargs -n1 ln -s busybox
+@@ -189,9 +202,6 @@ configure_busybox()
+ ./busybox --list | grep -v busybox | xargs -n1 ln -s busybox
)
- # relink /sbin/init
@@ -54,6 +56,3 @@ index 7d00bf5..5a99103 100644
# /etc/fstab must exist for "mount -a"
touch "${rootfs}/etc/fstab"
---
-2.7.4
-
diff --git a/recipes-containers/lxc/files/templates-actually-create-DOWNLOAD_TEMP-directory.patch b/recipes-containers/lxc/files/templates-actually-create-DOWNLOAD_TEMP-directory.patch
index 44959db..756cddc 100644
--- a/recipes-containers/lxc/files/templates-actually-create-DOWNLOAD_TEMP-directory.patch
+++ b/recipes-containers/lxc/files/templates-actually-create-DOWNLOAD_TEMP-directory.patch
@@ -1,4 +1,4 @@
-From 1d83b86a9bf017257c068c662ec3bf52ec0cfe90 Mon Sep 17 00:00:00 2001
+From 68b0dd97130ffc5776de9219a42188b4a140d446 Mon Sep 17 00:00:00 2001
From: Mark Asselstine <mark.asselstine at windriver.com>
Date: Thu, 31 May 2018 16:21:45 -0400
Subject: [PATCH] templates: actually create DOWNLOAD_TEMP directory
@@ -17,6 +17,7 @@ location and DOWNLOAD_TEMP will be consistent with this location.
Upstream-Status: Pending
Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
+
---
templates/lxc-download.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -34,6 +35,3 @@ index 973783b..015a679 100644
fi
# Simply list images
---
-2.11.1
-
diff --git a/recipes-containers/lxc/files/tests-add-no-validate-when-using-download-template.patch b/recipes-containers/lxc/files/tests-add-no-validate-when-using-download-template.patch
index 81fd15d..abddef6 100644
--- a/recipes-containers/lxc/files/tests-add-no-validate-when-using-download-template.patch
+++ b/recipes-containers/lxc/files/tests-add-no-validate-when-using-download-template.patch
@@ -1,4 +1,4 @@
-From 0dad69a3bd306cc701c8bd4df4ea47f0ec5f9150 Mon Sep 17 00:00:00 2001
+From 1b334bdaf598600314a678509a702728721001a2 Mon Sep 17 00:00:00 2001
From: Mark Asselstine <mark.asselstine at windriver.com>
Date: Thu, 31 May 2018 15:14:26 -0400
Subject: [PATCH] tests: add '--no-validate' when using download template
@@ -9,6 +9,7 @@ interest to this test at any rate so simply add '--no-validate' to
avoid failing due to no GPG validation.
Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
+
---
src/tests/lxc-test-apparmor-mount | 2 +-
src/tests/lxc-test-autostart | 2 +-
@@ -18,10 +19,10 @@ Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/tests/lxc-test-apparmor-mount b/src/tests/lxc-test-apparmor-mount
-index ddcee8a..d3d2c49 100755
+index 56d598f..573cff8 100755
--- a/src/tests/lxc-test-apparmor-mount
+++ b/src/tests/lxc-test-apparmor-mount
-@@ -157,7 +157,7 @@ if [ -f /etc/lsb-release ]; then
+@@ -169,7 +169,7 @@ if [ -f /etc/lsb-release ]; then
done
fi
@@ -29,7 +30,7 @@ index ddcee8a..d3d2c49 100755
+run_cmd lxc-create -t download -n $cname -- --no-validate -d ubuntu -r $release -a $ARCH
echo "test default confined container"
- run_cmd lxc-start -n $cname -d
+ run_cmd lxc-start -n $cname -d -lDEBUG -o "$logfile"
diff --git a/src/tests/lxc-test-autostart b/src/tests/lxc-test-autostart
index e5b651b..d15b79b 100755
--- a/src/tests/lxc-test-autostart
@@ -82,6 +83,3 @@ index 3e35008..f489286 100755
run_cmd "lxc-start -n b1 -d"
p1=$(run_cmd "lxc-info -n b1 -p -H")
---
-2.7.4
-
diff --git a/recipes-containers/lxc/files/tests-our-init-is-not-busybox.patch b/recipes-containers/lxc/files/tests-our-init-is-not-busybox.patch
index 4c9bf65..e6c71d3 100644
--- a/recipes-containers/lxc/files/tests-our-init-is-not-busybox.patch
+++ b/recipes-containers/lxc/files/tests-our-init-is-not-busybox.patch
@@ -1,4 +1,4 @@
-From b53169dc4c53f9ef64f8cb06dd9af97182577698 Mon Sep 17 00:00:00 2001
+From 51d88d9741c30ff4a798698514cac831ae61680b Mon Sep 17 00:00:00 2001
From: Mark Asselstine <mark.asselstine at windriver.com>
Date: Thu, 31 May 2018 15:00:34 -0400
Subject: [PATCH] tests: our init is not busybox
@@ -9,15 +9,16 @@ really only interested in the fact 'cmp' is being run and not the
result, so simplify by comparing '/sbin/init' to itself.
Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
+
---
src/tests/attach.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/tests/attach.c b/src/tests/attach.c
-index 2c77127..1c182d6 100644
+index 07e641d..aac609f 100644
--- a/src/tests/attach.c
+++ b/src/tests/attach.c
-@@ -251,7 +251,7 @@ static int test_attach_cmd(struct lxc_container *ct)
+@@ -248,7 +248,7 @@ static int test_attach_cmd(struct lxc_container *ct)
{
int ret;
pid_t pid;
@@ -26,6 +27,3 @@ index 2c77127..1c182d6 100644
lxc_attach_command_t command = {"cmp", argv};
lxc_attach_options_t attach_options = LXC_ATTACH_OPTIONS_DEFAULT;
---
-2.7.4
-
diff --git a/recipes-containers/lxc/lxc_3.0.1.bb b/recipes-containers/lxc/lxc_3.0.1.bb
deleted file mode 100644
index d4bfd92..0000000
--- a/recipes-containers/lxc/lxc_3.0.1.bb
+++ /dev/null
@@ -1,197 +0,0 @@
-DESCRIPTION = "lxc aims to use these new functionnalities to provide an userspace container object"
-SECTION = "console/utils"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "libxml2 libcap"
-RDEPENDS_${PN} = " \
- rsync \
- gzip \
- xz \
- tar \
- wget \
- libcap-bin \
- bridge-utils \
- dnsmasq \
- perl-module-strict \
- perl-module-getopt-long \
- perl-module-vars \
- perl-module-warnings-register \
- perl-module-exporter \
- perl-module-constant \
- perl-module-overload \
- perl-module-exporter-heavy \
- gmp \
- libidn \
- gnutls \
- nettle \
- util-linux-mountpoint \
- util-linux-getopt \
-"
-
-RDEPENDS_${PN}_append_libc-glibc = " glibc-utils"
-
-RDEPENDS_${PN}-ptest += "file make gmp nettle gnutls bash libgcc"
-
-RDEPENDS_${PN}-networking += "iptables"
-
-SRC_URI = "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \
- file://lxc-1.0.0-disable-udhcp-from-busybox-template.patch \
- file://run-ptest \
- file://lxc-fix-B-S.patch \
- file://lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch \
- file://logs-optionally-use-base-filenames-to-report-src-fil.patch \
- file://templates-actually-create-DOWNLOAD_TEMP-directory.patch \
- file://template-make-busybox-template-compatible-with-core-.patch \
- file://tests-our-init-is-not-busybox.patch \
- file://tests-add-no-validate-when-using-download-template.patch \
- file://dnsmasq.conf \
- file://lxc-net \
- "
-
-SRC_URI[md5sum] = "8eb396dde561e5832ba2d505513a1935"
-SRC_URI[sha256sum] = "45986c49be1c048fa127bd3e7ea1bd3347e25765c008a09a2e4c233151a2d5db"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-# Let's not configure for the host distro.
-#
-PTEST_CONF = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '--enable-tests', '', d)}"
-EXTRA_OECONF += "--with-distro=${DISTRO} ${PTEST_CONF}"
-
-EXTRA_OECONF += "--with-init-script=\
-${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit,', '', d)}\
-${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-EXTRA_OECONF += "--enable-log-src-basename"
-
-CFLAGS_append = " -Wno-error=deprecated-declarations"
-
-PACKAGECONFIG ??= "templates \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
-"
-PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,,"
-PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,,"
-PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,apparmor,apparmor"
-PACKAGECONFIG[templates] = ",,, ${PN}-templates"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
-PACKAGECONFIG[seccomp] ="--enable-seccomp,--disable-seccomp,libseccomp,libseccomp"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-
-# required by python3 to run setup.py
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-inherit autotools pkgconfig ptest update-rc.d systemd python3native
-
-SYSTEMD_PACKAGES = "${PN} ${PN}-networking"
-SYSTEMD_SERVICE_${PN} = "lxc.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-SYSTEMD_SERVICE_${PN}-networking = "lxc-net.service"
-SYSTEMD_AUTO_ENABLE_${PN}-networking = "enable"
-
-INITSCRIPT_PACKAGES = "${PN} ${PN}-networking"
-INITSCRIPT_NAME_${PN} = "lxc-containers"
-INITSCRIPT_PARAMS_${PN} = "defaults"
-INITSCRIPT_NAME_${PN}-networking = "lxc-net"
-INITSCRIPT_PARAMS_${PN}-networking = "defaults"
-
-FILES_${PN}-doc = "${mandir} ${infodir}"
-# For LXC the docdir only contains example configuration files and should be included in the lxc package
-FILES_${PN} += "${docdir}"
-FILES_${PN} += "${libdir}/python3*"
-FILES_${PN} += "${datadir}/bash-completion"
-FILES_${PN}-dbg += "${libexecdir}/lxc/.debug"
-FILES_${PN}-dbg += "${libexecdir}/lxc/hooks/.debug"
-PACKAGES =+ "${PN}-templates ${PN}-networking ${PN}-lua"
-FILES_lua-${PN} = "${datadir}/lua ${libdir}/lua"
-FILES_lua-${PN}-dbg += "${libdir}/lua/lxc/.debug"
-FILES_${PN}-templates += "${datadir}/lxc/templates"
-RDEPENDS_${PN}-templates += "bash"
-
-FILES_${PN}-networking += " \
- ${sysconfdir}/init.d/lxc-net \
- ${sysconfdir}/default/lxc-net \
-"
-
-CACHED_CONFIGUREVARS += " \
- ac_cv_path_PYTHON='${STAGING_BINDIR_NATIVE}/python3-native/python3' \
- am_cv_python_pyexecdir='${exec_prefix}/${libdir}/python3.5/site-packages' \
- am_cv_python_pythondir='${prefix}/${libdir}/python3.5/site-packages' \
-"
-
-do_install_append() {
- # The /var/cache/lxc directory created by the Makefile
- # is wiped out in volatile, we need to create this at boot.
- rm -rf ${D}${localstatedir}/cache
- install -d ${D}${sysconfdir}/default/volatiles
- echo "d root root 0755 ${localstatedir}/cache/lxc none" \
- > ${D}${sysconfdir}/default/volatiles/99_lxc
-
- for i in `grep -l "#! */bin/bash" ${D}${datadir}/lxc/hooks/*`; do \
- sed -e 's|#! */bin/bash|#!/bin/sh|' -i $i; done
-
- install -d ${D}${sysconfdir}/init.d
- install -m 755 config/init/sysvinit/lxc* ${D}${sysconfdir}/init.d
-
- # since python3-native is used for install location this will not be
- # suitable for the target and we will have to correct the package install
- if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
- if [ -d ${D}${exec_prefix}/lib/python* ]; then mv ${D}${exec_prefix}/lib/python* ${D}${libdir}/; fi
- rmdir --ignore-fail-on-non-empty ${D}${exec_prefix}/lib
- fi
-
- # /etc/default/lxc sources lxc-net, this allows lxc bridge when lxc-networking
- # is not installed this results in no lxcbr0, but when lxc-networking is installed
- # lxcbr0 will be fully configured.
- install -m 644 ${WORKDIR}/lxc-net ${D}${sysconfdir}/default/
-
- # Force the main dnsmasq instance to bind only to specified interfaces and
- # to not bind to virbr0. Libvirt will run its own instance on this interface.
- install -d ${D}/${sysconfdir}/dnsmasq.d
- install -m 644 ${WORKDIR}/dnsmasq.conf ${D}/${sysconfdir}/dnsmasq.d/lxc
-}
-
-EXTRA_OEMAKE += "TEST_DIR=${D}${PTEST_PATH}/src/tests"
-
-do_install_ptest() {
- # Move tests to the "ptest directory"
- install -d ${D}/${PTEST_PATH}/tests
- mv ${D}/usr/bin/lxc-test-* ${D}/${PTEST_PATH}/tests/.
-}
-
-pkg_postinst_${PN}() {
- if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
- /etc/init.d/populate-volatile.sh update
- fi
-}
-
-pkg_postinst_ontarget_${PN}-networking() {
-if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
-cat >> /etc/network/interfaces << EOF
-
-auto lxcbr0
-iface lxcbr0 inet dhcp
- bridge_ports eth0
- bridge_fd 0
- bridge_maxwait 0
-EOF
-
-cat<<EOF>/etc/network/if-pre-up.d/lxcbr0
-#! /bin/sh
-
-if test "x\$IFACE" = xlxcbr0 ; then
- brctl show |grep lxcbr0 > /dev/null 2>/dev/null
- if [ \$? != 0 ] ; then
- brctl addbr lxcbr0
- brctl addif lxcbr0 eth0
- ip addr flush eth0
- ifconfig eth0 up
- fi
-fi
-EOF
-chmod 755 /etc/network/if-pre-up.d/lxcbr0
-fi
-}
diff --git a/recipes-containers/lxc/lxc_3.0.2.bb b/recipes-containers/lxc/lxc_3.0.2.bb
new file mode 100644
index 0000000..9bb2866
--- /dev/null
+++ b/recipes-containers/lxc/lxc_3.0.2.bb
@@ -0,0 +1,197 @@
+DESCRIPTION = "lxc aims to use these new functionnalities to provide an userspace container object"
+SECTION = "console/utils"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+DEPENDS = "libxml2 libcap"
+RDEPENDS_${PN} = " \
+ rsync \
+ gzip \
+ xz \
+ tar \
+ wget \
+ libcap-bin \
+ bridge-utils \
+ dnsmasq \
+ perl-module-strict \
+ perl-module-getopt-long \
+ perl-module-vars \
+ perl-module-warnings-register \
+ perl-module-exporter \
+ perl-module-constant \
+ perl-module-overload \
+ perl-module-exporter-heavy \
+ gmp \
+ libidn \
+ gnutls \
+ nettle \
+ util-linux-mountpoint \
+ util-linux-getopt \
+"
+
+RDEPENDS_${PN}_append_libc-glibc = " glibc-utils"
+
+RDEPENDS_${PN}-ptest += "file make gmp nettle gnutls bash libgcc"
+
+RDEPENDS_${PN}-networking += "iptables"
+
+SRC_URI = "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \
+ file://lxc-1.0.0-disable-udhcp-from-busybox-template.patch \
+ file://run-ptest \
+ file://lxc-fix-B-S.patch \
+ file://lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch \
+ file://logs-optionally-use-base-filenames-to-report-src-fil.patch \
+ file://templates-actually-create-DOWNLOAD_TEMP-directory.patch \
+ file://template-make-busybox-template-compatible-with-core-.patch \
+ file://tests-our-init-is-not-busybox.patch \
+ file://tests-add-no-validate-when-using-download-template.patch \
+ file://dnsmasq.conf \
+ file://lxc-net \
+ "
+
+SRC_URI[md5sum] = "72e2f1e718c7ddf3ffa9b18ec0328d8f"
+SRC_URI[sha256sum] = "6ab7117b17066220da450c55ed77953998cf2336d415143b879554364af12f5c"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+# Let's not configure for the host distro.
+#
+PTEST_CONF = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '--enable-tests', '', d)}"
+EXTRA_OECONF += "--with-distro=${DISTRO} ${PTEST_CONF}"
+
+EXTRA_OECONF += "--with-init-script=\
+${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit,', '', d)}\
+${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+EXTRA_OECONF += "--enable-log-src-basename"
+
+CFLAGS_append = " -Wno-error=deprecated-declarations"
+
+PACKAGECONFIG ??= "templates \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
+"
+PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,,"
+PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,,"
+PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,apparmor,apparmor"
+PACKAGECONFIG[templates] = ",,, ${PN}-templates"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+PACKAGECONFIG[seccomp] ="--enable-seccomp,--disable-seccomp,libseccomp,libseccomp"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
+
+# required by python3 to run setup.py
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+inherit autotools pkgconfig ptest update-rc.d systemd python3native
+
+SYSTEMD_PACKAGES = "${PN} ${PN}-networking"
+SYSTEMD_SERVICE_${PN} = "lxc.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+SYSTEMD_SERVICE_${PN}-networking = "lxc-net.service"
+SYSTEMD_AUTO_ENABLE_${PN}-networking = "enable"
+
+INITSCRIPT_PACKAGES = "${PN} ${PN}-networking"
+INITSCRIPT_NAME_${PN} = "lxc-containers"
+INITSCRIPT_PARAMS_${PN} = "defaults"
+INITSCRIPT_NAME_${PN}-networking = "lxc-net"
+INITSCRIPT_PARAMS_${PN}-networking = "defaults"
+
+FILES_${PN}-doc = "${mandir} ${infodir}"
+# For LXC the docdir only contains example configuration files and should be included in the lxc package
+FILES_${PN} += "${docdir}"
+FILES_${PN} += "${libdir}/python3*"
+FILES_${PN} += "${datadir}/bash-completion"
+FILES_${PN}-dbg += "${libexecdir}/lxc/.debug"
+FILES_${PN}-dbg += "${libexecdir}/lxc/hooks/.debug"
+PACKAGES =+ "${PN}-templates ${PN}-networking ${PN}-lua"
+FILES_lua-${PN} = "${datadir}/lua ${libdir}/lua"
+FILES_lua-${PN}-dbg += "${libdir}/lua/lxc/.debug"
+FILES_${PN}-templates += "${datadir}/lxc/templates"
+RDEPENDS_${PN}-templates += "bash"
+
+FILES_${PN}-networking += " \
+ ${sysconfdir}/init.d/lxc-net \
+ ${sysconfdir}/default/lxc-net \
+"
+
+CACHED_CONFIGUREVARS += " \
+ ac_cv_path_PYTHON='${STAGING_BINDIR_NATIVE}/python3-native/python3' \
+ am_cv_python_pyexecdir='${exec_prefix}/${libdir}/python3.5/site-packages' \
+ am_cv_python_pythondir='${prefix}/${libdir}/python3.5/site-packages' \
+"
+
+do_install_append() {
+ # The /var/cache/lxc directory created by the Makefile
+ # is wiped out in volatile, we need to create this at boot.
+ rm -rf ${D}${localstatedir}/cache
+ install -d ${D}${sysconfdir}/default/volatiles
+ echo "d root root 0755 ${localstatedir}/cache/lxc none" \
+ > ${D}${sysconfdir}/default/volatiles/99_lxc
+
+ for i in `grep -l "#! */bin/bash" ${D}${datadir}/lxc/hooks/*`; do \
+ sed -e 's|#! */bin/bash|#!/bin/sh|' -i $i; done
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 config/init/sysvinit/lxc* ${D}${sysconfdir}/init.d
+
+ # since python3-native is used for install location this will not be
+ # suitable for the target and we will have to correct the package install
+ if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
+ if [ -d ${D}${exec_prefix}/lib/python* ]; then mv ${D}${exec_prefix}/lib/python* ${D}${libdir}/; fi
+ rmdir --ignore-fail-on-non-empty ${D}${exec_prefix}/lib
+ fi
+
+ # /etc/default/lxc sources lxc-net, this allows lxc bridge when lxc-networking
+ # is not installed this results in no lxcbr0, but when lxc-networking is installed
+ # lxcbr0 will be fully configured.
+ install -m 644 ${WORKDIR}/lxc-net ${D}${sysconfdir}/default/
+
+ # Force the main dnsmasq instance to bind only to specified interfaces and
+ # to not bind to virbr0. Libvirt will run its own instance on this interface.
+ install -d ${D}/${sysconfdir}/dnsmasq.d
+ install -m 644 ${WORKDIR}/dnsmasq.conf ${D}/${sysconfdir}/dnsmasq.d/lxc
+}
+
+EXTRA_OEMAKE += "TEST_DIR=${D}${PTEST_PATH}/src/tests"
+
+do_install_ptest() {
+ # Move tests to the "ptest directory"
+ install -d ${D}/${PTEST_PATH}/tests
+ mv ${D}/usr/bin/lxc-test-* ${D}/${PTEST_PATH}/tests/.
+}
+
+pkg_postinst_${PN}() {
+ if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
+ /etc/init.d/populate-volatile.sh update
+ fi
+}
+
+pkg_postinst_ontarget_${PN}-networking() {
+if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+cat >> /etc/network/interfaces << EOF
+
+auto lxcbr0
+iface lxcbr0 inet dhcp
+ bridge_ports eth0
+ bridge_fd 0
+ bridge_maxwait 0
+EOF
+
+cat<<EOF>/etc/network/if-pre-up.d/lxcbr0
+#! /bin/sh
+
+if test "x\$IFACE" = xlxcbr0 ; then
+ brctl show |grep lxcbr0 > /dev/null 2>/dev/null
+ if [ \$? != 0 ] ; then
+ brctl addbr lxcbr0
+ brctl addif lxcbr0 eth0
+ ip addr flush eth0
+ ifconfig eth0 up
+ fi
+fi
+EOF
+chmod 755 /etc/network/if-pre-up.d/lxcbr0
+fi
+}
--
2.7.4
More information about the meta-virtualization
mailing list