From 2f508a0f40252ad00b8055d27818647d0d0f5970 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 16 Aug 2010 20:59:24 -0700 Subject: Make spawnebuild() use EbuildPhase to eliminate duplicate code. --- pym/_emerge/EbuildProcess.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'pym/_emerge/EbuildProcess.py') 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 -- cgit v1.2.3-1-g7c22