summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/EbuildProcess.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/_emerge/EbuildProcess.py')
-rw-r--r--pym/_emerge/EbuildProcess.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/pym/_emerge/EbuildProcess.py b/pym/_emerge/EbuildProcess.py
index c60c2bda9..84a8d1b61 100644
--- a/pym/_emerge/EbuildProcess.py
+++ b/pym/_emerge/EbuildProcess.py
@@ -2,16 +2,18 @@
# Distributed under the terms of the GNU General Public License v2
from _emerge.AbstractEbuildProcess import AbstractEbuildProcess
+import portage
+portage.proxy.lazyimport.lazyimport(globals(),
+ 'portage.package.ebuild.doebuild:_post_phase_userpriv_perms,' + \
+ '_spawn_actionmap,spawn@doebuild_spawn'
+)
from portage import _shell_quote
from portage import os
from portage.const import EBUILD_SH_BINARY
-from portage.package.ebuild.doebuild import _post_phase_userpriv_perms
-from portage.package.ebuild.doebuild import spawn as doebuild_spawn
-from portage.package.ebuild.doebuild import _spawn_actionmap
class EbuildProcess(AbstractEbuildProcess):
- __slots__ = ()
+ __slots__ = ('actionmap',)
def _start(self):
# Don't open the log file during the clean phase since the
@@ -23,7 +25,9 @@ class EbuildProcess(AbstractEbuildProcess):
def _spawn(self, args, **kwargs):
self.settings["EBUILD_PHASE"] = self.phase
- actionmap = _spawn_actionmap(self.settings)
+ actionmap = self.actionmap
+ if actionmap is None:
+ actionmap = _spawn_actionmap(self.settings)
if self.phase in actionmap:
kwargs.update(actionmap[self.phase]["args"])
cmd = actionmap[self.phase]["cmd"] % self.phase