Note that there is a change in Yocto master which will cause a build failure with LXC but AFAICT it is not related to this uprev (ie. it is an issue with the old version too) but rather the introduction of gcc 7 and specifically -Werror=format-truncation.
So if folks are building master you might see a build failure. I will attempt to get a patch out and ideally get it to upstream lxc. Mark On Tue, Jun 13, 2017 at 6:22 PM, Bruce Ashfield <[email protected]> wrote: > > > On Tue, Jun 6, 2017 at 8:46 AM, Huang Qiyu <[email protected]> > wrote: >> >> 1)Upgrade lxc from 2.0.0 to 2.0.8. >> >> 2)Delete two patches, since it is integrated upstream. >> Delete Generate-lxc-restore-net-properly.patch,this script has already >> been rearchitected out of existence by >> cba98d127bf490b018a016b792ae05fd2d29c5ee >> >> Delete Use-AC_HEADER_MAJOR-to-detect-major-minor-makedev.patch,this >> script has already been rearchitected out of existence by >> af6824fce9c9536fbcabef8d5547f6c486f55fdf from git://github.com/lxc/lxc.git > > > > Sorry for the delay on merging this, it would have been nice to see a log > about how this was tested, but since it is a dot release, and I've been a > bit slow in merging it .. I've gone ahead without that info. > > Bruce > >> >> >> >> 3)Modify two patches, since the data has been changed. >> automake-ensure-VPATH-builds-correctly.patch >> runtest.patch >> >> Signed-off-by: Huang Qiyu <[email protected]> >> --- >> .../files/Generate-lxc-restore-net-properly.patch | 121 >> --------------------- >> ...EADER_MAJOR-to-detect-major-minor-makedev.patch | 119 >> -------------------- >> .../automake-ensure-VPATH-builds-correctly.patch | 2 +- >> recipes-containers/lxc/files/runtest.patch | 2 +- >> .../lxc/{lxc_2.0.0.bb => lxc_2.0.8.bb} | 31 +++--- >> 5 files changed, 15 insertions(+), 260 deletions(-) >> delete mode 100644 >> recipes-containers/lxc/files/Generate-lxc-restore-net-properly.patch >> delete mode 100644 >> recipes-containers/lxc/files/Use-AC_HEADER_MAJOR-to-detect-major-minor-makedev.patch >> rename recipes-containers/lxc/{lxc_2.0.0.bb => lxc_2.0.8.bb} (87%) >> >> diff --git >> a/recipes-containers/lxc/files/Generate-lxc-restore-net-properly.patch >> b/recipes-containers/lxc/files/Generate-lxc-restore-net-properly.patch >> deleted file mode 100644 >> index 5adb730..0000000 >> --- a/recipes-containers/lxc/files/Generate-lxc-restore-net-properly.patch >> +++ /dev/null >> @@ -1,121 +0,0 @@ >> -From e08f3573b3561f1f0490624f7ca95b7ccd8157cb Mon Sep 17 00:00:00 2001 >> -Message-Id: >> <e08f3573b3561f1f0490624f7ca95b7ccd8157cb.1435177418.git.jim.somervi...@windriver.com> >> -From: Jim Somerville <[email protected]> >> -Date: Wed, 24 Jun 2015 16:16:38 -0400 >> -Subject: [PATCH 1/1] Generate lxc-restore-net properly >> - >> -It's a script that should be run through the configure >> -mechanism the same as the others. We simply rename it >> -to have a .in extension and add it to configure.ac . >> - >> -Also, by generating the script from a .in file, it gets >> -placed into the build directory. This plays nice with >> -build systems that keep the src separate from the build >> -directory. Without this change, the install step won't >> -find the lxc-restore-net script as it still just resides >> -in the src directory and not in the build directory. >> - >> -Upstream-Status: Not applicable. This script has already >> -been rearchitected out of existence by >> -cba98d127bf490b018a016b792ae05fd2d29c5ee: >> -"c/r: use criu option instead of lxc-restore-net >> - >> -As of criu 1.5, the --veth-pair argument supports an additional parameter >> that >> -is the bridge name to attach to. This enables us to get rid of the goofy >> -action-script hack that passed bridge names as environment variables. >> - >> -This patch is on top of the systemd/lxcfs mount rework patch, as we >> probably >> -want to wait to use 1.5 options until it has been out for a while and is >> in >> -distros. >> - >> -Signed-off-by: Tycho Andersen <[email protected]> >> -Acked-by: Serge E. Hallyn <[email protected]>" >> - >> -Signed-off-by: Jim Somerville <[email protected]> >> ---- >> - configure.ac | 1 + >> - src/lxc/lxc-restore-net | 26 -------------------------- >> - src/lxc/lxc-restore-net.in | 26 ++++++++++++++++++++++++++ >> - 3 files changed, 27 insertions(+), 26 deletions(-) >> - delete mode 100755 src/lxc/lxc-restore-net >> - create mode 100755 src/lxc/lxc-restore-net.in >> - >> -diff --git a/configure.ac b/configure.ac >> -index 574b2cd..4972803 100644 >> ---- a/configure.ac >> -+++ b/configure.ac >> -@@ -768,6 +768,7 @@ AC_CONFIG_FILES([ >> - src/lxc/legacy/lxc-ls >> - src/lxc/lxc.functions >> - src/lxc/version.h >> -+ src/lxc/lxc-restore-net >> - src/python-lxc/Makefile >> - src/python-lxc/setup.py >> - >> -diff --git a/src/lxc/lxc-restore-net b/src/lxc/lxc-restore-net >> -deleted file mode 100755 >> -index 6ae3c19..0000000 >> ---- a/src/lxc/lxc-restore-net >> -+++ /dev/null >> -@@ -1,26 +0,0 @@ >> --#!/bin/sh >> -- >> --set -e >> -- >> --i=0 >> --while true; do >> -- eval "bridge=\$LXC_CRIU_BRIDGE$i" >> -- eval "veth=\$LXC_CRIU_VETH$i" >> -- >> -- if [ -z "$bridge" ] || [ -z "$veth" ]; then >> -- exit 0 >> -- fi >> -- >> -- if [ "$CRTOOLS_SCRIPT_ACTION" = "network-lock" ]; then >> -- brctl delif $bridge $veth >> -- fi >> -- >> -- if [ "$CRTOOLS_SCRIPT_ACTION" = "network-unlock" ]; then >> -- brctl addif $bridge $veth >> -- ip link set dev $veth up >> -- fi >> -- >> -- i=$((i+1)) >> --done >> -- >> --exit 1 >> -diff --git a/src/lxc/lxc-restore-net.in b/src/lxc/lxc-restore-net.in >> -new file mode 100755 >> -index 0000000..6ae3c19 >> ---- /dev/null >> -+++ b/src/lxc/lxc-restore-net.in >> -@@ -0,0 +1,26 @@ >> -+#!/bin/sh >> -+ >> -+set -e >> -+ >> -+i=0 >> -+while true; do >> -+ eval "bridge=\$LXC_CRIU_BRIDGE$i" >> -+ eval "veth=\$LXC_CRIU_VETH$i" >> -+ >> -+ if [ -z "$bridge" ] || [ -z "$veth" ]; then >> -+ exit 0 >> -+ fi >> -+ >> -+ if [ "$CRTOOLS_SCRIPT_ACTION" = "network-lock" ]; then >> -+ brctl delif $bridge $veth >> -+ fi >> -+ >> -+ if [ "$CRTOOLS_SCRIPT_ACTION" = "network-unlock" ]; then >> -+ brctl addif $bridge $veth >> -+ ip link set dev $veth up >> -+ fi >> -+ >> -+ i=$((i+1)) >> -+done >> -+ >> -+exit 1 >> --- >> -1.8.3.2 >> - >> diff --git >> a/recipes-containers/lxc/files/Use-AC_HEADER_MAJOR-to-detect-major-minor-makedev.patch >> b/recipes-containers/lxc/files/Use-AC_HEADER_MAJOR-to-detect-major-minor-makedev.patch >> deleted file mode 100644 >> index f9cecc0..0000000 >> --- >> a/recipes-containers/lxc/files/Use-AC_HEADER_MAJOR-to-detect-major-minor-makedev.patch >> +++ /dev/null >> @@ -1,119 +0,0 @@ >> -From 5c957671a511441b112b137b88bf0b1f31adac20 Mon Sep 17 00:00:00 2001 >> -From: Sergei Trofimovich <[email protected]> >> -Date: Sat, 21 Jan 2017 11:57:13 +0000 >> -Subject: [PATCH] Use AC_HEADER_MAJOR to detect major()/minor()/makedev() >> - >> -commit af6824fce9c9536fbcabef8d5547f6c486f55fdf from >> -git://github.com/lxc/lxc.git >> - >> -Before the change build failed on Gentoo as: >> - >> - bdev/lxclvm.c: In function 'lvm_detect': >> - bdev/lxclvm.c:140:4: error: implicit declaration of function 'major' >> [-Werror=implicit-function-declaration] >> - major(statbuf.st_rdev), minor(statbuf.st_rdev)); >> - ^~~~~ >> - bdev/lxclvm.c:140:28: error: implicit declaration of function 'minor' >> [-Werror=implicit-function-declaration] >> - major(statbuf.st_rdev), minor(statbuf.st_rdev)); >> - ^~~~~ >> - >> -glibc plans to remove <sys/sysmacros.h> from glibc's <sys/types.h>: >> - https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html >> - >> -Gentoo already applied glibc patch to experimental glibc-2.24 >> -to start preparingfor the change. >> - >> -Autoconf has AC_HEADER_MAJOR to find out which header defines >> -reqiured macros: >> - >> https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Headers.html >> - >> -This change should also increase portability across other libcs. >> - >> -Bug: https://bugs.gentoo.org/604360 >> -Signed-off-by: Sergei Trofimovich <[email protected]> >> -Signed-off-by: Mark Asselstine <[email protected]> >> ---- >> - configure.ac | 3 +++ >> - src/lxc/bdev/lxclvm.c | 9 +++++++++ >> - src/lxc/conf.c | 8 ++++++++ >> - src/lxc/lxccontainer.c | 8 ++++++++ >> - 4 files changed, 28 insertions(+) >> - >> -diff --git a/configure.ac b/configure.ac >> -index 8f31c29..924baa1 100644 >> ---- a/configure.ac >> -+++ b/configure.ac >> -@@ -601,6 +601,9 @@ AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include >> <sys/prctl.h>]) >> - # Check for some headers >> - AC_CHECK_HEADERS([sys/signalfd.h pty.h ifaddrs.h sys/capability.h >> sys/personality.h utmpx.h sys/timerfd.h]) >> - >> -+# lookup major()/minor()/makedev() >> -+AC_HEADER_MAJOR >> -+ >> - # Check for some syscalls functions >> - AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr >> faccessat]) >> - >> -diff --git a/src/lxc/bdev/lxclvm.c b/src/lxc/bdev/lxclvm.c >> -index 3d41b10..419d1c2 100644 >> ---- a/src/lxc/bdev/lxclvm.c >> -+++ b/src/lxc/bdev/lxclvm.c >> -@@ -32,10 +32,19 @@ >> - #include <sys/wait.h> >> - >> - #include "bdev.h" >> -+#include "config.h" >> - #include "log.h" >> - #include "lxclvm.h" >> - #include "utils.h" >> - >> -+/* major()/minor() */ >> -+#ifdef MAJOR_IN_MKDEV >> -+# include <sys/mkdev.h> >> -+#endif >> -+#ifdef MAJOR_IN_SYSMACROS >> -+# include <sys/sysmacros.h> >> -+#endif >> -+ >> - lxc_log_define(lxclvm, lxc); >> - >> - extern char *dir_new_path(char *src, const char *oldname, const char >> *name, >> -diff --git a/src/lxc/conf.c b/src/lxc/conf.c >> -index 3b023ef..53406ca 100644 >> ---- a/src/lxc/conf.c >> -+++ b/src/lxc/conf.c >> -@@ -39,6 +39,14 @@ >> - #include <grp.h> >> - #include <time.h> >> - >> -+/* makedev() */ >> -+#ifdef MAJOR_IN_MKDEV >> -+# include <sys/mkdev.h> >> -+#endif >> -+#ifdef MAJOR_IN_SYSMACROS >> -+# include <sys/sysmacros.h> >> -+#endif >> -+ >> - #ifdef HAVE_STATVFS >> - #include <sys/statvfs.h> >> - #endif >> -diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c >> -index 9f12ca2..aa02833 100644 >> ---- a/src/lxc/lxccontainer.c >> -+++ b/src/lxc/lxccontainer.c >> -@@ -61,6 +61,14 @@ >> - #include "utils.h" >> - #include "version.h" >> - >> -+/* major()/minor() */ >> -+#ifdef MAJOR_IN_MKDEV >> -+# include <sys/mkdev.h> >> -+#endif >> -+#ifdef MAJOR_IN_SYSMACROS >> -+# include <sys/sysmacros.h> >> -+#endif >> -+ >> - #if HAVE_IFADDRS_H >> - #include <ifaddrs.h> >> - #else >> --- >> -2.7.4 >> - >> diff --git >> a/recipes-containers/lxc/files/automake-ensure-VPATH-builds-correctly.patch >> b/recipes-containers/lxc/files/automake-ensure-VPATH-builds-correctly.patch >> index 2b5c853..61c0e29 100644 >> --- >> a/recipes-containers/lxc/files/automake-ensure-VPATH-builds-correctly.patch >> +++ >> b/recipes-containers/lxc/files/automake-ensure-VPATH-builds-correctly.patch >> @@ -15,7 +15,7 @@ index d74c10d..6225f78 100644 >> @@ -66,7 +66,7 @@ buildtest-TESTS: $(TESTS) >> install-ptest: >> install -d $(TEST_DIR) >> - install -D ../lxc/liblxc.so $(TEST_DIR)/../lxc/liblxc.so >> + install -D ../lxc/.libs/liblxc.so $(TEST_DIR)/../lxc/liblxc.so >> - install -D ../../config/test-driver >> $(TEST_DIR)/../../config/test-driver >> + install -D $(top_srcdir)/config/test-driver >> $(TEST_DIR)/../../config/test-driver >> cp Makefile $(TEST_DIR) >> diff --git a/recipes-containers/lxc/files/runtest.patch >> b/recipes-containers/lxc/files/runtest.patch >> index e4e034b..6572265 100644 >> --- a/recipes-containers/lxc/files/runtest.patch >> +++ b/recipes-containers/lxc/files/runtest.patch >> @@ -19,7 +19,7 @@ diff -uNr a/src/tests/Makefile.am >> b/src/tests/Makefile.am >> + >> +install-ptest: >> + install -d $(TEST_DIR) >> -+ install -D ../lxc/liblxc.so $(TEST_DIR)/../lxc/liblxc.so >> ++ install -D ../lxc/.libs/liblxc.so $(TEST_DIR)/../lxc/liblxc.so >> + install -D ../../config/test-driver >> $(TEST_DIR)/../../config/test-driver >> + cp Makefile $(TEST_DIR) >> + @(for file in $(TESTS); do install $$file $(TEST_DIR); done;) >> diff --git a/recipes-containers/lxc/lxc_2.0.0.bb >> b/recipes-containers/lxc/lxc_2.0.8.bb >> similarity index 87% >> rename from recipes-containers/lxc/lxc_2.0.0.bb >> rename to recipes-containers/lxc/lxc_2.0.8.bb >> index c98d1a7..80c8da7 100644 >> --- a/recipes-containers/lxc/lxc_2.0.0.bb >> +++ b/recipes-containers/lxc/lxc_2.0.8.bb >> @@ -2,7 +2,6 @@ DESCRIPTION = "lxc aims to use these new functionnalities >> to provide an userspac >> SECTION = "console/utils" >> LICENSE = "GPLv2" >> LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" >> -PRIORITY = "optional" >> DEPENDS = "libxml2 libcap" >> RDEPENDS_${PN} = " \ >> rsync \ >> @@ -10,7 +9,6 @@ RDEPENDS_${PN} = " \ >> libcap-bin \ >> bridge-utils \ >> dnsmasq \ >> - initscripts \ >> perl-module-strict \ >> perl-module-getopt-long \ >> perl-module-vars \ >> @@ -20,11 +18,7 @@ RDEPENDS_${PN} = " \ >> perl-module-overload \ >> perl-module-exporter-heavy \ >> " >> -RDEPENDS_${PN}_append_libc-glibc = "\ >> - glibc-utils \ >> -" >> - >> -RDEPENDS_${PN}-ptest += "file make" >> +RDEPENDS_${PN}-ptest += "file make gmp nettle gnutls" >> >> SRC_URI = "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \ >> file://lxc-1.0.0-disable-udhcp-from-busybox-template.patch \ >> @@ -34,11 +28,10 @@ SRC_URI = >> "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \ >> 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://Use-AC_HEADER_MAJOR-to-detect-major-minor-makedev.patch \ >> " >> >> -SRC_URI[md5sum] = "04a7245a614cd3296b0ae9ceeeb83fbb" >> -SRC_URI[sha256sum] = >> "5b737e114d8ef1feb193fba936d77a5697a7c8a10199a068cdd90d1bd27c10e4" >> +SRC_URI[md5sum] = "7bfd95280522d7936c0979dfea92cdb5" >> +SRC_URI[sha256sum] = >> "0d8e34b302cfe4c40c6c9ae5097096aa5cc2c1dfceea3f0f22e3e16c4a4e8494" >> >> S = "${WORKDIR}/${BPN}-${PV}" >> >> @@ -87,19 +80,21 @@ 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}/lua/*" >> -FILES_${PN} += "${libdir}/lua/lxc/*" >> -FILES_${PN}-dbg += "${libdir}/lua/lxc/.debug" >> -FILES_${PN}-dbg += "${libexecdir}/lxc/.debug >> ${libexecdir}/lxc/hooks/.debug" >> -PACKAGES =+ "${PN}-templates ${PN}-setup ${PN}-networking" >> +FILES_${PN} += "${datadir}/bash-completion" >> +FILES_${PN}-dbg += "${libexecdir}/lxc/.debug" >> +FILES_${PN}-dbg += "${libexecdir}/lxc/hooks/.debug" >> +PACKAGES =+ "${PN}-templates ${PN}-setup ${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" >> >> ALLOW_EMPTY_${PN}-networking = "1" >> >> -FILES_${PN}-setup += "${sysconfdir}/tmpfiles.d" >> -FILES_${PN}-setup += "${systemd_system_unitdir}" >> -FILES_${PN}-setup += "${sysconfdir}/init.d" >> +FILES_${PN}-setup += "/etc/tmpfiles.d" >> +FILES_${PN}-setup += "/lib/systemd/system" >> +FILES_${PN}-setup += "/usr/lib/systemd/system" >> +FILES_${PN}-setup += "/etc/init.d" >> >> PRIVATE_LIBS_${PN}-ptest = "liblxc.so.1" >> >> -- >> 2.7.4 >> >> >> >> -- >> _______________________________________________ >> meta-virtualization mailing list >> [email protected] >> https://lists.yoctoproject.org/listinfo/meta-virtualization > > > > > -- > "Thou shalt not follow the NULL pointer, for chaos and madness await thee at > its end" > > -- > _______________________________________________ > meta-virtualization mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/meta-virtualization > -- _______________________________________________ meta-virtualization mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-virtualization
