diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-01-23 21:15:34 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-01-23 21:15:34 +0000 |
commit | 73aa5897223c6be7d690ad18d737947c92a767db (patch) | |
tree | 8b3285a767e508f58a71a6667a49a466276651a9 | |
parent | 52daa3dd5b5924952861a4da21c1dc61ee7c7673 (diff) | |
download | portage-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__.py | 11 |
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)) |