import portage
portage.proxy.lazyimport.lazyimport(globals(),
'portage.package.ebuild.doebuild:_post_phase_userpriv_perms,' + \
- '_spawn_actionmap,spawn@doebuild_spawn'
+ '_spawn_actionmap,_unsandboxed_phases,spawn@doebuild_spawn'
)
from portage import _shell_quote
from portage import os
__slots__ = ('actionmap',)
- _unsandboxed_phases = frozenset([
- "clean", "cleanrm", "config",
- "help", "info", "postinst",
- "preinst", "pretend", "postrm",
- "prerm", "setup"])
-
def _start(self):
# Don't open the log file during the clean phase since the
# open file can result in an nfs lock on $T/build.log which
def _spawn(self, args, **kwargs):
self.settings["EBUILD_PHASE"] = self.phase
- if self.phase in self._unsandboxed_phases:
+ if self.phase in _unsandboxed_phases:
kwargs['free'] = True
if self.phase == 'depend':
kwargs['droppriv'] = 'userpriv' in self.settings.features
from _emerge.EbuildSpawnProcess import EbuildSpawnProcess
from _emerge.TaskScheduler import TaskScheduler
+_unsandboxed_phases = frozenset([
+ "clean", "cleanrm", "config",
+ "help", "info", "postinst",
+ "preinst", "pretend", "postrm",
+ "prerm", "setup"
+])
+
def doebuild_environment(myebuild, mydo, myroot, mysettings,
debug, use_cache, mydbapi):
def _spawn_phase(phase, settings, **kwargs):
if kwargs.get('returnpid'):
+ if phase in _unsandboxed_phases:
+ kwargs['free'] = True
portage_bin_path = settings["PORTAGE_BIN_PATH"]
ebuild_sh_binary = os.path.join(portage_bin_path,
os.path.basename(EBUILD_SH_BINARY))