summaryrefslogtreecommitdiffstats
path: root/source-builder/sb/options.py
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2013-04-21 18:37:02 +1000
committerChris Johns <chrisj@rtems.org>2013-04-21 18:37:02 +1000
commit5142becd8ec950ea0f2d36cdc9488660abc2ca29 (patch)
treecbe93e6ede010f4e716fcd21fd123a4247b0c917 /source-builder/sb/options.py
parentAdd source and patches section. (diff)
downloadrtems-source-builder-5142becd8ec950ea0f2d36cdc9488660abc2ca29.tar.bz2
Refactor the logging support.
Diffstat (limited to 'source-builder/sb/options.py')
-rw-r--r--source-builder/sb/options.py44
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):