From 5f0ded3423e010a23ac617f7811469e6c4b783b8 Mon Sep 17 00:00:00 2001 From: Christopher Clark Date: Fri, 17 Jul 2020 14:03:47 -0700 Subject: xen, xen-tools: add recipes for Xen 4.14 Add a versioned-suffix pair of recipes for Xen 4.14, allowing selection of which Xen version to build via setting PREFERRED_VERSION. 4.14 is currently still pre-release, so the new recipes for it set DEFAULT_PREFERENCE to -1, and the default for now remains the existing stable version. Forward ports of patches needed for 4.14 are included. Implementation note: since both this version and the git recipe are built from git branches -- important for Xen since significant updates are made available there inbetween point releases -- the recipe includes 'stable' as a string in PV so as to distinguish it from 'git' in the git recipe, and thereby allow PREFERRED_VERSION to select the correct recipe in the situation where both happen to be configured with the same XEN_REL. Signed-off-by: Christopher Clark Signed-off-by: Bruce Ashfield --- ...001-python-pygrub-pass-DISTUTILS-xen-4.14.patch | 66 ++++++++++++++++++++++ ...xen-build-temporarily-inhibit-Werror-4.14.patch | 26 +++++++++ recipes-extended/xen/xen-tools_4.14.bb | 21 +++++++ recipes-extended/xen/xen_4.14.bb | 20 +++++++ 4 files changed, 133 insertions(+) create mode 100644 recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch create mode 100644 recipes-extended/xen/files/0001-xen-build-temporarily-inhibit-Werror-4.14.patch create mode 100644 recipes-extended/xen/xen-tools_4.14.bb create mode 100644 recipes-extended/xen/xen_4.14.bb diff --git a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch new file mode 100644 index 00000000..f0688fd9 --- /dev/null +++ b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch @@ -0,0 +1,66 @@ +From d79dcc2002008c58683de82f06c168d6eea57991 Mon Sep 17 00:00:00 2001 +From: Maciej Pijanowski +Date: Fri, 19 Oct 2018 11:01:37 +0200 +Subject: [PATCH] python,pygrub: pass DISTUTILS env vars as setup.py args + +Allow to respect the target install dir (PYTHON_SITEPACKAGES_DIR) +as well as other parameters set by the OpenEmbedded build system. +This is especially useful when the target libdir is not the default one +(/usr/lib), but for example /usr/lib64. + +Signed-off-by: Maciej Pijanowski + +Forward-ported to Xen 4.12.0 +Signed-off-by: Christopher Clark + +Modified to support pygrub installation with python 3 +Signed-off-by: Christopher Clark + +Forward-ported to Xen 4.14.0 +Signed-off-by: Christopher Clark +diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile +index 3063c49..513314b 100644 +--- a/tools/pygrub/Makefile ++++ b/tools/pygrub/Makefile +@@ -10,14 +10,17 @@ INSTALL_LOG = build/installed_files.txt + all: build + .PHONY: build + build: +- CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build ++ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build $(DISTUTILS_BUILD_ARGS) + + .PHONY: install + install: all + $(INSTALL_DIR) $(DESTDIR)/$(bindir) + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) \ + setup.py install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ +- --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force ++ --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force \ ++ $(DISTUTILS_INSTALL_ARGS) ++ rm -f $(DESTDIR)/$(LIBEXEC_BIN)/pygrub ++ $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub + set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \ + "`readlink -f $(DESTDIR)/$(bindir)`" != \ + "`readlink -f $(LIBEXEC_BIN)`" ]; then \ +diff --git a/tools/python/Makefile b/tools/python/Makefile +index 541858e..4d4a344 100644 +--- a/tools/python/Makefile ++++ b/tools/python/Makefile +@@ -10,7 +10,7 @@ INSTALL_LOG = build/installed_files.txt + + .PHONY: build + build: +- CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build ++ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build $(DISTUTILS_BUILD_ARGS) + + .PHONY: install + install: +@@ -18,7 +18,7 @@ install: + + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) \ + setup.py install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ +- --root="$(DESTDIR)" --force ++ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS) + + $(INSTALL_PYTHON_PROG) scripts/convert-legacy-stream $(DESTDIR)$(LIBEXEC_BIN) + $(INSTALL_PYTHON_PROG) scripts/verify-stream-v2 $(DESTDIR)$(LIBEXEC_BIN) diff --git a/recipes-extended/xen/files/0001-xen-build-temporarily-inhibit-Werror-4.14.patch b/recipes-extended/xen/files/0001-xen-build-temporarily-inhibit-Werror-4.14.patch new file mode 100644 index 00000000..0e0a3dc4 --- /dev/null +++ b/recipes-extended/xen/files/0001-xen-build-temporarily-inhibit-Werror-4.14.patch @@ -0,0 +1,26 @@ +From 9cff3bf8425ccc593825fcde8ca5eaa32a43d04d Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield +Date: Thu, 18 Jun 2020 09:05:22 -0400 +Subject: [PATCH] xen/build: temporarily inhibit Werror + +Signed-off-by: Bruce Ashfield +Rebased on Xen 4.14: +Signed-off-by: Christopher Clark +--- + tools/libxl/Makefile | 2 +- + xen/Rules.mk | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile +index 6da342ed61..c67560e269 100644 +--- a/tools/libxl/Makefile ++++ b/tools/libxl/Makefile +@@ -11,7 +11,7 @@ MINOR = 0 + XLUMAJOR = 4.14 + XLUMINOR = 0 + +-CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \ ++CFLAGS += -Wno-format-zero-length -Wmissing-declarations \ + -Wno-declaration-after-statement -Wformat-nonliteral + CFLAGS += -I. -fPIC + diff --git a/recipes-extended/xen/xen-tools_4.14.bb b/recipes-extended/xen/xen-tools_4.14.bb new file mode 100644 index 00000000..ef40c850 --- /dev/null +++ b/recipes-extended/xen/xen-tools_4.14.bb @@ -0,0 +1,21 @@ +SRCREV ?= "02d69864b51a4302a148c28d6d391238a6778b4b" + +XEN_REL ?= "4.14" +XEN_BRANCH ?= "stable-${XEN_REL}" + +SRC_URI = " \ + git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + file://0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch \ + file://0001-xen-build-temporarily-inhibit-Werror-4.14.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5" + +PV = "${XEN_REL}+stable${SRCPV}" + +S = "${WORKDIR}/git" + +DEFAULT_PREFERENCE ??= "-1" + +require xen.inc +require xen-tools.inc diff --git a/recipes-extended/xen/xen_4.14.bb b/recipes-extended/xen/xen_4.14.bb new file mode 100644 index 00000000..02af2a7f --- /dev/null +++ b/recipes-extended/xen/xen_4.14.bb @@ -0,0 +1,20 @@ +SRCREV ?= "02d69864b51a4302a148c28d6d391238a6778b4b" + +XEN_REL ?= "4.14" +XEN_BRANCH ?= "stable-${XEN_REL}" + +SRC_URI = " \ + git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + file://xen-arm64-implement-atomic-fetch-add.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5" + +PV = "${XEN_REL}+stable${SRCPV}" + +S = "${WORKDIR}/git" + +DEFAULT_PREFERENCE ??= "-1" + +require xen.inc +require xen-hypervisor.inc -- cgit v1.2.3-54-g00ecf