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,),