diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2016-09-15 14:20:50 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-16 15:24:03 +0100 |
commit | 088d386ddbdd7b4952ba22bba4fb7fd4c452d3d7 (patch) | |
tree | 2573289bc7e86d8452532981337fb17e95df6e04 /bitbake | |
parent | e3e239ba5448c9a5f809a6fda1319f90124c0dce (diff) | |
download | poky-088d386ddbdd7b4952ba22bba4fb7fd4c452d3d7.tar.gz |
bitbake: cookerdata: allow multiple passes of config re-parsing
[YOCTO #10188]
(Bitbake rev: 07a03a1290fd206df2b40ffc28381b5b3c10ba4a)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/cookerdata.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py index 07425ce00d..9e88f9571d 100644 --- a/bitbake/lib/bb/cookerdata.py +++ b/bitbake/lib/bb/cookerdata.py | |||
@@ -270,9 +270,16 @@ class CookerDataBuilder(object): | |||
270 | 270 | ||
271 | bb.event.fire(bb.event.ConfigParsed(), self.data) | 271 | bb.event.fire(bb.event.ConfigParsed(), self.data) |
272 | 272 | ||
273 | if self.data.getVar("BB_INVALIDCONF", False) is True: | 273 | reparse_cnt = 0 |
274 | while self.data.getVar("BB_INVALIDCONF", False) is True: | ||
275 | if reparse_cnt > 20: | ||
276 | logger.error("Configuration has been re-parsed over 20 times, " | ||
277 | "breaking out of the loop...") | ||
278 | raise Exception("Too deep config re-parse loop. Check locations where " | ||
279 | "BB_INVALIDCONF is being set (ConfigParsed event handlers)") | ||
274 | self.data.setVar("BB_INVALIDCONF", False) | 280 | self.data.setVar("BB_INVALIDCONF", False) |
275 | self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles) | 281 | self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles) |
282 | reparse_cnt += 1 | ||
276 | bb.event.fire(bb.event.ConfigParsed(), self.data) | 283 | bb.event.fire(bb.event.ConfigParsed(), self.data) |
277 | 284 | ||
278 | bb.parse.init_parser(self.data) | 285 | bb.parse.init_parser(self.data) |