diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-07-15 09:50:41 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-07-15 09:50:41 +0000 |
commit | 34261a71a119e7af9b972238afe7e6532c4a67e3 (patch) | |
tree | de5393d9a2caf136cefc2e1c25f0bedda9fcebd3 /pym/portage/elog | |
parent | When there is more than one failure, show a summary packages that failed to (diff) | |
download | portage-34261a71a119e7af9b972238afe7e6532c4a67e3.tar.gz portage-34261a71a119e7af9b972238afe7e6532c4a67e3.tar.bz2 portage-34261a71a119e7af9b972238afe7e6532c4a67e3.zip |
When packages fail with --jobs > 1 and the "echo" elog module is not enabled,
emulate elog's mod_echo module to show the 'error' level messages, which should
include the important die message. This is implemented by adding a private
hook inside elog_process() which the scheduler uses to collect error messages.
svn path=/main/trunk/; revision=11056
Diffstat (limited to 'pym/portage/elog')
-rw-r--r-- | pym/portage/elog/__init__.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pym/portage/elog/__init__.py b/pym/portage/elog/__init__.py index ea81e8411..50a51e9fd 100644 --- a/pym/portage/elog/__init__.py +++ b/pym/portage/elog/__init__.py @@ -53,10 +53,11 @@ def _load_mod(name): _elog_mod_imports[name] = m return m +_emerge_elog_listener = None _elog_atexit_handlers = [] _preserve_logentries = {} def elog_process(cpv, mysettings, phasefilter=None): - global _elog_atexit_handlers, _preserve_logentries + global _elog_atexit_handlers, _emerge_elog_listener, _preserve_logentries logsystems = mysettings.get("PORTAGE_ELOG_SYSTEM","").split() for s in logsystems: @@ -100,6 +101,10 @@ def elog_process(cpv, mysettings, phasefilter=None): default_fulllog = _combine_logentries(default_logentries) + if _emerge_elog_listener is not None: + _emerge_elog_listener(mysettings, str(key), + default_logentries, default_fulllog) + # pass the processing to the individual modules logsystems = mysettings["PORTAGE_ELOG_SYSTEM"].split() for s in logsystems: |