summaryrefslogtreecommitdiffstats
path: root/source-builder
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-10-31 11:57:21 +1100
committerChris Johns <chrisj@rtems.org>2017-10-31 11:57:21 +1100
commit4dc9bf3a374b3e97a746fb1b6d080619ff7f5d90 (patch)
treef8dcbe9f099a60d628ee982ce339140f84a06b65 /source-builder
parentsb: Make a to_addr comma list a Python list for sending. (diff)
downloadrtems-source-builder-4dc9bf3a374b3e97a746fb1b6d080619ff7f5d90.tar.bz2
sb: Add platform reporting for better host reviewing in posted email reports.
Diffstat (limited to 'source-builder')
-rw-r--r--source-builder/sb/reports.py12
-rw-r--r--source-builder/sb/setbuilder.py18
2 files changed, 25 insertions, 5 deletions
diff --git a/source-builder/sb/reports.py b/source-builder/sb/reports.py
index 046045c..9d3a342 100644
--- a/source-builder/sb/reports.py
+++ b/source-builder/sb/reports.py
@@ -64,6 +64,18 @@ def _make_path(p, *args):
p = path.join(p, arg)
return os.path.abspath(path.host(p))
+def platform(mode = 'all'):
+ import platform
+ if mode == 'system':
+ return platform.system()
+ compact = platform.platform(aliased = True)
+ if mode == 'compact':
+ return compact
+ extended = ' '.join(platform.uname())
+ if mode == 'extended':
+ return extended
+ return '%s (%s)' % (short, extended)
+
class formatter(object):
def __init__(self):
self.content = ''
diff --git a/source-builder/sb/setbuilder.py b/source-builder/sb/setbuilder.py
index 590e201..17b781a 100644
--- a/source-builder/sb/setbuilder.py
+++ b/source-builder/sb/setbuilder.py
@@ -30,6 +30,7 @@ import glob
import operator
import os
import sys
+import textwrap
try:
import build
@@ -341,7 +342,8 @@ class buildset:
log.trace('_bset: %s: make' % (self.bset))
log.notice('Build Set: %s' % (self.bset))
- mail_subject = '%s on %s' % (self.bset, self.macros.expand('%{_host}'))
+ mail_subject = '%s on %s' % (self.bset,
+ self.macros.expand('%{_host}'))
current_path = os.environ['PATH']
@@ -472,10 +474,12 @@ class buildset:
self.write_mail_header('Build Time: %s' % (build_time), True)
self.write_mail_header('', True)
if self.build_failure is not None:
- mail_subject = 'Build : FAILED %s (%s)' % \
+ mail_subject = 'FAILED %s (%s)' % \
(mail_subject, self.build_failure)
else:
- mail_subject = 'Build : PASSED %s' % (mail_subject)
+ mail_subject = 'PASSED %s' % (mail_subject)
+ mail_subject = 'Build %s: %s' % (reports.platform(mode = 'system'),
+ mail_subject)
self.write_mail_header(mail['header'], True)
self.write_mail_header('')
log.notice('Mailing report: %s' % (mail['to']))
@@ -534,9 +538,13 @@ def run():
if not check.host_setup(opts):
raise error.general('host build environment is not set up correctly')
if mail:
- mail['header'] = os.linesep.join(mail['output'].get())
+ mail['header'] = os.linesep.join(mail['output'].get()) + os.linesep
mail['header'] += os.linesep
- mail['header'] += opts.info() + os.linesep
+ mail['header'] += 'Host: ' + reports.platform('compact') + os.linesep
+ indent = ' '
+ for l in textwrap.wrap(reports.platform('extended'),
+ width = 80 - len(indent)):
+ mail['header'] += indent + l + os.linesep
configs = build.get_configs(opts)
if opts.get_arg('--list-deps'):
deps = []