summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-11 03:25:16 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-11 03:25:16 +0000
commit70ae7e22bac7f2490cfce04f06eb3f2270b768e2 (patch)
treed3a45ba772c45a86f4149ebacf66844f526fd5c2 /pym/_emerge
parentf606de67b0d84051176dbc5051076102a35327d6 (diff)
downloadportage-70ae7e22bac7f2490cfce04f06eb3f2270b768e2.tar.gz
portage-70ae7e22bac7f2490cfce04f06eb3f2270b768e2.tar.bz2
portage-70ae7e22bac7f2490cfce04f06eb3f2270b768e2.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. (trunk r12552) svn path=/main/branches/2.1.6/; revision=12838
Diffstat (limited to 'pym/_emerge')
-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 e22eced6a..7636e3cdc 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -5163,9 +5163,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)
@@ -5173,6 +5173,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))