summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/data_smart.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-11-24 16:11:10 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-11-27 23:48:15 +0000
commit0536965bd45670b7024c84f30a79cd652fe87a73 (patch)
treefda8403e3df4680cdfb39f445e90fa067f4129d2 /bitbake/lib/bb/data_smart.py
parenta5f1b44310aac727e9bef3a1014e32da7b104c7d (diff)
downloadpoky-0536965bd45670b7024c84f30a79cd652fe87a73.tar.gz
bitbake: data_smart: Add debugging for overrides stability issue
If someone is unfortunate enough to run into override recursion issues they're hard to debug with the existing message. We can at least show the values that OVERRIDES takes to show there is some problem and aid debugging. (Bitbake rev: 43035b75201616e7bfd680d3d15c5c0fc7c04eb6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/data_smart.py')
-rw-r--r--bitbake/lib/bb/data_smart.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 5415f2fccf..fd05451971 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -486,12 +486,14 @@ class DataSmart(MutableMapping):
486 return 486 return
487 if self.inoverride: 487 if self.inoverride:
488 return 488 return
489 overrride_stack = []
489 for count in range(5): 490 for count in range(5):
490 self.inoverride = True 491 self.inoverride = True
491 # Can end up here recursively so setup dummy values 492 # Can end up here recursively so setup dummy values
492 self.overrides = [] 493 self.overrides = []
493 self.overridesset = set() 494 self.overridesset = set()
494 self.overrides = (self.getVar("OVERRIDES") or "").split(":") or [] 495 self.overrides = (self.getVar("OVERRIDES") or "").split(":") or []
496 overrride_stack.append(self.overrides)
495 self.overridesset = set(self.overrides) 497 self.overridesset = set(self.overrides)
496 self.inoverride = False 498 self.inoverride = False
497 self.expand_cache = {} 499 self.expand_cache = {}
@@ -501,7 +503,7 @@ class DataSmart(MutableMapping):
501 self.overrides = newoverrides 503 self.overrides = newoverrides
502 self.overridesset = set(self.overrides) 504 self.overridesset = set(self.overrides)
503 else: 505 else:
504 bb.fatal("Overrides could not be expanded into a stable state after 5 iterations, overrides must be being referenced by other overridden variables in some recursive fashion. Please provide your configuration to bitbake-devel so we can laugh, er, I mean try and understand how to make it work.") 506 bb.fatal("Overrides could not be expanded into a stable state after 5 iterations, overrides must be being referenced by other overridden variables in some recursive fashion. Please provide your configuration to bitbake-devel so we can laugh, er, I mean try and understand how to make it work. The list of failing override expansions: %s" % "\n".join(str(s) for s in overrride_stack))
505 507
506 def initVar(self, var): 508 def initVar(self, var):
507 self.expand_cache = {} 509 self.expand_cache = {}