summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/EbuildProcess.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-16 20:59:24 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-16 20:59:24 -0700
commit2f508a0f40252ad00b8055d27818647d0d0f5970 (patch)
treec8548961db46750048e3ce29f05c22b41bcf5e82 /pym/_emerge/EbuildProcess.py
parentae9b8998cc5255504aad85db7846e843760b56c7 (diff)
downloadportage-2f508a0f40252ad00b8055d27818647d0d0f5970.tar.gz
portage-2f508a0f40252ad00b8055d27818647d0d0f5970.tar.bz2
portage-2f508a0f40252ad00b8055d27818647d0d0f5970.zip
Make spawnebuild() use EbuildPhase to eliminate duplicate code.
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