summaryrefslogtreecommitdiffstats
path: root/pym/portage/elog/mod_save_summary.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/elog/mod_save_summary.py')
-rw-r--r--pym/portage/elog/mod_save_summary.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/pym/portage/elog/mod_save_summary.py b/pym/portage/elog/mod_save_summary.py
new file mode 100644
index 000000000..eb453e587
--- /dev/null
+++ b/pym/portage/elog/mod_save_summary.py
@@ -0,0 +1,23 @@
+import os, time
+from portage.data import portage_uid, portage_gid
+
+def process(mysettings, cpv, logentries, fulltext):
+ if mysettings["PORT_LOGDIR"] != "":
+ elogdir = os.path.join(mysettings["PORT_LOGDIR"], "elog")
+ else:
+ elogdir = os.path.join(os.sep, "var", "log", "portage", "elog")
+ if not os.path.exists(elogdir):
+ os.makedirs(elogdir)
+ os.chown(elogdir, portage_uid, portage_gid)
+ os.chmod(elogdir, 02770)
+
+ # TODO: Locking
+ elogfilename = elogdir+"/summary.log"
+ elogfile = open(elogfilename, "a")
+ elogfile.write(">>> Messages generated by process %d on %s for package %s:\n\n" % \
+ (os.getpid(), time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(time.time())), cpv))
+ elogfile.write(fulltext)
+ elogfile.write("\n")
+ elogfile.close()
+
+ return elogfilename