diff --git a/bin/emerge b/bin/emerge index 94f3c1f..29d8e0f 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1077,6 +1077,12 @@ class depgraph: selected_pkg = ["blocks", myroot, x[1:], None] else: #We are not processing a blocker but a normal dependency + pkg_key = portage.dep_getkey(x) + if pkg_key in pkgsettings.pprovideddict and \ + portage.match_from_list( + x, pkgsettings.pprovideddict[pkg_key]): + continue + # List of acceptable packages, ordered by type preference. matched_packages = [] myeb_matches = portdb.xmatch("match-visible", x) @@ -1207,7 +1213,7 @@ class depgraph: while (not mygraph.empty()): mycurkey=mygraph.firstzero() if not mycurkey: - installables = mygraph.leaf_nodes(include_soft_deps=True) + installables = mygraph.leaf_nodes(include_soft_deps=False) if not installables: print "!!! Error: circular dependencies:" print