summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-10-12 13:40:12 +1100
committerChris Johns <chrisj@rtems.org>2017-10-12 13:48:52 +1100
commit6dc551cf47eda01941449f70f106630ea508fa06 (patch)
tree40e876ba7b364509a55a159911599824afe76c46
parentEnable 64-bit BFD support. Needed on 32bit hosts (diff)
downloadrtems-source-builder-6dc551cf47eda01941449f70f106630ea508fa06.tar.bz2
sb: Move the option check for reporting errors to the error reporter.
Updates #2536.
-rw-r--r--source-builder/sb/build.py7
-rwxr-xr-xsource-builder/sb/ereport.py60
2 files changed, 34 insertions, 33 deletions
diff --git a/source-builder/sb/build.py b/source-builder/sb/build.py
index b995e6b..e28a831 100644
--- a/source-builder/sb/build.py
+++ b/source-builder/sb/build.py
@@ -111,11 +111,8 @@ class build:
return name
def _generate_report_(self, header, footer = None):
- label, result = self.opts.with_arg('error-report')
- if (label.startswith('without_') and result != 'yes') or \
- (label.startswith('with_') and result != 'no'):
- ereport.generate('rsb-report-%s.txt' % self.macros['name'],
- self.opts, header, footer)
+ ereport.generate('rsb-report-%s.txt' % self.macros['name'],
+ self.opts, header, footer)
def __init__(self, name, create_tar_files, opts, macros = None):
try:
diff --git a/source-builder/sb/ereport.py b/source-builder/sb/ereport.py
index 88aaa16..475eff7 100755
--- a/source-builder/sb/ereport.py
+++ b/source-builder/sb/ereport.py
@@ -1,6 +1,6 @@
#
# RTEMS Tools Project (http://www.rtems.org/)
-# Copyright 2010-2014 Chris Johns (chrisj@rtems.org)
+# Copyright 2010-2017 Chris Johns (chrisj@rtems.org)
# All rights reserved.
#
# This file is part of the RTEMS Tools package in 'rtems-testing'.
@@ -21,36 +21,40 @@
# Create an error log.
#
+from __future__ import print_function
+
import os
import error
import log
def generate(name, opts, header = None, footer = None):
- r = ['RTEMS Tools Project - Source Builder Error Report'] + []
- if header:
- r += [' %s' % (header)]
- r += [opts.info()]
- if opts.defaults.get_value('%{_sbgit_valid}') == '1':
- r += [' %s/%s' % (opts.defaults.get_value('%{_sbgit_remotes}'),
- opts.defaults.get_value('%{_sbgit_id}'))]
- else:
- r += [' RSB: not a valid repo']
- if os.name == 'nt':
- r += [' Windows']
- else:
- r += [' %s' % (' '.join(os.uname()))]
- r += []
- r += ['Tail of the build log:']
- r += log.tail()
- if footer:
- r += [footer]
- try:
- name = name.replace('/', '-')
- l = open(name, 'w')
- l.write(os.linesep.join(r))
- l.close()
- log.notice(' See error report: %s' % (name))
- except:
- log.stderr('error: failure to create error report')
- raise
+ label, result = opts.with_arg('error-report')
+ if (label.startswith('without_') and result != 'yes') or \
+ (label.startswith('with_') and result != 'no'):
+ r = ['RTEMS Tools Project - Source Builder Error Report'] + []
+ if header:
+ r += [' %s' % (header)]
+ r += [opts.info()]
+ if opts.defaults.get_value('%{_sbgit_valid}') == '1':
+ r += [' %s/%s' % (opts.defaults.get_value('%{_sbgit_remotes}'),
+ opts.defaults.get_value('%{_sbgit_id}'))]
+ else:
+ r += [' RSB: not a valid repo']
+ if os.name == 'nt':
+ r += [' Windows']
+ else:
+ r += [' %s' % (' '.join(os.uname()))]
+ r += []
+ r += ['Tail of the build log:']
+ r += log.tail()
+ if footer:
+ r += [footer]
+ try:
+ name = name.replace('/', '-')
+ with open(name, 'w') as l:
+ l.write(os.linesep.join(r))
+ log.notice(' See error report: %s' % (name))
+ except:
+ log.stderr('error: failure to create error report')
+ raise