From 2e8c935fb78beff2f4ebbb16876866be765194ac Mon Sep 17 00:00:00 2001 From: Marius Mauch Date: Sun, 26 Mar 2006 06:35:24 +0000 Subject: move some elog defaults into make.globals, add new vars for mail from and subject (bug #116637), change default location for mod_save logfiles to PORT_LOGDIR/elog (bug #124165) svn path=/main/trunk/; revision=3014 --- pym/elog_modules/mod_mail.py | 46 +++++++++++++++++++++++++------------------- pym/elog_modules/mod_save.py | 5 ++++- 2 files changed, 30 insertions(+), 21 deletions(-) (limited to 'pym') diff --git a/pym/elog_modules/mod_mail.py b/pym/elog_modules/mod_mail.py index 59fd56a8e..68771ba51 100644 --- a/pym/elog_modules/mod_mail.py +++ b/pym/elog_modules/mod_mail.py @@ -14,29 +14,35 @@ def process(mysettings, cpv, logentries, fulltext): # passwd: password for smtp auth (defaults to none) # mailserver: smtp server that should be used to deliver the mail (defaults to localhost) # port: port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000)) - if "PORTAGE_ELOG_MAILURI" in mysettings.keys(): - if " " in mysettings["PORTAGE_ELOG_MAILURI"]: - myrecipient, mymailuri = mysettings["PORTAGE_ELOG_MAILURI"].split() - if "@" in mymailuri: - myauthdata, myconndata = mymailuri.rsplit("@", 1) - try: - mymailuser,mymailpasswd = myauthdata.split(":") - except ValueError: - print "!!! invalid SMTP AUTH configuration, trying unauthenticated ..." - else: - myconndata = mymailuri - if ":" in myconndata: - mymailhost,mymailport = myconndata.split(":") - else: - mymailhost = myconndata + if " " in mysettings["PORTAGE_ELOG_MAILURI"]: + myrecipient, mymailuri = mysettings["PORTAGE_ELOG_MAILURI"].split() + if "@" in mymailuri: + myauthdata, myconndata = mymailuri.rsplit("@", 1) + try: + mymailuser,mymailpasswd = myauthdata.split(":") + except ValueError: + print "!!! invalid SMTP AUTH configuration, trying unauthenticated ..." else: - myrecipient = mysettings["PORTAGE_ELOG_MAILURI"] + myconndata = mymailuri + if ":" in myconndata: + mymailhost,mymailport = myconndata.split(":") + else: + mymailhost = myconndata + else: + myrecipient = mysettings["PORTAGE_ELOG_MAILURI"] try: + myfrom = mysettings["PORTAGE_ELOG_MAILFROM"] + mymessage = email.Message.Message() - mymessage.set_unixfrom("portage") + mymessage.set_unixfrom(myfrom) mymessage.set_payload(fulltext) mymessage["To"] = myrecipient - mymessage["Subject"] = "[portage] Ebuild log for %s" % cpv + + mysubject = mysettings["PORTAGE_ELOG_MAILSUBJECT"] + mysubject = mysubject.replace("${PACKAGE}", cpv) + mysubject = mysubject.replace("${HOST}", socket.getfqdn()) + + mymessage["Subject"] = mysubject if int(mymailport) > 100000: myconn = smtplib.SMTP(mymailhost, int(mymailport) - 100000) @@ -45,10 +51,10 @@ def process(mysettings, cpv, logentries, fulltext): myconn = smtplib.SMTP(mymailhost, mymailport) if mymailuser != "" and mymailpasswd != "": myconn.login(mymailuser, mymailpasswd) - myconn.sendmail("portage", myrecipient, mymessage.as_string()) + myconn.sendmail(myfrom, myrecipient, mymessage.as_string()) myconn.quit() except smtplib.SMTPException, e: raise portage_exception.PortageException("!!! An error occured while trying to send logmail:\n"+str(e)) except socket.error, e: - raise portage_exception.PortageException("!!! A network error occured while trying to send logmail:\n"+str(e)+"\nSure you configured PORTAGE_LOG_MAILURI correctly?") + raise portage_exception.PortageException("!!! A network error occured while trying to send logmail:\n"+str(e)+"\nSure you configured PORTAGE_ELOG_MAILURI correctly?") return diff --git a/pym/elog_modules/mod_save.py b/pym/elog_modules/mod_save.py index 106e8800a..6c16c2041 100644 --- a/pym/elog_modules/mod_save.py +++ b/pym/elog_modules/mod_save.py @@ -4,7 +4,10 @@ from portage_data import portage_uid, portage_gid def process(mysettings, cpv, logentries, fulltext): cpv_path = cpv.replace("/", ":") - elogdir = mysettings["PORTAGE_TMPDIR"]+"/elogs" + 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) -- cgit v1.2.3-1-g7c22