summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2006-08-13 23:56:42 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2006-08-13 23:56:42 +0000
commitd08eb8a983ad64327c18166bd0a30e56b741bd13 (patch)
tree8f31debc1a430f077a9c5e574167617c506bcbfe
parentbe8b569c58fa7d4e7bb06f1128be38d4fd62b82a (diff)
downloadbitbake-d08eb8a983ad64327c18166bd0a30e56b741bd13.tar.gz
trunk/bitbake/bin/bitbake:
* Add some variables to the data cache * Move self.preferred into the same place as other similar cache data trunk/bitbake/lib/bb/cache.py: * Bump cache version number
-rwxr-xr-xbin/bitbake24
-rw-r--r--lib/bb/cache.py3
2 files changed, 17 insertions, 10 deletions
diff --git a/bin/bitbake b/bin/bitbake
index e5f152757..110d6d982 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -59,9 +59,13 @@ class BBParsingStatus:
self.pn_provides = {}
self.all_depends = Set()
self.build_all = {}
+ self.deps = {}
self.rundeps = {}
self.runrecs = {}
+ self.task_queues = {}
+ self.task_deps = {}
self.stamp = {}
+ self.preferred = {}
def handle_bb_data(self, file_name, bb_cache, cached):
"""
@@ -79,6 +83,9 @@ class BBParsingStatus:
packages_dynamic = (bb_cache.getVar('PACKAGES_DYNAMIC', file_name, True) or "").split()
rprovides = (bb_cache.getVar("RPROVIDES", file_name, True) or "").split()
+ self.task_queues[file_name] = bb_cache.getVar("_task_graph", file_name, True)
+ self.task_deps[file_name] = bb_cache.getVar("_task_deps", file_name, True)
+
# build PackageName to FileName lookup table
if pn not in self.pkg_pn:
self.pkg_pn[pn] = []
@@ -104,8 +111,10 @@ class BBParsingStatus:
self.providers[provide] = []
self.providers[provide].append(file_name)
+ self.deps[file_name] = Set()
for dep in depends:
self.all_depends.add(dep)
+ self.deps[file_name].add(dep)
# Build reverse hash for PACKAGES, so runtime dependencies
# can be be resolved (RDEPENDS, RRECOMMENDS etc.)
@@ -125,7 +134,7 @@ class BBParsingStatus:
self.rproviders[rprovide] = []
self.rproviders[rprovide].append(file_name)
- # Build hash of runtime depeneds and rececommends
+ # Build hash of runtime depends and rececommends
def add_dep(deplist, deps):
for dep in deps:
@@ -207,7 +216,6 @@ class BBCooker:
self.building_list = []
self.build_path = []
self.consider_msgs_cache = []
- self.preferred = {}
self.stats = BBStatistics()
self.status = None
@@ -570,12 +578,12 @@ class BBCooker:
prefervar = bb.data.getVar('PREFERRED_PROVIDER_%s' % item, self.configuration.data, 1)
if prefervar:
- self.preferred[item] = prefervar
+ self.status.preferred[item] = prefervar
- if item in self.preferred:
+ if item in self.status.preferred:
for p in eligible:
pn = self.status.pkg_fn[p]
- if self.preferred[item] == pn:
+ if self.status.preferred[item] == pn:
bb.msg.note(2, bb.msg.domain.Provider, "selecting %s to satisfy %s due to PREFERRED_PROVIDERS" % (pn, item))
eligible.remove(p)
eligible = [p] + eligible
@@ -745,9 +753,9 @@ class BBCooker:
# Handle PREFERRED_PROVIDERS
for p in (bb.data.getVar('PREFERRED_PROVIDERS', localdata, 1) or "").split():
(providee, provider) = p.split(':')
- if providee in self.preferred and self.preferred[providee] != provider:
- bb.msg.error(bb.msg.domain.Provider, "conflicting preferences for %s: both %s and %s specified" % (providee, provider, self.preferred[providee]))
- self.preferred[providee] = provider
+ if providee in self.status.preferred and self.status.preferred[providee] != provider:
+ bb.msg.error(bb.msg.domain.Provider, "conflicting preferences for %s: both %s and %s specified" % (providee, provider, self.status.preferred[providee]))
+ self.status.preferred[providee] = provider
# Calculate priorities for each file
for p in self.status.pkg_fn.keys():
diff --git a/lib/bb/cache.py b/lib/bb/cache.py
index 627173007..9972f788b 100644
--- a/lib/bb/cache.py
+++ b/lib/bb/cache.py
@@ -40,8 +40,7 @@ except ImportError:
import pickle
print "NOTE: Importing cPickle failed. Falling back to a very slow implementation."
-# __cache_version__ = "123"
-__cache_version__ = "124" # changes the __depends structure
+__cache_version__ = "125"
class Cache:
"""