diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index f70a04f460..9d051fa30f 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -977,10 +977,16 @@ class BBCooker: bb.fetch.fetcher_init(data) bb.codeparser.parser_cache_init(data) bb.event.fire(bb.event.ConfigParsed(), data) - bb.parse.init_parser(data) - data.setVar('BBINCLUDED',bb.parse.get_file_depends(data)) - self.configuration.data = data - self.configuration.data_hash = data.get_hash() + + if data.getVar("BB_INVALIDCONF") is True: + data.setVar("BB_INVALIDCONF", False) + self.parseConfigurationFiles(self.configuration.prefile, + self.configuration.postfile) + else: + bb.parse.init_parser(data) + data.setVar('BBINCLUDED',bb.parse.get_file_depends(data)) + self.configuration.data = data + self.configuration.data_hash = data.get_hash() def handleCollections( self, collections ): """Handle collections""" diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index d953f3497c..15d28d927a 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py @@ -202,6 +202,10 @@ class HobHandler(gobject.GObject): self.run_next_command() elif isinstance(event, bb.event.SanityCheckPassed): + reparse = self.runCommand(["getVariable", "BB_INVALIDCONF"]) or None + if reparse is True: + self.runCommand(["setVariable", "BB_INVALIDCONF", False]) + self.runCommand(["parseConfigurationFiles", "", ""]) self.run_next_command() elif isinstance(event, bb.event.SanityCheckFailed):