All of lore.kernel.org
 help / color / mirror / Atom feed
* RFC [PATCH] fix non-x86 xen-guest-image-minimal
@ 2017-09-06 23:09 christopher.w.clark
  2017-09-06 23:09 ` RFC: [PATCH] xen-guest-image-minimal: Fix non-x86 christopher.w.clark
  2017-09-07 18:05 ` RFC [PATCH] fix non-x86 xen-guest-image-minimal Alistair Francis
  0 siblings, 2 replies; 6+ messages in thread
From: christopher.w.clark @ 2017-09-06 23:09 UTC (permalink / raw)
  To: meta-virtualization; +Cc: cardoe, nathan.studer

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

This RFC patch aims to fix xen-guest-image-minimal for non-x86 builds,
whilst preserving compatibility with x86.

x11 package inclusion is optional for both x86 and non-x86.

Re: May 2017 thread:
"[meta-virtualization] [meta-xilinx] Trying to build xen-guest-image-minimal"
https://lists.yoctoproject.org/pipermail/meta-virtualization/2017-May/002556.html

Feedback would be appreciated, especially on:

1) Whether this addresses the needs of meta-xzd, enabling replacement of
   xzd-domu-image-minimal.bb with a bbappend of this recipe.

2) The correctness of aspects of the patch:

* It switches to use IMAGE_FEATURES rather than DISTRO_FEATURES for
  specifying the inclusion of x11 packages in the image; this seems more
  correct for an image recipe.
  DISTRO_FEATURES appears to default to x11 enabled, IMAGE_FEATURES does not.

* It introduces a bbappend for xserver-xorg to modify the default
  Xserver configuration for non-x86 builds where DISTRO_FEATURES
  includes 'xen', to drop dependencies on egl. In build tests, this has
  simplified satisfying dependencies for building x11 for domU.

* Compatibility with Xilinx hardware profiles and software layers.
  I have not verified this. I have build tested x86 with
  MACHINE=genericx86-64 and ARM with MACHINE=cubietruck, using meta-sunxi.

Thanks for your interest and attention.

Christopher Clark (1):
  xen-guest-image-minimal: Fix non-x86. Select x11 via IMAGE_FEATURES.

 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

-- 
2.7.4



^ permalink raw reply	[flat|nested] 6+ messages in thread

* RFC: [PATCH] xen-guest-image-minimal: Fix non-x86.
  2017-09-06 23:09 RFC [PATCH] fix non-x86 xen-guest-image-minimal christopher.w.clark
@ 2017-09-06 23:09 ` christopher.w.clark
  2017-09-14 20:31   ` Bruce Ashfield
  2017-09-07 18:05 ` RFC [PATCH] fix non-x86 xen-guest-image-minimal Alistair Francis
  1 sibling, 1 reply; 6+ messages in thread
From: christopher.w.clark @ 2017-09-06 23:09 UTC (permalink / raw)
  To: meta-virtualization; +Cc: cardoe, nathan.studer

From: Christopher Clark <christopher.w.clark@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@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



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: RFC [PATCH] fix non-x86 xen-guest-image-minimal
  2017-09-06 23:09 RFC [PATCH] fix non-x86 xen-guest-image-minimal christopher.w.clark
  2017-09-06 23:09 ` RFC: [PATCH] xen-guest-image-minimal: Fix non-x86 christopher.w.clark
@ 2017-09-07 18:05 ` Alistair Francis
  2017-09-07 18:33   ` Christopher Clark
  1 sibling, 1 reply; 6+ messages in thread
From: Alistair Francis @ 2017-09-07 18:05 UTC (permalink / raw)
  To: christopher.w.clark; +Cc: nathan.studer, meta-virtualization, cardoe

On Wed, Sep 6, 2017 at 4:09 PM,  <christopher.w.clark@gmail.com> wrote:
> From: Christopher Clark <christopher.w.clark@gmail.com>
>
> This RFC patch aims to fix xen-guest-image-minimal for non-x86 builds,
> whilst preserving compatibility with x86.
>
> x11 package inclusion is optional for both x86 and non-x86.
>
> Re: May 2017 thread:
> "[meta-virtualization] [meta-xilinx] Trying to build xen-guest-image-minimal"
> https://lists.yoctoproject.org/pipermail/meta-virtualization/2017-May/002556.html
>
> Feedback would be appreciated, especially on:
>
> 1) Whether this addresses the needs of meta-xzd, enabling replacement of
>    xzd-domu-image-minimal.bb with a bbappend of this recipe.
>
> 2) The correctness of aspects of the patch:
>
> * It switches to use IMAGE_FEATURES rather than DISTRO_FEATURES for
>   specifying the inclusion of x11 packages in the image; this seems more
>   correct for an image recipe.
>   DISTRO_FEATURES appears to default to x11 enabled, IMAGE_FEATURES does not.
>
> * It introduces a bbappend for xserver-xorg to modify the default
>   Xserver configuration for non-x86 builds where DISTRO_FEATURES
>   includes 'xen', to drop dependencies on egl. In build tests, this has
>   simplified satisfying dependencies for building x11 for domU.
>
> * Compatibility with Xilinx hardware profiles and software layers.
>   I have not verified this. I have build tested x86 with
>   MACHINE=genericx86-64 and ARM with MACHINE=cubietruck, using meta-sunxi.
>
> Thanks for your interest and attention.
>
> Christopher Clark (1):
>   xen-guest-image-minimal: Fix non-x86. Select x11 via IMAGE_FEATURES.

I seem to be having mail issues, do you mind CCing me on the patch as well?

Thanks,
Alistair

>
>  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
>
> --
> 2.7.4
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: RFC [PATCH] fix non-x86 xen-guest-image-minimal
  2017-09-07 18:05 ` RFC [PATCH] fix non-x86 xen-guest-image-minimal Alistair Francis
@ 2017-09-07 18:33   ` Christopher Clark
  0 siblings, 0 replies; 6+ messages in thread
From: Christopher Clark @ 2017-09-07 18:33 UTC (permalink / raw)
  To: Alistair Francis; +Cc: nathan.studer, meta-virtualization, Doug Goldstein

> I seem to be having mail issues, do you mind CCing me on the patch as well?
>
> Thanks,
> Alistair

patch sent directly -- thanks.
Christopher


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: RFC: [PATCH] xen-guest-image-minimal: Fix non-x86.
  2017-09-06 23:09 ` RFC: [PATCH] xen-guest-image-minimal: Fix non-x86 christopher.w.clark
@ 2017-09-14 20:31   ` Bruce Ashfield
  2017-09-18  1:02     ` Christopher Clark
  0 siblings, 1 reply; 6+ messages in thread
From: Bruce Ashfield @ 2017-09-14 20:31 UTC (permalink / raw)
  To: Christopher Clark; +Cc: meta-virtualization, Doug Goldstein, nathan.studer

[-- Attachment #1: Type: text/plain, Size: 4068 bytes --]

I haven't heard any objections to this series, did you want to send it
again as a non RFC
and I'll get it merged.

Bruce

On Wed, Sep 6, 2017 at 7:09 PM, <christopher.w.clark@gmail.com> wrote:

> From: Christopher Clark <christopher.w.clark@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@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
>
>


-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

[-- Attachment #2: Type: text/html, Size: 5985 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: RFC: [PATCH] xen-guest-image-minimal: Fix non-x86.
  2017-09-14 20:31   ` Bruce Ashfield
@ 2017-09-18  1:02     ` Christopher Clark
  0 siblings, 0 replies; 6+ messages in thread
From: Christopher Clark @ 2017-09-18  1:02 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: meta-virtualization, Doug Goldstein, nathan.studer

On Thu, Sep 14, 2017 at 1:31 PM, Bruce Ashfield
<bruce.ashfield@gmail.com> wrote:
> On Wed, Sep 6, 2017 at 7:09 PM, <christopher.w.clark@gmail.com> wrote:
>>
>> From: Christopher Clark <christopher.w.clark@gmail.com>
>>
>> Fix xen-guest-image-minimal image for non-x86, both with and
>> without x11 included.
>
> I haven't heard any objections to this series, did you want to send it again
> as a non RFC
> and I'll get it merged.

Thanks, Bruce.

I'm comfortable with this patch going in - I'll resend a non-RFC
version that is slightly tidier in the xserver-xorg bbappend, but
functionally equivalent.

Alistair was aiming to test this but encountered a different issue
along the way. I'll be sending the patch to fix that and a couple of
others shortly.

I'm still open to following up on any feedback once testing has been
unblocked, but I think that'll best be done as a separate change
beyond one this if needed, rather than holding this one back.

Christopher


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-09-18  1:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-06 23:09 RFC [PATCH] fix non-x86 xen-guest-image-minimal christopher.w.clark
2017-09-06 23:09 ` RFC: [PATCH] xen-guest-image-minimal: Fix non-x86 christopher.w.clark
2017-09-14 20:31   ` Bruce Ashfield
2017-09-18  1:02     ` Christopher Clark
2017-09-07 18:05 ` RFC [PATCH] fix non-x86 xen-guest-image-minimal Alistair Francis
2017-09-07 18:33   ` Christopher Clark

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.