diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-08-12 05:56:22 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-12 05:56:22 -0700 |
commit | a4589f44d8da96dc83131910aeb60b5ea62ec40f (patch) | |
tree | 829adf3adf4215ac0ddd64f9732955da6f0dbe20 /pym/_emerge/AbstractEbuildProcess.py | |
parent | 14d949b1e6987207b91e0c0d43162406135345d8 (diff) | |
download | portage-a4589f44d8da96dc83131910aeb60b5ea62ec40f.tar.gz portage-a4589f44d8da96dc83131910aeb60b5ea62ec40f.tar.bz2 portage-a4589f44d8da96dc83131910aeb60b5ea62ec40f.zip |
Factor EBUILD_EXIT_STATUS_FILE code out of AbstractEbuildProcess
subclasses and into AbstractEbuildProcess itself.
Diffstat (limited to 'pym/_emerge/AbstractEbuildProcess.py')
-rw-r--r-- | pym/_emerge/AbstractEbuildProcess.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/pym/_emerge/AbstractEbuildProcess.py b/pym/_emerge/AbstractEbuildProcess.py index 302d34403..f4a87f68b 100644 --- a/pym/_emerge/AbstractEbuildProcess.py +++ b/pym/_emerge/AbstractEbuildProcess.py @@ -3,12 +3,16 @@ from _emerge.SpawnProcess import SpawnProcess import portage +portage.proxy.lazyimport.lazyimport(globals(), + 'portage.package.ebuild.doebuild:_doebuild_exit_status_check_and_log' +) from portage import os from portage.util._pty import _create_pty_or_pipe class AbstractEbuildProcess(SpawnProcess): __slots__ = ('settings',) + _phases_without_builddir = ('clean', 'cleanrm', 'depend', 'help',) def _pipe(self, fd_pipes): stdout_pipe = fd_pipes.get(1) @@ -22,3 +26,12 @@ class AbstractEbuildProcess(SpawnProcess): # See Bug #162404. return not ('sesandbox' in self.settings.features \ and self.settings.selinux_enabled()) or os.isatty(slave_fd) + + def _set_returncode(self, wait_retval): + SpawnProcess._set_returncode(self, wait_retval) + phase = self.settings.get("EBUILD_PHASE") + if not phase: + phase = 'other' + if phase not in self._phases_without_builddir: + self.returncode = _doebuild_exit_status_check_and_log( + self.settings, phase, self.returncode) |