diff mbox series

[v2,1/2] multilib: extend variables after packages split

Message ID 20260506172416.4017418-2-jaeyoon.jung@lge.com
State Changes Requested
Headers show
Series Fix multilib package variable propagation | expand

Commit Message

From: Jaeyoon Jung <jaeyoon.jung@lge.com>

A new function do_rename_package_variables() that invokes
ClassExtender.rename_package_variables() is appended to
PACKAGESPLITFUNCS in order to extend per-package variables in
PACKAGEVARS for all packages including dynamically split ones.

Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
---
 meta/classes/multilib.bbclass | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff mbox series

Patch

diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 15056dac4d..5c660e7753 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -211,6 +211,18 @@  def reset_alternative_priority(d):
                 bb.debug(1, '%s: Setting ALTERNATIVE_PRIORITY[%s] to %s' % (pkg, alt_name, reset_priority))
                 d.setVarFlag('ALTERNATIVE_PRIORITY', alt_name, reset_priority)
 
+PACKAGESPLITFUNCS:append = " do_rename_package_variables"
+
+python do_rename_package_variables() {
+    variant = d.getVar("BBEXTENDVARIANT")
+    prefixes = (d.getVar("MULTILIB_VARIANTS") or "").split()
+    if variant and prefixes:
+        import oe.classextend
+        # Extend package variables for the given variant
+        clsextend = oe.classextend.ClassExtender(variant, prefixes, d)
+        clsextend.rename_package_variables((d.getVar("PACKAGEVARS") or "").split())
+}
+
 PACKAGEFUNCS:append = " do_package_qa_multilib"
 
 python do_package_qa_multilib() {