aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2011-06-30 23:02:53 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-01 17:03:03 +0100
commita8246ae5400c23df0d3ee29c36f4d9f257d1e6d1 (patch)
tree83f61caacc509459e647b5f0a2cca76b7ca74695
parent26b0c538ad4f677e0d45a66484c2dca073459282 (diff)
downloadbitbake-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-xbin/bitbake5
-rw-r--r--lib/bb/cooker.py13
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: