summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-05 00:28:49 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-05 00:28:49 -0700
commitb703d3088f01060309479979a226d88b0e627931 (patch)
tree4f066afd7535d09271b1c5a4ca355946003895c7 /pym
parent4a0bdc5f9205a9c03ba2a13f34b960d524f98177 (diff)
downloadportage-b703d3088f01060309479979a226d88b0e627931.tar.gz
portage-b703d3088f01060309479979a226d88b0e627931.tar.bz2
portage-b703d3088f01060309479979a226d88b0e627931.zip
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.
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/EbuildPhase.py26
1 files changed, 26 insertions, 0 deletions
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"))