From 001a555c2f755d4f8a69b113656d9307ca7ee597 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 10 Apr 2011 10:55:48 -0700 Subject: bitbake/cache.py: Ensure skipped recipes make it into the cache to avoid reparsing Signed-off-by: Richard Purdie --- bitbake/lib/bb/cache.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'bitbake/lib/bb/cache.py') diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index 955b400622..d083c515ed 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/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 -- cgit v1.2.3-54-g00ecf