summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-06-29 06:46:13 +0000
committerZac Medico <zmedico@gentoo.org>2008-06-29 06:46:13 +0000
commit71d5033616628fac505714346d74a4460fe60a6d (patch)
tree721f1b71655aabefe0b6d88af791e7a2b6571352
parent6bffa0c9174750a1df600a45e8b6c5277107a5dd (diff)
downloadportage-71d5033616628fac505714346d74a4460fe60a6d.tar.gz
portage-71d5033616628fac505714346d74a4460fe60a6d.tar.bz2
portage-71d5033616628fac505714346d74a4460fe60a6d.zip
Handle invalid atoms inside depgraph._add_pkg_deps(), to avoid an
unhandled InvalidAtom exception from dep_expand() when matching against the vardb. svn path=/main/trunk/; revision=10844
-rw-r--r--pym/_emerge/__init__.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 4929288f3..6bafb5276 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2749,6 +2749,13 @@ class depgraph(object):
if debug:
print "Candidates:", selected_atoms
for atom in selected_atoms:
+ if isinstance(atom, basestring) \
+ and not portage.isvalidatom(atom):
+ show_invalid_depstring_notice(
+ pkg, dep_string, str(atom))
+ if not pkg.installed:
+ return 0
+ continue
blocker = atom.startswith("!")
if blocker:
atom = atom[1:]