summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/depgraph.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-09-21 20:03:03 -0700
committerZac Medico <zmedico@gentoo.org>2011-09-21 20:03:03 -0700
commitc85965f6d0493bab84d6b7a615d39678df9d53ba (patch)
tree4be58dc6c27df65159b02cfba9ec45d91d8b9ac6 /pym/_emerge/depgraph.py
parent339b0ac7f3b1f5e82b427a3cde6c021c406d5b71 (diff)
downloadportage-c85965f6d0493bab84d6b7a615d39678df9d53ba.tar.gz
portage-c85965f6d0493bab84d6b7a615d39678df9d53ba.tar.bz2
portage-c85965f6d0493bab84d6b7a615d39678df9d53ba.zip
Tweak automatic --binpkg-respect-use behavior.
If --binpkg-respect-use is not explicitly specified, we enable the behavior automatically (like requested in bug #297549), as long as it doesn't strongly conflict with other options that have been specified. Strongly conflicting options currently include --usepkgonly and --rebuilt-binaries.
Diffstat (limited to 'pym/_emerge/depgraph.py')
-rw-r--r--pym/_emerge/depgraph.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index e8d96f4fe..a4f6c3ddc 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -552,7 +552,8 @@ class depgraph(object):
"""
if not self._dynamic_config.ignored_binaries \
or '--quiet' in self._frozen_config.myopts \
- or "--binpkg-respect-use" in self._frozen_config.myopts:
+ or self._dynamic_config.myparams.get(
+ "binpkg_respect_use") in ("y", "n"):
return
self._show_merge_list()
@@ -796,7 +797,8 @@ class depgraph(object):
"""Return a set of flags that trigger reinstallation, or None if there
are no such flags."""
if "--newuse" in self._frozen_config.myopts or \
- self._frozen_config.myopts.get("--binpkg-respect-use", True) == True:
+ self._dynamic_config.myparams.get(
+ "binpkg_respect_use") in ("y", "auto"):
flags = set(orig_iuse.symmetric_difference(
cur_iuse).difference(forced_flags))
flags.update(orig_iuse.intersection(orig_use).symmetric_difference(
@@ -3967,7 +3969,8 @@ class depgraph(object):
if built and not useoldpkg and (not installed or matched_pkgs_ignore_use) and \
("--newuse" in self._frozen_config.myopts or \
"--reinstall" in self._frozen_config.myopts or \
- self._frozen_config.myopts.get("--binpkg-respect-use", True) == True):
+ (not installed and self._dynamic_config.myparams.get(
+ "binpkg_respect_use") in ("y", "auto"))):
iuses = pkg.iuse.all
old_use = self._pkg_use_enabled(pkg)
if myeb: