summaryrefslogtreecommitdiffstats
path: root/source-builder/sb/defaults.py
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2013-03-12 18:29:57 +1100
committerChris Johns <chrisj@rtems.org>2013-03-12 18:29:57 +1100
commitb4b4f3c9de7b9099477749918396e26d4f5339ce (patch)
treea19f4ab4e0b9b71309f10b4e005954bec26522eb /source-builder/sb/defaults.py
parentMove the moxie gdb patches into the build set. (diff)
downloadrtems-source-builder-b4b4f3c9de7b9099477749918396e26d4f5339ce.tar.bz2
Add a define and undefine to opts. Define git details.
Diffstat (limited to 'source-builder/sb/defaults.py')
-rw-r--r--source-builder/sb/defaults.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/source-builder/sb/defaults.py b/source-builder/sb/defaults.py
index 9743c9a..c3903e4 100644
--- a/source-builder/sb/defaults.py
+++ b/source-builder/sb/defaults.py
@@ -28,6 +28,7 @@ import os
import error
import execute
+import git
import path
import sys
@@ -427,6 +428,13 @@ class command_line:
raise error.general('host not set')
return _defaults
+ def define(self, _defaults, key, value = '1'):
+ _defaults[key] = ('none', 'none', value)
+
+ def undefine(self, _defaults, key):
+ if key in _defaults:
+ del _defaults[key]
+
def expand(self, s, _defaults):
"""Simple basic expander of config file macros."""
mf = re.compile(r'%{[^}]+}')
@@ -567,6 +575,23 @@ def load(args, optargs = None):
for k in o.defaults:
d[k] = o.defaults[k]
d = o._post_process(d)
+ repo = git.repo(o.expand('%{_sbdir}', d), o, d)
+ 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.define(d, '_sbgit_valid', repo_valid)
+ o.define(d, '_sbgit_head', repo_head)
+ o.define(d, '_sbgit_clean', str(repo_clean))
+ o.define(d, '_sbgit_id', repo_id)
return o, d
def run(args):