diff options
author | Joshua Lock <josh@linux.intel.com> | 2011-06-30 23:02:53 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-01 17:03:03 +0100 |
commit | a8246ae5400c23df0d3ee29c36f4d9f257d1e6d1 (patch) | |
tree | 83f61caacc509459e647b5f0a2cca76b7ca74695 | |
parent | 26b0c538ad4f677e0d45a66484c2dca073459282 (diff) | |
download | bitbake-a8246ae5400c23df0d3ee29c36f4d9f257d1e6d1.tar.gz |
bitbake: add -R option for loading configuration files after bitbake.conf
Useful if you want to load a configuration file that sets values which may
also be set in bitbake.conf or one of the files it includes.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-x | bin/bitbake | 5 | ||||
-rw-r--r-- | lib/bb/cooker.py | 13 |
2 files changed, 14 insertions, 4 deletions
diff --git a/bin/bitbake b/bin/bitbake index d577e054f..206d97b22 100755 --- a/bin/bitbake +++ b/bin/bitbake @@ -118,7 +118,10 @@ Default BBFILES are the .bb files in the current directory.""") action = "store", dest = "cmd") parser.add_option("-r", "--read", help = "read the specified file before bitbake.conf", - action = "append", dest = "file", default = []) + action = "append", dest = "prefile", default = []) + + parser.add_option("-R", "--postread", help = "read the specified file after bitbake.conf", + action = "append", dest = "postfile", default = []) parser.add_option("-v", "--verbose", help = "output more chit-chat to the terminal", action = "store_true", dest = "verbose", default = False) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 639a1caad..3f6edc436 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -126,7 +126,8 @@ class BBCooker: bb.data.inheritFromOS(self.configuration.data) try: - self.parseConfigurationFiles(self.configuration.file) + self.parseConfigurationFiles(self.configuration.prefile, + self.configuration.postfile) except SyntaxError: sys.exit(1) except Exception: @@ -650,10 +651,12 @@ class BBCooker: def _findLayerConf(self): return self._findConfigFile("bblayers.conf") - def parseConfigurationFiles(self, files): + def parseConfigurationFiles(self, prefiles, postfiles): data = self.configuration.data bb.parse.init_parser(data) - for f in files: + + # Parse files for loading *before* bitbake.conf and any includes + for f in prefiles: data = _parse(f, data) layerconf = self._findLayerConf() @@ -677,6 +680,10 @@ class BBCooker: data = _parse(os.path.join("conf", "bitbake.conf"), data) + # Parse files for loading *after* bitbake.conf and any includes + for p in postfiles: + data = _parse(p, data) + # Handle any INHERITs and inherit the base class bbclasses = ["base"] + (data.getVar('INHERIT', True) or "").split() for bbclass in bbclasses: |