diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-12-19 02:55:39 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-12-19 02:55:39 +0000 |
commit | a25e73b1bc49c618fd5298a4f7dead22b61afad8 (patch) | |
tree | 636874953f2b1f96355f9a19779b3d4e2063c335 /pym | |
parent | 9869b80cb4479a2b4d0e5c46b6f8dd429492225f (diff) | |
download | portage-a25e73b1bc49c618fd5298a4f7dead22b61afad8.tar.gz portage-a25e73b1bc49c618fd5298a4f7dead22b61afad8.tar.bz2 portage-a25e73b1bc49c618fd5298a4f7dead22b61afad8.zip |
Trigger a config.regenerate() call inside setcpv() when the
EBUILD_PHASE variable is defined. It's too expensive to do
the regenerate() call every time. Do in when EBUILD_PHASE
is defined since it's needed to create the filtered USE that
environ() passes to the ebuild environment. (trunk r8961)
svn path=/main/branches/2.1.2/; revision=8962
Diffstat (limited to 'pym')
-rw-r--r-- | pym/portage.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pym/portage.py b/pym/portage.py index fd678f7df..9e0a5e6ff 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -1945,7 +1945,7 @@ class config: self.configdict["pkg"]["USE"] = self.puse[:] # this gets appended to USE if iuse != self.configdict["pkg"].get("IUSE",""): self.configdict["pkg"]["IUSE"] = iuse - if self._use_wildcards: + if self._use_wildcards or self.get("EBUILD_PHASE"): # Without this conditional, regenerate() would be called # *every* time. has_changed = True @@ -3793,6 +3793,11 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m # so that the caller can override it. tmpdir = mysettings["PORTAGE_TMPDIR"] + # This variable is a signal to setcpv where it triggers + # filtering of USE for the ebuild environment. + mysettings["EBUILD_PHASE"] = mydo + mysettings.backup_changes("EBUILD_PHASE") + if mydo != "depend": """For performance reasons, setcpv only triggers reset when it detects a package-specific change in config. For the ebuild @@ -3805,6 +3810,7 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m # so restore it to it's original value. mysettings["PORTAGE_TMPDIR"] = tmpdir + mysettings.pop("EBUILD_PHASE", None) # remove from backupenv mysettings["EBUILD_PHASE"] = mydo mysettings["PORTAGE_MASTER_PID"] = str(os.getpid()) |