From b703d3088f01060309479979a226d88b0e627931 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 5 Sep 2010 00:28:49 -0700 Subject: Take the code which displays ebuild information before pkg_setup, and move it from ebuild.sh to EbuildPhase. This way we can easily use python to extend it for bug #336019. --- pym/_emerge/EbuildPhase.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'pym') diff --git a/pym/_emerge/EbuildPhase.py b/pym/_emerge/EbuildPhase.py index e85fe9c13..a5d617f65 100644 --- a/pym/_emerge/EbuildPhase.py +++ b/pym/_emerge/EbuildPhase.py @@ -11,12 +11,14 @@ from _emerge.CompositeTask import CompositeTask from portage.util import writemsg import portage portage.proxy.lazyimport.lazyimport(globals(), + 'portage.elog:messages@elog_messages', 'portage.package.ebuild.doebuild:_check_build_log,' + \ '_post_phase_cmds,_post_phase_userpriv_perms,' + \ '_post_src_install_chost_fix,' + \ '_post_src_install_uid_fix' ) from portage import os +from portage import StringIO from portage import _encodings from portage import _unicode_decode from portage import _unicode_encode @@ -27,6 +29,18 @@ class EbuildPhase(CompositeTask): def _start(self): + if self.phase == 'setup': + + use = self.settings.get('PORTAGE_BUILT_USE') + if use is None: + use = self.settings['PORTAGE_USE'] + + msg = [] + msg.append("CPV: %s" % self.settings.mycpv) + msg.append("REPO: %s" % self.settings['PORTAGE_REPO_NAME']) + msg.append("USE: %s" % use) + self._elog('einfo', msg) + if self.phase == 'prerm': env_extractor = BinpkgEnvExtractor(background=self.background, scheduler=self.scheduler, settings=self.settings) @@ -200,3 +214,15 @@ class EbuildPhase(CompositeTask): self._final_exit(clean_phase) self.returncode = 1 self.wait() + + def _elog(self, elog_funcname, lines): + out = StringIO() + phase = self.phase + elog_func = getattr(elog_messages, elog_funcname) + for line in lines: + elog_func(line, phase=phase, key=self.settings.mycpv, out=out) + msg = _unicode_decode(out.getvalue(), + encoding=_encodings['content'], errors='replace') + if msg: + self.scheduler.output(msg, + log_path=self.settings.get("PORTAGE_LOG_FILE")) -- cgit v1.2.3-1-g7c22