diff options
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 |