aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--lib/bb/providers.py28
2 files changed, 2 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog
index 7bea472d9..08b5ae7c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -129,6 +129,8 @@ Changes in Bitbake 1.9.x:
- Improve runtime PREFERRED_PROVIDERS warning message
- Add BB_STAMP_WHITELIST option which contains a list of stamps to ignore when
checking stamp dependencies and using a BB_STAMP_POLICY of "whitelist"
+ - No longer weight providers on the basis of a package being "already staged". This
+ leads to builds being non-deterministic.
Changes in Bitbake 1.8.0:
- Release 1.7.x as a stable series
diff --git a/lib/bb/providers.py b/lib/bb/providers.py
index cb0ca3ff2..0ad5876ef 100644
--- a/lib/bb/providers.py
+++ b/lib/bb/providers.py
@@ -213,34 +213,6 @@ def _filterProviders(providers, item, cfgData, dataCache):
eligible.remove(fn)
eligible = [fn] + eligible
- # look to see if one of them is already staged, or marked as preferred.
- # if so, bump it to the head of the queue
- for p in providers:
- pn = dataCache.pkg_fn[p]
- pe, pv, pr = dataCache.pkg_pepvpr[p]
-
- stamp = '%s.do_populate_staging' % dataCache.stamp[p]
- if os.path.exists(stamp):
- (newvers, fn) = preferred_versions[pn]
- if not fn in eligible:
- # package was made ineligible by already-failed check
- continue
- oldver = "%s-%s" % (pv, pr)
- if pe > 0:
- oldver = "%s:%s" % (pe, oldver)
- newver = "%s-%s" % (newvers[1], newvers[2])
- if newvers[0] > 0:
- newver = "%s:%s" % (newvers[0], newver)
- if (newver != oldver):
- extra_chat = "%s (%s) already staged but upgrading to %s to satisfy %s" % (pn, oldver, newver, item)
- else:
- extra_chat = "Selecting already-staged %s (%s) to satisfy %s" % (pn, oldver, item)
-
- bb.msg.note(2, bb.msg.domain.Provider, "%s" % extra_chat)
- eligible.remove(fn)
- eligible = [fn] + eligible
- break
-
return eligible