summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-06 13:12:51 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-06 13:12:51 -0700
commitdc8d70479dfb54a1f2561ba3fe82d7a62d97964f (patch)
tree2d88e3b9b58c5ce2439e7c7e51d17e75c15c2685
parent655de34818c503babea5898ced341c7806d95e64 (diff)
downloadportage-dc8d70479dfb54a1f2561ba3fe82d7a62d97964f.tar.gz
portage-dc8d70479dfb54a1f2561ba3fe82d7a62d97964f.tar.bz2
portage-dc8d70479dfb54a1f2561ba3fe82d7a62d97964f.zip
Fix depgraph._wrapped_select_pkg_highest_available_imp() to check
USE settings for installed packages when --newuse is enabled in cases when none of the packages match a given USE dep.
-rw-r--r--pym/_emerge/depgraph.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 94e55e173..d2b64c4b0 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2565,6 +2565,7 @@ class depgraph(object):
portdb = self._frozen_config.roots[root].trees["porttree"].dbapi
# List of acceptable packages, ordered by type preference.
matched_packages = []
+ matched_pkgs_ignore_use = []
highest_version = None
if not isinstance(atom, portage.dep.Atom):
atom = portage.dep.Atom(atom)
@@ -2726,6 +2727,7 @@ class depgraph(object):
# since IUSE cannot be adjusted by the user.
continue
+ matched_pkgs_ignore_use.append(pkg)
if allow_use_changes:
target_use = {}
for flag in atom.use.enabled:
@@ -2794,7 +2796,7 @@ class depgraph(object):
break
# Compare built package to current config and
# reject the built package if necessary.
- if built and (not installed or matched_packages) and \
+ if built and (not installed or matched_pkgs_ignore_use) and \
("--newuse" in self._frozen_config.myopts or \
"--reinstall" in self._frozen_config.myopts or \
"--binpkg-respect-use" in self._frozen_config.myopts):