From 9dbe1728015ea5b23c4c77158cc45f220dfae0a1 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 3 Feb 2007 12:03:23 +0000 Subject: In order to correctly handl the case of target caches that don't have complete eclass entries, validate the set of interited eclasses to make sure it is correct (since timestamp validation is not applicable). svn path=/main/trunk/; revision=5880 --- pym/portage/cache/util.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pym') diff --git a/pym/portage/cache/util.py b/pym/portage/cache/util.py index 025887715..0732de4e4 100644 --- a/pym/portage/cache/util.py +++ b/pym/portage/cache/util.py @@ -39,7 +39,9 @@ def mirror_cache(valid_nodes_iterable, src_cache, trg_cache, eclass_cache=None, trg = None try: trg = trg_cache[x] - if long(trg["_mtime_"]) == long(entry["_mtime_"]) and portage.eclass_cache.is_eclass_data_valid(trg["_eclasses_"]): + if long(trg["_mtime_"]) == long(entry["_mtime_"]) and \ + eclass_cache.is_eclass_data_valid(trg["_eclasses_"]) and \ + set(trg["_eclasses_"]) == set(entry["_eclasses_"]): write_it = False except (cache_errors.CacheError, KeyError): pass -- cgit v1.2.3-1-g7c22