summaryrefslogtreecommitdiffstats
path: root/lib/bb/cache.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-04-10 10:55:48 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-06 15:31:21 +0100
commitd4574ad90638e58291bf6edfa19b74161b062b6e (patch)
treecf8f2c6cf63483647d8b4087fe50cffd545d55eb /lib/bb/cache.py
parent2b0194b408d6d1835f04b20cf5cbd6b0d255869b (diff)
downloadopenembedded-core-contrib-d4574ad90638e58291bf6edfa19b74161b062b6e.tar.gz
bitbake/cache.py: Ensure skipped recipes make it into the cache to avoid reparsing
(From Poky rev: 001a555c2f755d4f8a69b113656d9307ca7ee597) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/cache.py')
-rw-r--r--lib/bb/cache.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/bb/cache.py b/lib/bb/cache.py
index 6e3a6124dd..bc4a8dfd98 100644
--- a/lib/bb/cache.py
+++ b/lib/bb/cache.py
@@ -129,7 +129,10 @@ class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)):
@classmethod
def from_metadata(cls, filename, metadata):
if cls.getvar('__SKIPPED', metadata):
- return cls.make_optional(skipped=True)
+ return cls.make_optional(skipped=True,
+ file_depends=metadata.getVar('__depends', False),
+ timestamp=bb.parse.cached_mtime(filename),
+ variants=cls.listvar('__VARIANTS', metadata) + [''])
tasks = metadata.getVar('__BBTASKS', False)
@@ -480,11 +483,13 @@ class Cache(object):
return bb.parse.cached_mtime_noerror(cachefile)
def add_info(self, filename, info, cacheData, parsed=None):
- cacheData.add_from_recipeinfo(filename, info)
+ if not info.skipped:
+ cacheData.add_from_recipeinfo(filename, info)
+
if not self.has_cache:
return
- if 'SRCREVINACTION' not in info.pv and not info.nocache:
+ if (info.skipped or 'SRCREVINACTION' not in info.pv) and not info.nocache:
if parsed:
self.cacheclean = False
self.depends_cache[filename] = info