xen-guest-image-minimal: Fix non-x86. Select x11 via IMAGE_FEATURES.

Fix the 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.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
Christopher Clark 2017-09-17 18:21:38 -07:00 committed by Bruce Ashfield
parent 55b1cbe55d
commit 33e8e20d3c
2 changed files with 26 additions and 3 deletions

View File

@ -1,14 +1,24 @@
DESCRIPTION = "A Xen guest image." DESCRIPTION = "A Xen guest image."
inherit core-image inherit core-image distro_features_check
IMAGE_INSTALL += " \ IMAGE_INSTALL += " \
packagegroup-core-boot \ packagegroup-core-boot \
${@bb.utils.contains('MACHINE_FEATURES', 'acpi', 'kernel-module-xen-acpi-processor', '', d)} \ ${@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('IMAGE_FEATURES', 'x11', ' xf86-video-fbdev', '', d)}"
IMAGE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' xf86-video-vesa', '', 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" LICENSE = "MIT"

View File

@ -0,0 +1,13 @@
# Change the default Xserver OpenGL configuration for non-x86 distros with Xen: deselect 'glamor'.
# This removes the dependency on libegl to simplify the domU build.
#
# To override this (eg. if wanted for dom0 images) define:
# REMOVED_OPENGL_PKGCONFIGS = ""
XEN_REMOVED_OPENGL_PKGCONFIGS ?= "glamor"
XEN_REMOVED_OPENGL_PKGCONFIGS_x86 = ""
XEN_REMOVED_OPENGL_PKGCONFIGS_x86-64 = ""
REMOVED_OPENGL_PKGCONFIGS ?= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', "${XEN_REMOVED_OPENGL_PKGCONFIGS}", '', d)}"
OPENGL_PKGCONFIGS_remove = "${REMOVED_OPENGL_PKGCONFIGS}"