In order to correctly handl the case of target caches that don't have complete eclass...
authorZac Medico <zmedico@gentoo.org>
Sat, 3 Feb 2007 12:03:23 +0000 (12:03 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 3 Feb 2007 12:03:23 +0000 (12:03 -0000)
svn path=/main/trunk/; revision=5880

pym/portage/cache/util.py

index 025887715f01d8151306a8b60d9636158c9792f6..0732de4e4b3d7e2c7cabea3dc418cfffc1108bb7 100644 (file)
@@ -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