summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/EbuildPhase.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-07-12 04:49:55 -0700
committerZac Medico <zmedico@gentoo.org>2010-07-12 04:49:55 -0700
commit0c71f83404d17e27b1fc319ad6979969c6205062 (patch)
tree1856dc53b02f9427e10d7a83ddfd2a1b1b2da98e /pym/_emerge/EbuildPhase.py
parentf9197545f7686d610d6d153fb2dbbb4d4d65bb7e (diff)
downloadportage-0c71f83404d17e27b1fc319ad6979969c6205062.tar.gz
portage-0c71f83404d17e27b1fc319ad6979969c6205062.tar.bz2
portage-0c71f83404d17e27b1fc319ad6979969c6205062.zip
Fix output handling for FEATURES="lafilefixing".
Diffstat (limited to 'pym/_emerge/EbuildPhase.py')
-rw-r--r--pym/_emerge/EbuildPhase.py25
1 files changed, 14 insertions, 11 deletions
diff --git a/pym/_emerge/EbuildPhase.py b/pym/_emerge/EbuildPhase.py
index 51ee93da6..8d20fd878 100644
--- a/pym/_emerge/EbuildPhase.py
+++ b/pym/_emerge/EbuildPhase.py
@@ -58,18 +58,21 @@ class EbuildPhase(CompositeTask):
settings = self.settings
if self.phase == "install":
- out = None
- log_path = self.settings.get("PORTAGE_LOG_FILE")
- log_file = None
- if self.background and log_path is not None:
- log_file = codecs.open(_unicode_encode(log_path,
- encoding=_encodings['fs'], errors='strict'),
- mode='a', encoding=_encodings['content'], errors='replace')
- out = log_file
+ out = portage.StringIO()
_post_src_install_chost_fix(settings)
- _post_src_install_uid_fix(settings, out=out)
- if log_file is not None:
- log_file.close()
+ _post_src_install_uid_fix(settings, out)
+ msg = _unicode_decode(out.getvalue(),
+ encoding=_encodings['content'], errors='replace')
+ if msg:
+ if not self.background:
+ writemsg_stdout(msg, noiselevel=-1)
+ log_path = self.settings.get("PORTAGE_LOG_FILE")
+ if log_path is not None:
+ log_file = codecs.open(_unicode_encode(log_path,
+ encoding=_encodings['fs'], errors='strict'),
+ mode='a', encoding=_encodings['content'], errors='replace')
+ log_file.write(msg)
+ log_file.close()
post_phase_cmds = _post_phase_cmds.get(self.phase)
if post_phase_cmds is not None: