From: Zac Medico Date: Mon, 13 Jun 2011 21:50:04 +0000 (-0700) Subject: pkg_use_enabled: return early for built pkgs X-Git-Tag: v2.2.0_alpha41~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a40c1905e53d3af20df6d4f940e1235551a6840e;p=portage.git 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. --- 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