From ee24ac1b8f198773c8a0c9ddb2cb9659b28b8d37 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 4 Jan 2011 16:52:32 -0800 Subject: composite_db: use ebuild visibility for installed This will fix bug #350488. --- pym/_emerge/depgraph.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'pym/_emerge/depgraph.py') diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index a75dfc1a7..36faee329 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -5486,7 +5486,22 @@ class _dep_check_composite_db(dbapi): # that are usually ignored in visibility checks for # installed packages, in order to handle cases like # bug #350285. - return False + myopts = self._depgraph._frozen_config.myopts + use_ebuild_visibility = myopts.get( + '--use-ebuild-visibility', 'n') != 'n' + usepkgonly = "--usepkgonly" in myopts + if not use_ebuild_visibility and usepkgonly: + return False + else: + try: + pkg_eb = self._depgraph._pkg( + pkg.cpv, "ebuild", pkg.root_config, myrepo=pkg.repo) + except portage.exception.PackageNotFound: + return False + else: + if not self._depgraph._pkg_visibility_check(pkg_eb): + return False + in_graph = self._depgraph._dynamic_config._slot_pkg_map[ self._root].get(pkg.slot_atom) if in_graph is None: -- cgit v1.2.3-1-g7c22