Skip to contentSkip to conversation

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

PATCH In review [email protected] 2 participants 2 messages Sep 18, 2017 – Sep 19, 2017

lore
Share & tools
lore
#0 lore raw

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

From: Christopher Clark <[email protected]>

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

---

Changes in this non-RFC patch version: simplified the xorg-xserver bbappend.

Please use my gmail address for any correspondence.

 recipes-extended/images/xen-guest-image-minimal.bb    | 16 +++++++++++++---
 recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend | 13 +++++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
recipes-extended/images/xen-guest-image-minimal.bb +13 -3
index ab7e92c..bca6017 100644
@@ -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"
 
recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file +13 -0
new file mode 100644
index 0000000..9503404
@@ -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}"
Signature · 1 line
2.7.4
#1 lore raw

All outstanding Xen patches are now merged.

Bruce

Quoted 103 lines · On Sun, Sep 17, 2017 at 9:21 PM, <[email protected]> wrote:

From: Christopher Clark <[email protected]>

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

---

Changes in this non-RFC patch version: simplified the xorg-xserver bbappend.

Please use my gmail address for any correspondence.

 recipes-extended/images/xen-guest-image-minimal.bb    | 16
+++++++++++++---
 recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend | 13 +++++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
recipes-extended/images/xen-guest-image-minimal.bb +1 -2
index ab7e92c..bca6017 100644
@@ -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)}"

recipes-extended/images/xen-guest-image-minimal.bb +3 -0
+
+# 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)}"

recipes-extended/images/xen-guest-image-minimal.bb +2 -0
+
+# When xf86-video-vesa is not present, add opengl and don't require

wayland:

recipes-extended/images/xen-guest-image-minimal.bb +2 -0
+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)}"

recipes-extended/images/xen-guest-image-minimal.bb +2 -0
+
+REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('IMAGE_FEATURES',

'x11', ' x11', '', d)} xen"

LICENSE = "MIT"

recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file +1 -0
new file mode 100644
index 0000000..9503404
@@ -0,0 +1,13 @@
+# Change the default Xserver OpenGL configuration for non-x86 distros

with Xen: deselect 'glamor'.

recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file +10 -0
+# 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)}"

recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file +2 -1
+
+OPENGL_PKGCONFIGS_remove = "${REMOVED_OPENGL_PKGCONFIGS}"
--

2.7.4

Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"