[meta-virtualization] RFC: [PATCH] xen-guest-image-minimal: Fix non-x86.

christopher.w.clark at gmail.com christopher.w.clark at gmail.com
Wed Sep 6 16:09:01 PDT 2017


From: Christopher Clark <christopher.w.clark at gmail.com>

Fix xen-guest-image-minimal image for non-x86, both with and
without x11 included.

* Only install xf86-video-vesa on x86 platforms as it is not
  available elsewhere.

* In the absence of xf86-video-vesa (ie. on non-x86 platforms)
  enable opengl and remove wayland from IMAGE_INSTALL to
  satisfy build requirements for x11.

* Use IMAGE_FEATURES instead of DISTRO_FEATURES to enable x11
  inclusion in the image.

* Verify the required DISTRO_FEATURE of 'xen' and if enabled, 'x11'.

* When building the Xserver with Xen in DISTRO_FEATURES, on non-x86,
  turn off glamor by default, to remove dependency on egl.
  Introduces: xserver-xorg_%.bbappend

Signed-off-by: Christopher Clark <christopher.w.clark at gmail.com>
---
 recipes-extended/images/xen-guest-image-minimal.bb    | 16 +++++++++++++---
 recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend | 14 ++++++++++++++
 2 files changed, 27 insertions(+), 3 deletions(-)
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend

diff --git a/recipes-extended/images/xen-guest-image-minimal.bb b/recipes-extended/images/xen-guest-image-minimal.bb
index ab7e92c..bca6017 100644
--- a/recipes-extended/images/xen-guest-image-minimal.bb
+++ b/recipes-extended/images/xen-guest-image-minimal.bb
@@ -1,14 +1,24 @@
 DESCRIPTION = "A Xen guest image."
 
-inherit core-image
+inherit core-image distro_features_check
 
 IMAGE_INSTALL += " \
     packagegroup-core-boot \
     ${@bb.utils.contains('MACHINE_FEATURES', 'acpi', 'kernel-module-xen-acpi-processor', '', d)} \
     "
 
-IMAGE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' xf86-video-fbdev', '', d)}"
-IMAGE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' xf86-video-vesa', '', d)}"
+IMAGE_INSTALL += "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-fbdev', '', d)}"
+
+# Install xf86-video-vesa on x86 platforms.
+IMAGE_INSTALL_append_x86-64 = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-vesa', '', d)}"
+IMAGE_INSTALL_append_x86    = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-vesa', '', d)}"
+
+# When xf86-video-vesa is not present, add opengl and don't require wayland:
+DISTRO_FEATURES_append = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', \
+                             bb.utils.contains('IMAGE_INSTALL', 'xf86-video-vesa', '', ' opengl', d), '', d)}"
+DISTRO_FEATURES_remove = "${@bb.utils.contains('IMAGE_INSTALL', 'xf86-video-vesa', '', 'wayland', d)}"
+
+REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' x11', '', d)} xen"
 
 LICENSE = "MIT"
 
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
new file mode 100644
index 0000000..ff4b5b6
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -0,0 +1,14 @@
+# Modify the default Xserver build for Xen images on non-x86:
+# deselect glamor to remove the dependency on libegl,
+# which simplifies domU builds.
+# To override this (eg. if wanted for dom0 images) define:
+#   REMOVED_OPENGL_PKGCONFIGS = ""
+
+DETECT_X86_ARCH        = "0"
+DETECT_X86_ARCH_x86-64 = "1"
+DETECT_X86_ARCH_x86    = "1"
+
+REMOVED_OPENGL_PKGCONFIGS ?= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', \
+                                 bb.utils.contains('DETECT_X86_ARCH', '1', '', 'glamor', d), '', d)}"
+
+OPENGL_PKGCONFIGS_remove = "${REMOVED_OPENGL_PKGCONFIGS}"
-- 
2.7.4



More information about the meta-virtualization mailing list