From 21d2a70b316a7c3b6c9b9a9e81f1d2ab86ba98c7 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 17 Aug 2010 06:39:17 -0700 Subject: Unify ebuild spawing some more. All proper ebuild phases which execute ebuild.sh are spawned via _doebuild_spawn() now. No exceptions. --- pym/_emerge/EbuildProcess.py | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) (limited to 'pym/_emerge') diff --git a/pym/_emerge/EbuildProcess.py b/pym/_emerge/EbuildProcess.py index 70c724314..6a9c8df62 100644 --- a/pym/_emerge/EbuildProcess.py +++ b/pym/_emerge/EbuildProcess.py @@ -5,11 +5,9 @@ from _emerge.AbstractEbuildProcess import AbstractEbuildProcess import portage portage.proxy.lazyimport.lazyimport(globals(), 'portage.package.ebuild.doebuild:_post_phase_userpriv_perms,' + \ - '_spawn_actionmap,_unsandboxed_phases,spawn@doebuild_spawn' + '_spawn_actionmap,_doebuild_spawn' ) -from portage import _shell_quote from portage import os -from portage.const import EBUILD_SH_BINARY class EbuildProcess(AbstractEbuildProcess): @@ -24,30 +22,13 @@ class EbuildProcess(AbstractEbuildProcess): AbstractEbuildProcess._start(self) def _spawn(self, args, **kwargs): - self.settings["EBUILD_PHASE"] = self.phase - if self.phase in _unsandboxed_phases: - kwargs['free'] = True - if self.phase == 'depend': - kwargs['droppriv'] = 'userpriv' in self.settings.features + 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 - else: - if self.phase == 'cleanrm': - ebuild_sh_arg = 'clean' - else: - ebuild_sh_arg = self.phase - - cmd = "%s %s" % (_shell_quote(os.path.join( - self.settings["PORTAGE_BIN_PATH"], - os.path.basename(EBUILD_SH_BINARY))), ebuild_sh_arg) - try: - return doebuild_spawn(cmd, self.settings, **kwargs) - finally: - self.settings.pop("EBUILD_PHASE", None) + + return _doebuild_spawn(self.phase, self.settings, + actionmap, **kwargs) def _set_returncode(self, wait_retval): AbstractEbuildProcess._set_returncode(self, wait_retval) -- cgit v1.2.3-1-g7c22