diff mbox series

[master/kirkstone] meta-ti-bsp: add mesa to SIGGEN_EXCLUDERECIPES_ABISAFE list

Message ID 20230418200217.301038-1-denis@denix.org
State Accepted
Delegated to: Ryan Eatmon
Headers show
Series [master/kirkstone] meta-ti-bsp: add mesa to SIGGEN_EXCLUDERECIPES_ABISAFE list | expand

Commit Message

Denys Dmytriyenko April 18, 2023, 8:02 p.m. UTC
From: Denys Dmytriyenko <denys@konsulko.com>

For TI platforms with SGX and Rogue graphics we patch upstream Mesa with
PVR support and conditionally enable features based on virtual/gpudriver
preference. This makes Mesa package platform-specific and it contains the
corresponding PACKAGE_ARCH = "${MACHINE_ARCH}" line.

In order to get greater re-use from generic non-machine-speciofic packages
down the dependency chain, such as Wayland, Weston, Qt5 modules, etc. we
need to mark mesa recipe as still providing stable OpenGL ABIs, such as
EGL, GLES, GBM, etc. - add it to SIGGEN_EXCLUDERECIPES_ABISAFE list.

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
---
 meta-ti-bsp/conf/layer.conf | 1 +
 1 file changed, 1 insertion(+)

Comments

Andrew Davis April 18, 2023, 8:07 p.m. UTC | #1
On 4/18/23 3:02 PM, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <denys@konsulko.com>
> 
> For TI platforms with SGX and Rogue graphics we patch upstream Mesa with
> PVR support and conditionally enable features based on virtual/gpudriver
> preference. This makes Mesa package platform-specific and it contains the
> corresponding PACKAGE_ARCH = "${MACHINE_ARCH}" line.
> 
> In order to get greater re-use from generic non-machine-speciofic packages

Typo: specific

Otherwise LGTM,

Reviewed-by: Andrew Davis <afd@ti.com>

> down the dependency chain, such as Wayland, Weston, Qt5 modules, etc. we
> need to mark mesa recipe as still providing stable OpenGL ABIs, such as
> EGL, GLES, GBM, etc. - add it to SIGGEN_EXCLUDERECIPES_ABISAFE list.
> 
> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
> ---
>   meta-ti-bsp/conf/layer.conf | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf
> index 948db4f9..e9b7f92c 100644
> --- a/meta-ti-bsp/conf/layer.conf
> +++ b/meta-ti-bsp/conf/layer.conf
> @@ -19,6 +19,7 @@ LAYERDEPENDS_meta-ti-bsp = " \
>   "
>   
>   SIGGEN_EXCLUDERECIPES_ABISAFE += " \
> +    mesa \
>   "
>   
>   HOSTTOOLS_NONFATAL += "truncate xxd comm"
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#16410): https://lists.yoctoproject.org/g/meta-ti/message/16410
> Mute This Topic: https://lists.yoctoproject.org/mt/98352641/3619733
> Group Owner: meta-ti+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/leave/6695306/3619733/2033773410/xyzzy [afd@ti.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Matthias Schiffer July 10, 2023, 2:20 p.m. UTC | #2
On Tue, 2023-04-18 at 20:02 +0000, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <denys@konsulko.com>
> 
> For TI platforms with SGX and Rogue graphics we patch upstream Mesa with
> PVR support and conditionally enable features based on virtual/gpudriver
> preference. This makes Mesa package platform-specific and it contains the
> corresponding PACKAGE_ARCH = "${MACHINE_ARCH}" line.
> 
> In order to get greater re-use from generic non-machine-speciofic packages
> down the dependency chain, such as Wayland, Weston, Qt5 modules, etc. we
> need to mark mesa recipe as still providing stable OpenGL ABIs, such as
> EGL, GLES, GBM, etc. - add it to SIGGEN_EXCLUDERECIPES_ABISAFE list.
> 
> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
> ---
>  meta-ti-bsp/conf/layer.conf | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf
> index 948db4f9..e9b7f92c 100644
> --- a/meta-ti-bsp/conf/layer.conf
> +++ b/meta-ti-bsp/conf/layer.conf
> @@ -19,6 +19,7 @@ LAYERDEPENDS_meta-ti-bsp = " \
>  "
>  
>  SIGGEN_EXCLUDERECIPES_ABISAFE += " \
> +    mesa \

We found that excluding mesa (or now mesa-pvr) from signature
generation can lead to build breakage when updating meta-ti. As
previous meta-ti versions excluded "ti-sgx-ddk-um" and new version
excludes "mesa-pvr", this can result in builds of dependent packages
that differ in these specific runtime dependencies, but that have the
same sstate hash!

The build failures look like the following (we're seeing it for
multiple packages):

Problem 2: package packagegroup-testutils-1.0-r0.tqma335x_mba335x
requires glmark2, but none of the providers can be installed
   - conflicting requests
   - nothing provides ti-sgx-ddk-um >= 1.17.4948957 needed by glmark2-
2021.12-r0.armv7at2hf_neon

Here, Bitbake omitted to rebuild glmark2 because of the sstate
equivalence, picking up an older build that depends on ti-sgx-ddk-um,
even though ti-sgx-ddk-um is not selected anymore in the current
configuration. Rebuilding glmark2 with a clean sstate cache results in
a package that has a "libgbm1 >= 22.3.5" dependency instead of "ti-sgx-
ddk-um >= 1.17.4948957" (as shown by 'rpm -qpR'; the rest of the
dependencies are unchanged).

I think we can work around the issue this time by forcing a change of
sstate hash by other means in our TQ-Systems layer when updating for
the current meta-ti, but this whole game with
SIGGEN_EXCLUDERECIPES_ABISAFE seems very fragile to me...

Regards,
Matthias



>  "
>  
>  HOSTTOOLS_NONFATAL += "truncate xxd comm"
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#16410): https://lists.yoctoproject.org/g/meta-ti/message/16410
> Mute This Topic: https://lists.yoctoproject.org/mt/98352641/4454427
> Group Owner: meta-ti+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/leave/10992514/4454427/2074109644/xyzzy [matthias.schiffer@ew.tq-group.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf
index 948db4f9..e9b7f92c 100644
--- a/meta-ti-bsp/conf/layer.conf
+++ b/meta-ti-bsp/conf/layer.conf
@@ -19,6 +19,7 @@  LAYERDEPENDS_meta-ti-bsp = " \
 "
 
 SIGGEN_EXCLUDERECIPES_ABISAFE += " \
+    mesa \
 "
 
 HOSTTOOLS_NONFATAL += "truncate xxd comm"