[meta-virtualization] [PATCH] xen: uprev to 4.7.0
Chris Patterson
cjp256 at gmail.com
Wed Jul 27 13:30:42 PDT 2016
From: Chris Patterson <pattersonc at ainfosec.com>
- update packages and add additional ones for new binaries
(cpuid and livepatch)
- update xen_git to point to 4.7, make branch= fully variable,
and remove assumed .0 from release version
- add patch to fix compilation of xen with gcc 6 on arm/aarch64
Build tested x86_64 and aarch64 targets.
Signed-off-by: Chris Patterson <pattersonc at ainfosec.com>
---
...l-compilation-warning-fix-for-arm-aarch64.patch | 58 ++++++++++++++++++++++
recipes-extended/xen/xen.inc | 19 ++++++-
recipes-extended/xen/xen_4.6.1.bb | 10 ----
recipes-extended/xen/xen_4.7.0.bb | 11 ++++
recipes-extended/xen/xen_git.bb | 9 ++--
5 files changed, 92 insertions(+), 15 deletions(-)
create mode 100644 recipes-extended/xen/files/libxl-compilation-warning-fix-for-arm-aarch64.patch
delete mode 100644 recipes-extended/xen/xen_4.6.1.bb
create mode 100644 recipes-extended/xen/xen_4.7.0.bb
diff --git a/recipes-extended/xen/files/libxl-compilation-warning-fix-for-arm-aarch64.patch b/recipes-extended/xen/files/libxl-compilation-warning-fix-for-arm-aarch64.patch
new file mode 100644
index 0000000..baab928
--- /dev/null
+++ b/recipes-extended/xen/files/libxl-compilation-warning-fix-for-arm-aarch64.patch
@@ -0,0 +1,58 @@
+Upstream-Status: Submitted
+
+From 3716a7faf98e1e126d47fe1596593917c27ee1bd Mon Sep 17 00:00:00 2001
+From: Chris Patterson <pattersonc at ainfosec.com>
+Date: Tue, 26 Jul 2016 16:01:47 -0400
+Subject: [PATCH] libxl: compilation warning fix for arm & aarch64
+
+GCC 6 will warn on unused static const variables in c modules:
+https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00847.html
+
+When compiling with LIBXL_HAVE_NO_SUSPEND_RESUME set (arm & aarch64),
+the compiler emits the following errors:
+ xl_cmdimpl.c:101:19: error: 'migrate_report'
+ defined but not used [-Werror=unused-const-variable=]
+ xl_cmdimpl.c:99:19: error: 'migrate_permission_to_go'
+ defined but not used [-Werror=unused-const-variable=]
+ xl_cmdimpl.c:97:19: error: 'migrate_receiver_ready'
+ defined but not used [-Werror=unused-const-variable=]
+ xl_cmdimpl.c:95:19: error: 'migrate_receiver_banner'
+ defined but not used [-Werror=unused-const-variable=]
+
+These unused const variables are only used in functions which exist between
+the ifndef block:
+ #ifndef LIBXL_HAVE_NO_SUSPEND_RESUME
+ ...
+ #endif
+
+Wrap the same ifndef around these variables.
+
+Signed-off-by: Chris Patterson <pattersonc at ainfosec.com>
+---
+ tools/libxl/xl_cmdimpl.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
+index d1fcfa4..ada8178 100644
+--- a/tools/libxl/xl_cmdimpl.c
++++ b/tools/libxl/xl_cmdimpl.c
+@@ -92,6 +92,7 @@ static int fd_lock = -1;
+ static const char savefileheader_magic[32]=
+ "Xen saved domain, xl format\n \0 \r";
+
++#ifndef LIBXL_HAVE_NO_SUSPEND_RESUME
+ static const char migrate_receiver_banner[]=
+ "xl migration receiver ready, send binary domain data.\n";
+ static const char migrate_receiver_ready[]=
+@@ -100,6 +101,8 @@ static const char migrate_permission_to_go[]=
+ "domain is yours, you are cleared to unpause";
+ static const char migrate_report[]=
+ "my copy unpause results are as follows";
++#endif
++
+ /* followed by one byte:
+ * 0: everything went well, domain is running
+ * next thing is we all exit
+--
+2.7.4
+
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index de8c168..e911415 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -151,6 +151,7 @@ PACKAGES = "\
${PN}-base \
${PN}-blktap \
${PN}-console \
+ ${PN}-cpuid \
${PN}-dbg \
${PN}-dev \
${PN}-devd \
@@ -196,6 +197,7 @@ PACKAGES = "\
${PN}-libxenvchan-dev \
${PN}-libxlutil \
${PN}-libxlutil-dev \
+ ${PN}-livepatch \
${PN}-misc \
${PN}-pygrub \
${PN}-python \
@@ -369,6 +371,10 @@ FILES_${PN}-console = "\
${sbindir}/xenconsoled \
"
+FILES_${PN}-cpuid = "\
+ ${bindir}/xen-cpuid \
+ "
+
FILES_${PN}-devd = "\
${sysconfdir}/init.d/xendriverdomain \
"
@@ -399,6 +405,10 @@ FILES_${PN}-kdd = "\
${sbindir}/kdd \
"
+FILES_${PN}-livepatch += " \
+ ${sbindir}/xen-livepatch \
+ "
+
FILES_${PN}-misc = "\
${bindir}/xencons \
${bindir}/xencov_split \
@@ -527,6 +537,7 @@ FILES_${PN}-remus = "\
"
FILES_${PN}-scripts-network = " \
+ ${sysconfdir}/xen/scripts/colo-proxy-setup \
${sysconfdir}/xen/scripts/network-bridge \
${sysconfdir}/xen/scripts/network-nat \
${sysconfdir}/xen/scripts/network-route \
@@ -544,6 +555,7 @@ FILES_${PN}-scripts-block = " \
${sysconfdir}/xen/scripts/blktap \
${sysconfdir}/xen/scripts/block \
${sysconfdir}/xen/scripts/block-common.sh \
+ ${sysconfdir}/xen/scripts/block-dummy \
${sysconfdir}/xen/scripts/block-enbd \
${sysconfdir}/xen/scripts/block-iscsi \
${sysconfdir}/xen/scripts/block-nbd \
@@ -744,9 +756,11 @@ export XEN_OS = "Linux"
# this is used for the header (#!${bindir}/python) of the install python scripts
export PYTHONPATH="${bindir}/python"
+export ac_cv_path_PYTHONPATH="${bindir}/python"
-# seabios forcefully sets HOSTCC to CC - fixup to allow it to build native conf executable
+# xen and seabios require HOSTCC and HOSTCXX set to cross-compile
export HOSTCC="${BUILD_CC}"
+export HOSTCXX="${BUILD_CXX}"
# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
export CROSS_COMPILE="${TARGET_PREFIX}"
@@ -837,6 +851,9 @@ do_configure() {
}
do_compile() {
+ # workaround for build bug when CFLAGS is exported
+ # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html
+ unset CFLAGS
oe_runmake
}
diff --git a/recipes-extended/xen/xen_4.6.1.bb b/recipes-extended/xen/xen_4.6.1.bb
deleted file mode 100644
index 0adf8ad..0000000
--- a/recipes-extended/xen/xen_4.6.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require xen.inc
-
-SRC_URI = " \
- http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz \
- "
-
-SRC_URI[md5sum] = "df2d854c3c90ffeefaf71e7f868fb326"
-SRC_URI[sha256sum] = "44cc2fccba1e147ef4c8da0584ce0f24189c8743de0e3e9a9226da88ddb5f589"
-
-S = "${WORKDIR}/xen-${PV}"
diff --git a/recipes-extended/xen/xen_4.7.0.bb b/recipes-extended/xen/xen_4.7.0.bb
new file mode 100644
index 0000000..adb5c36
--- /dev/null
+++ b/recipes-extended/xen/xen_4.7.0.bb
@@ -0,0 +1,11 @@
+require xen.inc
+
+SRC_URI = " \
+ http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz \
+ file://libxl-compilation-warning-fix-for-arm-aarch64.patch \
+ "
+
+SRC_URI[md5sum] = "3aa4e01bf37a3a5bc8572907cb88e649"
+SRC_URI[sha256sum] = "be5876144d49729572ae06142e0bb93f1c1f2695578141eff2931995add24623"
+
+S = "${WORKDIR}/xen-${PV}"
diff --git a/recipes-extended/xen/xen_git.bb b/recipes-extended/xen/xen_git.bb
index a86a501..e10d669 100644
--- a/recipes-extended/xen/xen_git.bb
+++ b/recipes-extended/xen/xen_git.bb
@@ -1,15 +1,16 @@
require xen.inc
-SRCREV = "1fd615aa0108490ffc558d27627f509183cbfdaf"
+SRCREV ?= "9a6cc4f5c14b3d7542b7523f88a1b65464733d3a"
-XEN_REL="4.6"
+XEN_REL ?= "4.7"
+XEN_BRANCH ?= "staging-${XEN_REL}"
-PV = "${XEN_REL}.0+git${SRCPV}"
+PV = "${XEN_REL}+git${SRCPV}"
S = "${WORKDIR}/git"
SRC_URI = " \
- git://xenbits.xen.org/xen.git;branch=staging-${XEN_REL} \
+ git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
"
DEFAULT_PREFERENCE = "-1"
--
2.1.4
More information about the meta-virtualization
mailing list