| # Copyright 1999-2013 Gentoo Foundation |
| # 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:_doebuild_spawn,_spawn_actionmap' |
| ) |
| |
| class EbuildProcess(AbstractEbuildProcess): |
| |
| __slots__ = ('actionmap',) |
| |
| def _spawn(self, args, **kwargs): |
| |
| actionmap = self.actionmap |
| if actionmap is None: |
| actionmap = _spawn_actionmap(self.settings) |
| |
| if self._dummy_pipe_fd is not None: |
| self.settings["PORTAGE_PIPE_FD"] = str(self._dummy_pipe_fd) |
| |
| try: |
| return _doebuild_spawn(self.phase, self.settings, |
| actionmap=actionmap, **kwargs) |
| finally: |
| self.settings.pop("PORTAGE_PIPE_FD", None) |