diff options
author | Chris Johns <chrisj@rtems.org> | 2013-04-21 18:37:02 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2013-04-21 18:37:02 +1000 |
commit | 5142becd8ec950ea0f2d36cdc9488660abc2ca29 (patch) | |
tree | cbe93e6ede010f4e716fcd21fd123a4247b0c917 /source-builder/sb/options.py | |
parent | Add source and patches section. (diff) | |
download | rtems-source-builder-5142becd8ec950ea0f2d36cdc9488660abc2ca29.tar.bz2 |
Refactor the logging support.
Diffstat (limited to 'source-builder/sb/options.py')
-rw-r--r-- | source-builder/sb/options.py | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/source-builder/sb/options.py b/source-builder/sb/options.py index 6671a57..de8afd7 100644 --- a/source-builder/sb/options.py +++ b/source-builder/sb/options.py @@ -30,6 +30,7 @@ import string import error import execute import git +import log import macros import path import sys @@ -243,6 +244,12 @@ class command_line: arg += 1 def post_process(self): + # Handle the log first. + log.default = log.log(self.logfiles()) + if self.trace(): + log.tracing = True + if self.quiet(): + log.quiet = True # Must have a host if self.defaults['_host'] == self.defaults['nil']: raise error.general('host not set') @@ -271,6 +278,25 @@ class command_line: for m in um: self.defaults.load(m) + def sb_git(self): + repo = git.repo(self.defaults.expand('%{_sbdir}'), self) + if repo.valid(): + repo_valid = '1' + repo_head = repo.head() + repo_clean = repo.clean() + repo_id = repo_head + if not repo_clean: + repo_id += '-modified' + else: + repo_valid = '0' + repo_head = '%{nil}' + repo_clean = '%{nil}' + repo_id = 'no-repo' + self.defaults['_sbgit_valid'] = repo_valid + self.defaults['_sbgit_head'] = repo_head + self.defaults['_sbgit_clean'] = str(repo_clean) + self.defaults['_sbgit_id'] = repo_id + def command(self): return path.join(self.command_path, self.command_name) @@ -466,26 +492,10 @@ def load(args, optargs = None, defaults = '%{_sbdir}/defaults.mc'): for k in overrides: o.defaults[k] = overrides[k] + o.sb_git() o.process() o.post_process() - repo = git.repo(o.defaults.expand('%{_sbdir}'), o) - if repo.valid(): - repo_valid = '1' - repo_head = repo.head() - repo_clean = repo.clean() - repo_id = repo_head - if not repo_clean: - repo_id += '-modified' - else: - repo_valid = '0' - repo_head = '%{nil}' - repo_clean = '%{nil}' - repo_id = 'no-repo' - o.defaults['_sbgit_valid'] = repo_valid - o.defaults['_sbgit_head'] = repo_head - o.defaults['_sbgit_clean'] = str(repo_clean) - o.defaults['_sbgit_id'] = repo_id return o def run(args): |