From 04420a58490d17ab9c8505710f8c359e03c1c12e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 2 Mar 2010 20:59:00 +0000 Subject: Split doebuild and related code to the portage.package.ebuild module. (trunk r15448) svn path=/main/branches/2.1.7/; revision=15657 --- pym/_emerge/AbstractEbuildProcess.py | 3 ++- pym/_emerge/EbuildFetcher.py | 3 ++- pym/_emerge/EbuildPhase.py | 13 +++++++------ pym/_emerge/EbuildProcess.py | 10 ++++++---- pym/_emerge/MiscFunctionsProcess.py | 8 +++++--- 5 files changed, 22 insertions(+), 15 deletions(-) (limited to 'pym/_emerge') diff --git a/pym/_emerge/AbstractEbuildProcess.py b/pym/_emerge/AbstractEbuildProcess.py index db599019..0d8be6fb 100644 --- a/pym/_emerge/AbstractEbuildProcess.py +++ b/pym/_emerge/AbstractEbuildProcess.py @@ -5,6 +5,7 @@ from _emerge.SpawnProcess import SpawnProcess import portage from portage import os +from portage.package.ebuild._pty import _create_pty_or_pipe class AbstractEbuildProcess(SpawnProcess): @@ -13,7 +14,7 @@ class AbstractEbuildProcess(SpawnProcess): def _pipe(self, fd_pipes): stdout_pipe = fd_pipes.get(1) got_pty, master_fd, slave_fd = \ - portage._create_pty_or_pipe(copy_term_size=stdout_pipe) + _create_pty_or_pipe(copy_term_size=stdout_pipe) return (master_fd, slave_fd) def _can_log(self, slave_fd): diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py index 58e4640f..eb423ff0 100644 --- a/pym/_emerge/EbuildFetcher.py +++ b/pym/_emerge/EbuildFetcher.py @@ -11,6 +11,7 @@ from portage import _encodings from portage import _unicode_encode import codecs from portage.elog.messages import eerror +from portage.package.ebuild._pty import _create_pty_or_pipe class EbuildFetcher(SpawnProcess): @@ -142,7 +143,7 @@ class EbuildFetcher(SpawnProcess): return os.pipe() stdout_pipe = fd_pipes.get(1) got_pty, master_fd, slave_fd = \ - portage._create_pty_or_pipe(copy_term_size=stdout_pipe) + _create_pty_or_pipe(copy_term_size=stdout_pipe) return (master_fd, slave_fd) def _set_returncode(self, wait_retval): diff --git a/pym/_emerge/EbuildPhase.py b/pym/_emerge/EbuildPhase.py index 89bdb078..81b0e1f8 100644 --- a/pym/_emerge/EbuildPhase.py +++ b/pym/_emerge/EbuildPhase.py @@ -5,6 +5,9 @@ from _emerge.MiscFunctionsProcess import MiscFunctionsProcess from _emerge.EbuildProcess import EbuildProcess from _emerge.CompositeTask import CompositeTask +from portage.package.ebuild.doebuild import _check_build_log, \ + _post_phase_cmds, _post_src_install_chost_fix, \ + _post_src_install_uid_fix from portage.util import writemsg, writemsg_stdout import portage from portage import os @@ -18,8 +21,6 @@ class EbuildPhase(CompositeTask): __slots__ = ("background", "pkg", "phase", "scheduler", "settings", "tree") - _post_phase_cmds = portage._post_phase_cmds - def _start(self): ebuild_process = EbuildProcess(background=self.background, @@ -39,7 +40,7 @@ class EbuildPhase(CompositeTask): encoding=_encodings['fs'], errors='strict'), mode='a', encoding=_encodings['content'], errors='replace') try: - portage._check_build_log(self.settings, out=out) + _check_build_log(self.settings, out=out) msg = _unicode_decode(out.getvalue(), encoding=_encodings['content'], errors='replace') if msg: @@ -66,12 +67,12 @@ class EbuildPhase(CompositeTask): encoding=_encodings['fs'], errors='strict'), mode='a', encoding=_encodings['content'], errors='replace') out = log_file - portage._post_src_install_chost_fix(settings) - portage._post_src_install_uid_fix(settings, out=out) + _post_src_install_chost_fix(settings) + _post_src_install_uid_fix(settings, out=out) if log_file is not None: log_file.close() - post_phase_cmds = self._post_phase_cmds.get(self.phase) + post_phase_cmds = _post_phase_cmds.get(self.phase) if post_phase_cmds is not None: post_phase = MiscFunctionsProcess(background=self.background, commands=post_phase_cmds, phase=self.phase, pkg=self.pkg, diff --git a/pym/_emerge/EbuildProcess.py b/pym/_emerge/EbuildProcess.py index 597caf4d..7cd164ee 100644 --- a/pym/_emerge/EbuildProcess.py +++ b/pym/_emerge/EbuildProcess.py @@ -3,8 +3,9 @@ # $Id$ from _emerge.AbstractEbuildProcess import AbstractEbuildProcess -import portage from portage import os +from portage.package.ebuild.doebuild import doebuild, \ + _doebuild_exit_status_check_and_log, _post_phase_userpriv_perms class EbuildProcess(AbstractEbuildProcess): @@ -26,8 +27,9 @@ class EbuildProcess(AbstractEbuildProcess): settings = self.settings ebuild_path = settings["EBUILD"] debug = settings.get("PORTAGE_DEBUG") == "1" + - rval = portage.doebuild(ebuild_path, self.phase, + rval = doebuild(ebuild_path, self.phase, root_config.root, settings, debug, mydbapi=mydbapi, tree=tree, **kwargs) @@ -37,12 +39,12 @@ class EbuildProcess(AbstractEbuildProcess): AbstractEbuildProcess._set_returncode(self, wait_retval) if self.phase not in ("clean", "cleanrm"): - self.returncode = portage._doebuild_exit_status_check_and_log( + self.returncode = _doebuild_exit_status_check_and_log( self.settings, self.phase, self.returncode) if self.phase == "test" and self.returncode != os.EX_OK and \ "test-fail-continue" in self.settings.features: self.returncode = os.EX_OK - portage._post_phase_userpriv_perms(self.settings) + _post_phase_userpriv_perms(self.settings) diff --git a/pym/_emerge/MiscFunctionsProcess.py b/pym/_emerge/MiscFunctionsProcess.py index 63d7873e..75c68cf1 100644 --- a/pym/_emerge/MiscFunctionsProcess.py +++ b/pym/_emerge/MiscFunctionsProcess.py @@ -5,6 +5,8 @@ from _emerge.AbstractEbuildProcess import AbstractEbuildProcess import portage from portage import os +from portage.package.ebuild.doebuild import spawn, \ + _doebuild_exit_status_check_and_log, _doebuild_exit_status_unlink class MiscFunctionsProcess(AbstractEbuildProcess): """ @@ -23,7 +25,7 @@ class MiscFunctionsProcess(AbstractEbuildProcess): self.args = [portage._shell_quote(misc_sh_binary)] + self.commands self.logfile = settings.get("PORTAGE_LOG_FILE") - portage._doebuild_exit_status_unlink( + _doebuild_exit_status_unlink( settings.get("EBUILD_EXIT_STATUS_FILE")) AbstractEbuildProcess._start(self) @@ -31,11 +33,11 @@ class MiscFunctionsProcess(AbstractEbuildProcess): def _spawn(self, args, **kwargs): settings = self.settings debug = settings.get("PORTAGE_DEBUG") == "1" - return portage.spawn(" ".join(args), settings, + return spawn(" ".join(args), settings, debug=debug, **kwargs) def _set_returncode(self, wait_retval): AbstractEbuildProcess._set_returncode(self, wait_retval) - self.returncode = portage._doebuild_exit_status_check_and_log( + self.returncode = _doebuild_exit_status_check_and_log( self.settings, self.phase, self.returncode) -- cgit v1.2.3-65-gdbad