# 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)