commit:     1066e75109f078841b30d2d01ebd297d0b542559
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 14 02:58:26 2014 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Jun 14 02:58:26 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=1066e751

depgraph: handle argument/set parents more

---
 pym/_emerge/depgraph.py | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 4acb114..bede7c6 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -643,7 +643,10 @@ class depgraph(object):
                        rebuild_atoms = atoms.get(root, set())
 
                        for dep in deps:
-                               if getattr(dep.parent, "installed", False) or 
dep.child.installed or \
+                               if not isinstance(dep.parent, Package):
+                                       continue
+
+                               if dep.parent.installed or dep.child.installed 
or \
                                        dep.parent.slot_atom not in 
rebuild_atoms:
                                        continue
 
@@ -1360,6 +1363,10 @@ class depgraph(object):
                found_update = False
                for parent_atom, conflict_pkgs in conflict_atoms.items():
                        parent, atom = parent_atom
+
+                       if not isinstance(parent, Package):
+                               continue
+
                        if atom.slot_operator != "=" or not parent.built:
                                continue
 
@@ -1564,7 +1571,7 @@ class depgraph(object):
                        slot operator parents.
                        """
                        for parent, atom in 
self._dynamic_config._parent_atoms.get(existing_pkg, []):
-                               if atom.slot_operator == "=" and parent.built:
+                               if atom.slot_operator == "=" and 
getattr(parent, "built", False):
                                        continue
 
                                atom_set = 
InternalPackageSet(initial_atoms=(atom,),

Reply via email to