[oe] [PATCH] Bitbake filterProviders does not respect sorted priorities

Chris Conroy Chris.Conroy at hillcrestlabs.com
Mon Sep 21 20:07:40 UTC 2009


Cross-posting to the OE list since I haven't heard anything from the
bitbake list after posting this last week. The providers code ignores
package priorities and as a result unexpected packages can get chosen
when using overlays with different priority settings.

Original message posted to bitbake mailing list:

I am using bitbake 1.8.13 within OE, and I ran into a problem today
where the wrong package was being selected.

Digging into the problem, I found that the code that sorts packages does
not respect the priority order.

By iterating over sortpkg_pn.keys() instead of pkg_pn.keys(), it
produces the expected order based on the priorities I have set. Patch
below:

diff --git a/lib/bb/providers.py b/lib/bb/providers.py
index 8970fb3..6c1cf78 100644
--- a/lib/bb/providers.py
+++ b/lib/bb/providers.py
@@ -191,7 +191,7 @@ def _filterProviders(providers, item, cfgData,
dataCache):
             eligible.append(preferred_versions[pn][1])

     # Now add latest verisons
-    for pn in pkg_pn.keys():
+    for pn in sortpkg_pn.keys():
         if pn in preferred_versions and preferred_versions[pn][1]:
             continue
         preferred_versions[pn] = findLatestProvider(pn, cfgData,
dataCache, sortpkg_pn[pn][0])




More information about the Openembedded-devel mailing list