'portage.dbapi.dep_expand:dep_expand',
'portage.dep:dep_getkey,isjustname,match_from_list,' + \
'use_reduce,_slot_re',
- 'portage.elog:elog_process',
+ 'portage.elog:elog_process,_preload_elog_modules',
'portage.locks:lockdir,unlockdir',
'portage.output:bold,colorize',
'portage.package.ebuild.doebuild:doebuild_environment,' + \
os.chmod(var_new, dir_perms)
os.chmod(base_path_tmp, dir_perms)
# This serves so pre-load the modules.
- elog_process(self.mycpv, self.settings)
+ _preload_elog_modules()
return self._merge(mergeroot, inforoot,
myebuild=myebuild, cleanup=cleanup,
from portage.localization import _
from portage import os
+def _preload_elog_modules(settings):
+ logsystems = settings.get("PORTAGE_ELOG_SYSTEM", "").split()
+ for s in logsystems:
+ # allow per module overrides of PORTAGE_ELOG_CLASSES
+ if ":" in s:
+ s, levels = s.split(":", 1)
+ levels = levels.split(",")
+ # - is nicer than _ for module names, so allow people to use it.
+ s = s.replace("-", "_")
+ try:
+ _load_mod("portage.elog.mod_" + s)
+ except ImportError:
+ pass
+
def _merge_logentries(a, b):
rValue = {}
phases = set(a)