[meta-virtualization] [PATCH v2] lxc: 2.0.0 -> 2.0.8

Bruce Ashfield bruce.ashfield at gmail.com
Tue Jun 13 15:22:17 PDT 2017


On Tue, Jun 6, 2017 at 8:46 AM, Huang Qiyu <huangqy.fnst at cn.fujitsu.com>
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 cba98d127bf490b018a016b792ae05
> fd2d29c5ee
>
>   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 <huangqy.fnst at cn.fujitsu.com>
> ---
>  .../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.Somerville at windriver.com>
> -From: Jim Somerville <Jim.Somerville at windriver.com>
> -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 <tycho.andersen at canonical.com>
> -Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>"
> -
> -Signed-off-by: Jim Somerville <Jim.Somerville at windriver.com>
> ----
> - 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 <siarheit at google.com>
> -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 <siarheit at google.com>
> -Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
> ----
> - 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] = "5b737e114d8ef1feb193fba936d77a
> 5697a7c8a10199a068cdd90d1bd27c10e4"
> +SRC_URI[md5sum] = "7bfd95280522d7936c0979dfea92cdb5"
> +SRC_URI[sha256sum] = "0d8e34b302cfe4c40c6c9ae5097096
> aa5cc2c1dfceea3f0f22e3e16c4a4e8494"
>
>  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
> 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"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20170614/5a9cea53/attachment-0001.html>


More information about the meta-virtualization mailing list