diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-04-10 10:55:48 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-06 15:31:21 +0100 |
commit | d4574ad90638e58291bf6edfa19b74161b062b6e (patch) | |
tree | cf8f2c6cf63483647d8b4087fe50cffd545d55eb /lib/bb/cache.py | |
parent | 2b0194b408d6d1835f04b20cf5cbd6b0d255869b (diff) | |
download | bitbake-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.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/bb/cache.py b/lib/bb/cache.py index 6e3a6124d..bc4a8dfd9 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 |