]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
classes/lib: Switch classextend to use new filter API
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 10 Jun 2025 14:53:27 +0000 (15:53 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 12 Aug 2025 09:02:52 +0000 (10:02 +0100)
commit24a9858a8927e91d499ee342ed93a0dbb44d83bc
tree5c20b9810c8745fd745e08626b24e6ce24fd3f75
parent2ba5473dd7747a51e611638b712b2b5a10485dbe
classes/lib: Switch classextend to use new filter API

Currently, class extensions are implmented using shadow variables and
access indirection which is horribly ineffient and ugly.

Switch to using the new bitbake filter API, which allows a translation
of the variable before the expanded value is returned. This allows us
to drop the shadow variable accesses. It also avoids the need to iterate
PACKAGES and make many variable changes since a filter against RDEPENDS
applies to RDEPENDS:${PN} and all of it's other overridden values.

Since data expansion happens at access, it also avoids many of the race
conditions this code has tranditionally been plagued with.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/native.bbclass
meta/classes-recipe/nativesdk.bbclass
meta/classes-recipe/toolchain-scripts.bbclass
meta/classes/multilib.bbclass
meta/classes/multilib_global.bbclass
meta/lib/oe/__init__.py
meta/lib/oe/classextend.py