diff options
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r-- | bitbake/lib/bb/cache.py | 13 |
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 | ||
48 | def getCacheFile(path, filename, data_hash): | 48 | def 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: |