diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-21 17:27:35 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-26 08:10:34 +0100 |
commit | 09f6a56aa48f8d73d2900ab7c874258741bc054b (patch) | |
tree | 27b5f5fd3c5af2632941449113ed593c78ba1b47 /bitbake/lib/bb | |
parent | b2ef908be1cd6b4d705b403149e696e6c5ecc431 (diff) | |
download | poky-09f6a56aa48f8d73d2900ab7c874258741bc054b.tar.gz |
bitbake: cache: Correctly handle missing extra caches
If an "extras" cache file is corrupted, the system would not notice
and later fail with errors about missing entries. Add a test for this
which means we can fall back to re-parsing in those cases.
[YOCTO #9902]
(Bitbake rev: 51843d8f2bbe2e54db7593ca61984abe70423ef6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/cache.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index afd373da9b..b90d488b99 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py | |||
@@ -556,6 +556,9 @@ class Cache(object): | |||
556 | if virtualfn not in self.depends_cache: | 556 | if virtualfn not in self.depends_cache: |
557 | logger.debug(2, "Cache: %s is not cached", virtualfn) | 557 | logger.debug(2, "Cache: %s is not cached", virtualfn) |
558 | invalid = True | 558 | invalid = True |
559 | elif len(self.depends_cache[virtualfn]) != len(self.caches_array): | ||
560 | logger.debug(2, "Cache: Extra caches missing for %s?" % virtualfn) | ||
561 | invalid = True | ||
559 | 562 | ||
560 | # If any one of the variants is not present, mark as invalid for all | 563 | # If any one of the variants is not present, mark as invalid for all |
561 | if invalid: | 564 | if invalid: |