[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