blob: b8b74293c926a75cb2bb75a705337aa3f243d6af [file] [log] [blame]
# 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)