Omit repo from mtimedb resume mergelist entries since the format
authorZac Medico <zmedico@gentoo.org>
Mon, 27 Sep 2010 21:43:18 +0000 (14:43 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 27 Sep 2010 21:43:18 +0000 (14:43 -0700)
is intended to be frozen.

pym/_emerge/Package.py
pym/_emerge/depgraph.py

index ba7fa42f8d4e997f6ae9de007145b8b2d4f371e3..c54ece186ecff0b43ca02366b1b8bc0bb78d422f 100644 (file)
@@ -386,6 +386,16 @@ class Package(Task):
                                (self.type_name, self.root, self.cpv, self.operation, self.metadata.get('repository', None))
                return self._hash_key
 
+       def __len__(self):
+               return 4
+
+       def __iter__(self):
+               """
+               This is used to generate mtimedb resume mergelist entries, so we
+               limit it to 4 items for backward compatibility.
+               """
+               return iter(self._get_hash_key()[:4])
+
        def __lt__(self, other):
                if other.cp != self.cp:
                        return False
index a8caf129633a96d5269f010586c51af5e79bb04e..7c4e30aec83fd66a60f9e53bb5913e0137865934 100644 (file)
@@ -4909,7 +4909,11 @@ class depgraph(object):
                portdb = self._frozen_config.trees[self._frozen_config.target_root]["porttree"].dbapi
                added_favorites = set()
                for x in self._dynamic_config._set_nodes:
-                       pkg_type, root, pkg_key, pkg_status, pkg_repo = x
+                       pkg_type = x.type_name
+                       root = x.root
+                       pkg_key = x.cpv
+                       pkg_status = x.operation
+                       pkg_repo = x.repo
                        if pkg_status != "nomerge":
                                continue
 
@@ -4969,16 +4973,16 @@ class depgraph(object):
                serialized_tasks = []
                masked_tasks = []
                for x in mergelist:
-                       if not (isinstance(x, list) and len(x) == 5):
+                       if not (isinstance(x, list) and len(x) == 4):
                                continue
-                       pkg_type, myroot, pkg_key, action, pkg_repo = x
+                       pkg_type, myroot, pkg_key, action = x
                        if pkg_type not in self.pkg_tree_map:
                                continue
                        if action != "merge":
                                continue
                        root_config = self._frozen_config.roots[myroot]
                        try:
-                               pkg = self._pkg(pkg_key, pkg_type, root_config, myrepo=pkg_repo)
+                               pkg = self._pkg(pkg_key, pkg_type, root_config)
                        except portage.exception.PackageNotFound:
                                # It does no exist or it is corrupt.
                                if skip_missing: