summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-03-23 21:08:35 -0700
committerZac Medico <zmedico@gentoo.org>2011-03-26 12:20:35 -0700
commit937f4f958f77b54a4c46b94e89af3f1720450e6b (patch)
tree2654d72777b61ee6f475f25c942fb8d1f6c1fde0
parentb402e535f0a728c13183a92a19f48f173164eada (diff)
downloadportage-937f4f958f77b54a4c46b94e89af3f1720450e6b.tar.gz
portage-937f4f958f77b54a4c46b94e89af3f1720450e6b.tar.bz2
portage-937f4f958f77b54a4c46b94e89af3f1720450e6b.zip
get_dep_chain: handle InvalidDependString
-rw-r--r--pym/_emerge/depgraph.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index f17a93ccb..91ec7599e 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2308,8 +2308,12 @@ class depgraph(object):
if target_atom is not None and isinstance(node, Package):
affecting_use = set()
for dep_str in "DEPEND", "RDEPEND", "PDEPEND":
- affecting_use.update(extract_affecting_use(
- node.metadata[dep_str], target_atom))
+ try:
+ affecting_use.update(extract_affecting_use(
+ node.metadata[dep_str], target_atom))
+ except InvalidDependString:
+ if not node.installed:
+ raise
affecting_use.difference_update(node.use.mask, node.use.force)
pkg_name = _unicode_decode("%s") % (node.cpv,)
if affecting_use: