Use pwd data instead of os.getlogin() to get the username for fallback
email address. os.getlogin() basically returns the name of the user
logged in on the controlling terminal of the process and raises an
exception on some systems if the process does not have a controlling
terminal - when executed from a cron script, for example.

Signed-off-by: Markus Lehtonen <markus.lehto...@linux.intel.com>
---
 scripts/contrib/oe-build-perf-report-email.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/contrib/oe-build-perf-report-email.py 
b/scripts/contrib/oe-build-perf-report-email.py
index 055a7b12cf..261ca514e5 100755
--- a/scripts/contrib/oe-build-perf-report-email.py
+++ b/scripts/contrib/oe-build-perf-report-email.py
@@ -211,9 +211,10 @@ def send_email(text_fn, html_fn, subject, recipients):
     else:
         raise ReportError("Neither plain text nor html body specified")
 
-    full_name = pwd.getpwuid(os.getuid()).pw_gecos.split(',')[0]
+    pw_data = pwd.getpwuid(os.getuid())
+    full_name = pw_data.pw_gecos.split(',')[0]
     email = os.environ.get('EMAIL',
-                           '{}@{}'.format(os.getlogin(), socket.getfqdn()))
+                           '{}@{}'.format(pw_data.pw_name, socket.getfqdn()))
     msg['From'] = "{} <{}>".format(full_name, email)
     msg['To'] = ', '.join(recipients)
     msg['Subject'] = subject
-- 
2.12.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to