summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbitbake/bin/bitbake5
-rw-r--r--bitbake/lib/bb/cooker.py13
2 files changed, 14 insertions, 4 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index 29e9acd97a..2564e97123 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -118,7 +118,10 @@ Default BBFILES are the .bb files in the current directory.""")
118 action = "store", dest = "cmd") 118 action = "store", dest = "cmd")
119 119
120 parser.add_option("-r", "--read", help = "read the specified file before bitbake.conf", 120 parser.add_option("-r", "--read", help = "read the specified file before bitbake.conf",
121 action = "append", dest = "file", default = []) 121 action = "append", dest = "prefile", default = [])
122
123 parser.add_option("-R", "--postread", help = "read the specified file after bitbake.conf",
124 action = "append", dest = "postfile", default = [])
122 125
123 parser.add_option("-v", "--verbose", help = "output more chit-chat to the terminal", 126 parser.add_option("-v", "--verbose", help = "output more chit-chat to the terminal",
124 action = "store_true", dest = "verbose", default = False) 127 action = "store_true", dest = "verbose", default = False)
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index aceb084b75..6d59660794 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -129,7 +129,8 @@ class BBCooker:
129 bb.data.inheritFromOS(self.configuration.data) 129 bb.data.inheritFromOS(self.configuration.data)
130 130
131 try: 131 try:
132 self.parseConfigurationFiles(self.configuration.file) 132 self.parseConfigurationFiles(self.configuration.prefile,
133 self.configuration.postfile)
133 except SyntaxError: 134 except SyntaxError:
134 sys.exit(1) 135 sys.exit(1)
135 except Exception: 136 except Exception:
@@ -653,10 +654,12 @@ class BBCooker:
653 def _findLayerConf(self): 654 def _findLayerConf(self):
654 return self._findConfigFile("bblayers.conf") 655 return self._findConfigFile("bblayers.conf")
655 656
656 def parseConfigurationFiles(self, files): 657 def parseConfigurationFiles(self, prefiles, postfiles):
657 data = self.configuration.data 658 data = self.configuration.data
658 bb.parse.init_parser(data) 659 bb.parse.init_parser(data)
659 for f in files: 660
661 # Parse files for loading *before* bitbake.conf and any includes
662 for f in prefiles:
660 data = _parse(f, data) 663 data = _parse(f, data)
661 664
662 layerconf = self._findLayerConf() 665 layerconf = self._findLayerConf()
@@ -680,6 +683,10 @@ class BBCooker:
680 683
681 data = _parse(os.path.join("conf", "bitbake.conf"), data) 684 data = _parse(os.path.join("conf", "bitbake.conf"), data)
682 685
686 # Parse files for loading *after* bitbake.conf and any includes
687 for p in postfiles:
688 data = _parse(p, data)
689
683 # Handle any INHERITs and inherit the base class 690 # Handle any INHERITs and inherit the base class
684 bbclasses = ["base"] + (data.getVar('INHERIT', True) or "").split() 691 bbclasses = ["base"] + (data.getVar('INHERIT', True) or "").split()
685 for bbclass in bbclasses: 692 for bbclass in bbclasses: