diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-02-03 12:03:23 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-02-03 12:03:23 +0000 |
commit | 9dbe1728015ea5b23c4c77158cc45f220dfae0a1 (patch) | |
tree | e434b05f9607945ed42dff4db6e8f111423f4057 | |
parent | 9ba9195677e412a15ed59854842b689ad98227bc (diff) | |
download | portage-9dbe1728015ea5b23c4c77158cc45f220dfae0a1.tar.gz portage-9dbe1728015ea5b23c4c77158cc45f220dfae0a1.tar.bz2 portage-9dbe1728015ea5b23c4c77158cc45f220dfae0a1.zip |
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
-rw-r--r-- | pym/portage/cache/util.py | 4 |
1 files changed, 3 insertions, 1 deletions
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 |