summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r--bitbake/lib/bb/cache.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 36e6356f51..dea2a80616 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -43,7 +43,7 @@ except ImportError:
43 logger.info("Importing cPickle failed. " 43 logger.info("Importing cPickle failed. "
44 "Falling back to a very slow implementation.") 44 "Falling back to a very slow implementation.")
45 45
46__cache_version__ = "143" 46__cache_version__ = "144"
47 47
48def getCacheFile(path, filename, data_hash): 48def getCacheFile(path, filename, data_hash):
49 return os.path.join(path, filename + "." + data_hash) 49 return os.path.join(path, filename + "." + data_hash)
@@ -76,9 +76,13 @@ class RecipeInfoCommon(object):
76 for task in tasks) 76 for task in tasks)
77 77
78 @classmethod 78 @classmethod
79 def flaglist(cls, flag, varlist, metadata): 79 def flaglist(cls, flag, varlist, metadata, squash=False):
80 return dict((var, metadata.getVarFlag(var, flag, True)) 80 out_dict = dict((var, metadata.getVarFlag(var, flag, True))
81 for var in varlist) 81 for var in varlist)
82 if squash:
83 return dict((k,v) for (k,v) in out_dict.iteritems() if v)
84 else:
85 return out_dict
82 86
83 @classmethod 87 @classmethod
84 def getvar(cls, var, metadata): 88 def getvar(cls, var, metadata):
@@ -128,6 +132,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
128 self.stamp = self.getvar('STAMP', metadata) 132 self.stamp = self.getvar('STAMP', metadata)
129 self.stamp_base = self.flaglist('stamp-base', self.tasks, metadata) 133 self.stamp_base = self.flaglist('stamp-base', self.tasks, metadata)
130 self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata) 134 self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
135 self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True)
131 self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata) 136 self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
132 self.depends = self.depvar('DEPENDS', metadata) 137 self.depends = self.depvar('DEPENDS', metadata)
133 self.provides = self.depvar('PROVIDES', metadata) 138 self.provides = self.depvar('PROVIDES', metadata)
@@ -154,6 +159,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
154 cachedata.stamp = {} 159 cachedata.stamp = {}
155 cachedata.stamp_base = {} 160 cachedata.stamp_base = {}
156 cachedata.stamp_extrainfo = {} 161 cachedata.stamp_extrainfo = {}
162 cachedata.file_checksums = {}
157 cachedata.fn_provides = {} 163 cachedata.fn_provides = {}
158 cachedata.pn_provides = defaultdict(list) 164 cachedata.pn_provides = defaultdict(list)
159 cachedata.all_depends = [] 165 cachedata.all_depends = []
@@ -185,6 +191,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
185 cachedata.stamp[fn] = self.stamp 191 cachedata.stamp[fn] = self.stamp
186 cachedata.stamp_base[fn] = self.stamp_base 192 cachedata.stamp_base[fn] = self.stamp_base
187 cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo 193 cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo
194 cachedata.file_checksums[fn] = self.file_checksums
188 195
189 provides = [self.pn] 196 provides = [self.pn]
190 for provide in self.provides: 197 for provide in self.provides: