diff options
author | Daniel Drake <dsd@laptop.org> | 2010-04-11 22:49:36 (GMT) |
---|---|---|
committer | Daniel Drake <dan@reactivated.net> | 2010-04-12 13:19:38 (GMT) |
commit | 653453a0d826ef59c9d28bd3f424fdc44caa5fb4 (patch) | |
tree | 2cd6a84edb8602c5c936ec93c1ab5cc0ee0a1d33 /osbuilder.py | |
parent | 42363aa0f258dead73aee5b966f347d0e0083f0c (diff) |
Add additional defaults cfg mechanism
This should allow Chris to specify OLPC-specific configuration
(official=1, signing config) in a less annoying manner.
Diffstat (limited to 'osbuilder.py')
-rwxr-xr-x | osbuilder.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/osbuilder.py b/osbuilder.py index ecf89ca..fefaac9 100755 --- a/osbuilder.py +++ b/osbuilder.py @@ -246,8 +246,9 @@ class OsBuilderException(Exception): pass class OsBuilder(object): - def __init__(self, build_config): + def __init__(self, build_config, additional_defaults): self.build_config = build_config + self.additional_defaults = additional_defaults print " * OLPC OS builder v%s" % VERSION if INSTALLED: @@ -314,7 +315,11 @@ class OsBuilder(object): # read in defaults self.cfg.read(os.path.join(modpath, 'defaults.ini')) - # now load the users config, overriding defaults where specified + # read in defaults specified on the command line + if self.additional_defaults is not None: + self.cfg.read(self.additional_defaults) + + # now load the users config, overriding other settings where specified self.cfg.read(self.build_config) for section in self.cfg.sections(): @@ -387,13 +392,16 @@ def main(): op.add_option('--no-clean-intermediates', dest="clean_intermediates", action="store_false", default=True, help="Don't clean intermediates directory on startup or exit") + op.add_option('--additional-defaults', dest="additional_defaults", + action="store", default=None, + help="Additional config file with default settings") (options, args) = op.parse_args() if len(args) != 1: op.error("incorrect number of arguments") try: - osb = OsBuilder(args[0]) + osb = OsBuilder(args[0], options.additional_defaults) osb.build(clean_output=options.clean_output, clean_intermediates=options.clean_intermediates) except OsBuilderException, e: |