From 0fdc6157b824b727fbcffb6c1ea28ba8b79ec9e4 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 12 Aug 2010 04:21:05 -0700 Subject: Consolidate EBUILD_EXIT_STATUS_FILE handling in doebuild.spawn() and subclasses of AbstractEbuildProcess. --- pym/_emerge/EbuildSpawnProcess.py | 11 +++++++++++ pym/_emerge/MiscFunctionsProcess.py | 5 +---- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'pym/_emerge') diff --git a/pym/_emerge/EbuildSpawnProcess.py b/pym/_emerge/EbuildSpawnProcess.py index e19a04051..36ec0a0c9 100644 --- a/pym/_emerge/EbuildSpawnProcess.py +++ b/pym/_emerge/EbuildSpawnProcess.py @@ -4,6 +4,9 @@ from _emerge.AbstractEbuildProcess import AbstractEbuildProcess import portage from portage import os +portage.proxy.lazyimport.lazyimport(globals(), + 'portage.package.ebuild.doebuild:_doebuild_exit_status_check_and_log' +) class EbuildSpawnProcess(AbstractEbuildProcess): """ @@ -20,3 +23,11 @@ class EbuildSpawnProcess(AbstractEbuildProcess): def _spawn(self, args, **kwargs): return self.spawn_func(args, **kwargs) + + def _set_returncode(self, wait_retval): + AbstractEbuildProcess._set_returncode(self, wait_retval) + phase = self.settings.get("EBUILD_PHASE") + if not phase: + phase = 'other' + self.returncode = _doebuild_exit_status_check_and_log( + self.settings, phase, self.returncode) diff --git a/pym/_emerge/MiscFunctionsProcess.py b/pym/_emerge/MiscFunctionsProcess.py index c66beb2c2..8d137afe1 100644 --- a/pym/_emerge/MiscFunctionsProcess.py +++ b/pym/_emerge/MiscFunctionsProcess.py @@ -5,7 +5,7 @@ from _emerge.AbstractEbuildProcess import AbstractEbuildProcess import portage from portage import os from portage.package.ebuild.doebuild import spawn, \ - _doebuild_exit_status_check_and_log, _doebuild_exit_status_unlink + _doebuild_exit_status_check_and_log class MiscFunctionsProcess(AbstractEbuildProcess): """ @@ -24,9 +24,6 @@ class MiscFunctionsProcess(AbstractEbuildProcess): self.args = [portage._shell_quote(misc_sh_binary)] + self.commands self.logfile = settings.get("PORTAGE_LOG_FILE") - _doebuild_exit_status_unlink( - settings.get("EBUILD_EXIT_STATUS_FILE")) - AbstractEbuildProcess._start(self) def _spawn(self, args, **kwargs): -- cgit v1.2.3-1-g7c22