summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/depgraph.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-09-20 22:59:04 +0000
committerZac Medico <zmedico@gentoo.org>2009-09-20 22:59:04 +0000
commit127a297b2b01c82fd90c2557c1cb1fd803620ec8 (patch)
tree0acc1137245b298ed6376e60cbddce46fbce97cb /pym/_emerge/depgraph.py
parentbc3bb2a0acfc132b7e0be1beec435daecbcf9e85 (diff)
downloadportage-127a297b2b01c82fd90c2557c1cb1fd803620ec8.tar.gz
portage-127a297b2b01c82fd90c2557c1cb1fd803620ec8.tar.bz2
portage-127a297b2b01c82fd90c2557c1cb1fd803620ec8.zip
Fix depgraph._validate_blockers() so that it doesn't do prohibited Atom(Atom)
constructor calls. svn path=/main/trunk/; revision=14305
Diffstat (limited to 'pym/_emerge/depgraph.py')
-rw-r--r--pym/_emerge/depgraph.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 33cb7b5ee..33461ad75 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2604,8 +2604,7 @@ class depgraph(object):
except KeyError:
pass
if blockers is not None:
- blockers = set(str(blocker.atom) \
- for blocker in blockers)
+ blockers = set(blocker.atom for blocker in blockers)
# If this node has any blockers, create a "nomerge"
# node for it so that they can be enforced.
@@ -2636,7 +2635,7 @@ class depgraph(object):
continue
if blocker_data:
- blocker_atoms = blocker_data.atoms
+ blocker_atoms = [Atom(atom) for atom in blocker_data.atoms)]
else:
# Use aux_get() to trigger FakeVartree global
# updates on *DEPEND when appropriate.
@@ -2675,7 +2674,7 @@ class depgraph(object):
show_invalid_depstring_notice(pkg, depstr, atoms)
return False
blocker_atoms = [myatom for myatom in atoms \
- if myatom.startswith("!")]
+ if myatom.blocker]
blocker_atoms.sort()
counter = long(pkg.metadata["COUNTER"])
blocker_cache[cpv] = \
@@ -2683,7 +2682,7 @@ class depgraph(object):
if blocker_atoms:
try:
for atom in blocker_atoms:
- blocker = Blocker(atom=portage.dep.Atom(atom),
+ blocker = Blocker(atom=atom,
eapi=pkg.metadata["EAPI"], root=myroot)
self._dynamic_config._blocker_parents.add(blocker, pkg)
except portage.exception.InvalidAtom as e: