summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-01-23 21:15:34 +0000
committerZac Medico <zmedico@gentoo.org>2009-01-23 21:15:34 +0000
commit73aa5897223c6be7d690ad18d737947c92a767db (patch)
tree8b3285a767e508f58a71a6667a49a466276651a9
parent52daa3dd5b5924952861a4da21c1dc61ee7c7673 (diff)
downloadportage-73aa5897223c6be7d690ad18d737947c92a767db.tar.gz
portage-73aa5897223c6be7d690ad18d737947c92a767db.tar.bz2
portage-73aa5897223c6be7d690ad18d737947c92a767db.zip
Inside depgraph._dep_expand(), filter use dbapi.cp_list() to filter out
any results from dbapi.cp_all() that happen to not contain any ebuilds. Thanks to Jeremy Olexa <darkside@g.o> for reporting. svn path=/main/trunk/; revision=12552
-rw-r--r--pym/_emerge/__init__.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 98d48b678..7f02a48d7 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -5179,9 +5179,9 @@ class depgraph(object):
atom_without_category, "null"))
cat, atom_pn = portage.catsplit(null_cp)
+ dbs = self._filtered_trees[root_config.root]["dbs"]
cp_set = set()
- for db, pkg_type, built, installed, db_keys in \
- self._filtered_trees[root_config.root]["dbs"]:
+ for db, pkg_type, built, installed, db_keys in dbs:
cp_set.update(db.cp_all())
for cp in list(cp_set):
cat, pn = portage.catsplit(cp)
@@ -5189,6 +5189,13 @@ class depgraph(object):
cp_set.discard(cp)
deps = []
for cp in cp_set:
+ have_pkg = False
+ for db, pkg_type, built, installed, db_keys in dbs:
+ if db.cp_list(cp):
+ have_pkg = True
+ break
+ if not have_pkg:
+ continue
cat, pn = portage.catsplit(cp)
deps.append(insert_category_into_atom(
atom_without_category, cat))