On Wed, Apr 12, 2023 at 04:28:45PM -0500, Andrew Davis wrote:
> On 4/12/23 4:25 PM, Denys Dmytriyenko wrote:
> >On Wed, Apr 12, 2023 at 04:08:50PM -0500, Andrew Davis wrote:
> >>On 4/12/23 3:43 PM, Denys Dmytriyenko wrote:
> >>>On Wed, Apr 12, 2023 at 01:42:41PM -0500, Andrew Davis via
> >>>lists.yoctoproject.org wrote:
> >>>>Neither of recipes nor their ABI is all that stable. OpenGL might be
> >>>>slightly more stable, but that is not what these provide anymore.
> >>>>Remove these.
> >>>
> >>>This is not what you think it is... :) Actually, Rogue recipes should be
> >>>added
> >>>to the list.
> >>>
> >>>This is specific to signatures/shared state. The ABI in this case is
> >>>libgles
> >>>and libegl (which are stable) and tells bitbake to avoid rebuilding generic
> >>>apps depending on these packages between platfoms in the same architecture.
> >>>
> >>
> >>These do not provide those API anymore, Mesa does. And nothing should depend
> >>on the KM package other than the UM libs.
> >
> >Still doesn't matter - if you have Mesa depend on these, you still need them
> >listed in here to avoid rebuilding Mesa from one platform to another. And
> >everything else downstream.
> >
>
> We *want* Mesa to be rebuilt if these change, these do not provide a stable
> ABI
> anymore, it can and does change, sometimes between platforms (SGX KM -> UM is
> based on plat).
The name of the variable may be confusing. It's not about rebuilding Mesa once
you make changes to the KM/UM pieces - that will happen automatically if the
dependencies are tracked properly.
This variable is about re-use of the dependant generic packages. The issue it
is trying to solve is when you have machine-specific packages early in the
dependecy tree, everything down the dependency tree that depends on these
packages will be treated as machine-specific, even if they are generic. Since
bitbake will try to play safe here, you have to tell it otherwise.
Again, this is not about rebuilds of a dependent component between changes.
This is about rebuilds of a dependent component between different machines
(platforms) w/o making any changes.
For example, Wayland, Weston and all Qt5 modules are generic and should be
re-used from shared state across all our Aarch64 platforms, but that's not the
case and they are being rebuilt for each and every platform again and again.
I've done some experiments locally - back when SGX/Rogue UM libs provided
libgles, libegl, libgbm (which API/ABI are supposed to be stable!), you
certainly wanted to have them listed in this SIGGEN_EXCLUDERECIPES_ABISAFE
list. Now, those ABIs have shifted to Mesa and we do mark that package as
machine-specific (I had to add PACKAGE_ARCH = "${MACHINE_ARCH}" when redoing
Reese's patches - see v8 changes section at [1]). With that in mind, this
variable now has to list Mesa instead of individual UM packages - the patch
is coming.
[1]
https://patchwork.yoctoproject.org/project/ti/patch/[email protected]/
--
Denys
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16402):
https://lists.yoctoproject.org/g/meta-ti/message/16402
Mute This Topic: https://lists.yoctoproject.org/mt/98225808/21656
Group Owner: [email protected]
Unsubscribe:
https://lists.yoctoproject.org/g/meta-ti/leave/6695321/21656/1393940836/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-