* [PATCH 0/2] Config re-parse improvements
@ 2016-09-15 11:20 Markus Lehtonen
2016-09-15 11:20 ` [PATCH 1/2] cookerdata: fire ConfigParsed event after re-parse Markus Lehtonen
2016-09-15 11:20 ` [PATCH 2/2] cookerdata: allow multiple passes of config re-parsing Markus Lehtonen
0 siblings, 2 replies; 3+ messages in thread
From: Markus Lehtonen @ 2016-09-15 11:20 UTC (permalink / raw)
To: bitbake-devel
These two patches improve config (re-)parsing by allowing multiple passes of
re-parse.
The following changes since commit 57912de63fa83550c0ae658eb99b76e9cc91a8d1:
cooker: record events on cooker exit (2016-09-06 10:36:34 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib marquiz/bitbake/fixes-10188
http://git.openembedded.org/openembedded-core-contrib/log/?h=marquiz/bitbake/fixes-10188
Markus Lehtonen (2):
cookerdata: fire ConfigParsed event after re-parse
cookerdata: allow multiple passes of config re-parsing
lib/bb/cookerdata.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
--
2.6.6
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] cookerdata: fire ConfigParsed event after re-parse
2016-09-15 11:20 [PATCH 0/2] Config re-parse improvements Markus Lehtonen
@ 2016-09-15 11:20 ` Markus Lehtonen
2016-09-15 11:20 ` [PATCH 2/2] cookerdata: allow multiple passes of config re-parsing Markus Lehtonen
1 sibling, 0 replies; 3+ messages in thread
From: Markus Lehtonen @ 2016-09-15 11:20 UTC (permalink / raw)
To: bitbake-devel
[YOCTO #10188]
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
---
lib/bb/cookerdata.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index bf9bfbf..07425ce 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -273,6 +273,7 @@ class CookerDataBuilder(object):
if self.data.getVar("BB_INVALIDCONF", False) is True:
self.data.setVar("BB_INVALIDCONF", False)
self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
+ bb.event.fire(bb.event.ConfigParsed(), self.data)
bb.parse.init_parser(self.data)
self.data_hash = self.data.get_hash()
--
2.6.6
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] cookerdata: allow multiple passes of config re-parsing
2016-09-15 11:20 [PATCH 0/2] Config re-parse improvements Markus Lehtonen
2016-09-15 11:20 ` [PATCH 1/2] cookerdata: fire ConfigParsed event after re-parse Markus Lehtonen
@ 2016-09-15 11:20 ` Markus Lehtonen
1 sibling, 0 replies; 3+ messages in thread
From: Markus Lehtonen @ 2016-09-15 11:20 UTC (permalink / raw)
To: bitbake-devel
[YOCTO #10188]
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
---
lib/bb/cookerdata.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index 07425ce..9e88f95 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -270,9 +270,16 @@ class CookerDataBuilder(object):
bb.event.fire(bb.event.ConfigParsed(), self.data)
- if self.data.getVar("BB_INVALIDCONF", False) is True:
+ reparse_cnt = 0
+ while self.data.getVar("BB_INVALIDCONF", False) is True:
+ if reparse_cnt > 20:
+ logger.error("Configuration has been re-parsed over 20 times, "
+ "breaking out of the loop...")
+ raise Exception("Too deep config re-parse loop. Check locations where "
+ "BB_INVALIDCONF is being set (ConfigParsed event handlers)")
self.data.setVar("BB_INVALIDCONF", False)
self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
+ reparse_cnt += 1
bb.event.fire(bb.event.ConfigParsed(), self.data)
bb.parse.init_parser(self.data)
--
2.6.6
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-09-15 11:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-15 11:20 [PATCH 0/2] Config re-parse improvements Markus Lehtonen
2016-09-15 11:20 ` [PATCH 1/2] cookerdata: fire ConfigParsed event after re-parse Markus Lehtonen
2016-09-15 11:20 ` [PATCH 2/2] cookerdata: allow multiple passes of config re-parsing Markus Lehtonen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.