diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-06-13 14:50:04 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-06-13 14:50:04 -0700 |
commit | a40c1905e53d3af20df6d4f940e1235551a6840e (patch) | |
tree | 928241b5aac30c2b18c43c7db14c421491661b8e | |
parent | adc077443a2dbbecad8b4635b7cf1fcff7a9bd03 (diff) | |
download | portage-a40c1905e53d3af20df6d4f940e1235551a6840e.tar.gz portage-a40c1905e53d3af20df6d4f940e1235551a6840e.tar.bz2 portage-a40c1905e53d3af20df6d4f940e1235551a6840e.zip |
pkg_use_enabled: return early for built pkgs
Built/installed packages have frozen USE settings, so there's no sense
in considering them for autounmask USE config changes. They'll simply
be rejected by select_package, and an unbuilt ebuild will be selected
instead. This will fix bug 371423 by avoiding unnecessary use_reduce
calls on the deps of installed packages.
-rw-r--r-- | pym/_emerge/depgraph.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 9ce199b15..da48f2aff 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -3440,6 +3440,8 @@ class depgraph(object): Example: target_use = { "foo": True, "bar": False } The flags target_use must be in the pkg's IUSE. """ + if pkg.built: + return pkg.use.enabled needed_use_config_change = self._dynamic_config._needed_use_config_changes.get(pkg) if target_use is None: @@ -3739,7 +3741,7 @@ class depgraph(object): if atom.use: matched_pkgs_ignore_use.append(pkg) - if allow_use_changes: + if allow_use_changes and not pkg.built: target_use = {} for flag in atom.use.enabled: target_use[flag] = True |