diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-10-09 22:50:56 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-10-09 22:50:56 +0000 |
commit | 9ca46474139b131a2c2e416880f65ae9e3f99fc5 (patch) | |
tree | 6a38d7e1c7b808235ebab38bde189f524649ae04 /pym/portage/elog | |
parent | 6430efa0bcf9379b50ccaea0e1c2b2ea347ea212 (diff) | |
download | portage-9ca46474139b131a2c2e416880f65ae9e3f99fc5.tar.gz portage-9ca46474139b131a2c2e416880f65ae9e3f99fc5.tar.bz2 portage-9ca46474139b131a2c2e416880f65ae9e3f99fc5.zip |
Bug #273099 - Add split-log and split-elog FEATURES for splitting build logs
and elog mod_save logs into category subdirectories. Thanks to Sebastian
Mingramm (few) for this patch.
svn path=/main/trunk/; revision=14532
Diffstat (limited to 'pym/portage/elog')
-rw-r--r-- | pym/portage/elog/mod_save.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/pym/portage/elog/mod_save.py b/pym/portage/elog/mod_save.py index 954787994..b1c38061d 100644 --- a/pym/portage/elog/mod_save.py +++ b/pym/portage/elog/mod_save.py @@ -21,9 +21,20 @@ def process(mysettings, key, logentries, fulltext): elogdir = os.path.join(os.sep, "var", "log", "portage", "elog") ensure_dirs(elogdir, uid=portage_uid, gid=portage_gid, mode=0o2770) - elogfilename = os.path.join(elogdir, path + ":" + _unicode_decode( + cat = mysettings['CATEGORY'] + pf = mysettings['PF'] + + elogfilename = pf + ":" + _unicode_decode( time.strftime("%Y%m%d-%H%M%S", time.gmtime(time.time())), - encoding=_encodings['content'], errors='replace') + ".log") + encoding=_encodings['content'], errors='replace') + ".log" + + if "split-elog" in mysettings.features: + elogfilename = os.path.join(elogdir, cat, elogfilename) + else: + elogfilename = os.path.join(elogdir, cat + ':' + elogfilename) + ensure_dirs(os.path.dirname(elogfilename), + uid=portage_uid, gid=portage_gid, mode=0o2770) + elogfile = codecs.open(_unicode_encode(elogfilename, encoding=_encodings['fs'], errors='strict'), mode='w', encoding=_encodings['content'], errors='backslashreplace') |