Sort PREFERRED_PROVIDER_ and PREFERRED_RPROVIDER_ lists before iterating over
them to make multilib mirroring deterministic. Otherwise ordering becomes
random and if base version comes after overriden version, new created
multilib-base version is wiping previously created multilib-overriden versions
in setVar function.

Sorting providers and rproviders makes sure that base versions of any variable
comes before any of it's override definitions.

Signed-off-by: Efe Can Icoz <[email protected]>
---
 meta/classes/multilib_global.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/multilib_global.bbclass 
b/meta/classes/multilib_global.bbclass
index d9372d9ed1..d936dfe787 100644
--- a/meta/classes/multilib_global.bbclass
+++ b/meta/classes/multilib_global.bbclass
@@ -67,7 +67,7 @@ def preferred_ml_updates(d):
     sort_versions(required_versions, "REQUIRED")
     sort_versions(preferred_versions, "PREFERRED")
 
-    for prov in providers:
+    for prov in sorted(providers):
         val = d.getVar(prov, False)
         pkg = prov.replace("PREFERRED_PROVIDER_", "")
         if pkg.endswith("-native") or "-crosssdk-" in pkg or 
pkg.startswith(("nativesdk-", "virtual/nativesdk-")):
@@ -112,7 +112,7 @@ def preferred_ml_updates(d):
         if prov != provexp and d.getVar(prov, False):
             d.renameVar(prov, provexp)
 
-    for prov in rproviders:
+    for prov in sorted(rproviders):
         val = d.getVar(prov, False)
         pkg = prov.replace("PREFERRED_RPROVIDER_", "")
         for p in prefixes:
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#245257): 
https://lists.openembedded.org/g/openembedded-core/message/245257
Mute This Topic: https://lists.openembedded.org/mt/121128192/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to