summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-11-11 14:23:54 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-11-14 16:22:00 +0000
commitd8e9ee8fd53b7620e72b2dfebb2e8d464b737dbb (patch)
treed815af2cb816524186a52c3f031dca5374e733d0 /bitbake
parentde98b12ee17717bf4c18a02833e7a5260c7cb75d (diff)
downloadpoky-d8e9ee8fd53b7620e72b2dfebb2e8d464b737dbb.tar.gz
bitbake: data/data_smart/build: Clean up datastore finalize/update_data references
We dropped the update_data calls a while ago. Clean up the code to match the reality and drop the remaining no-op pieces. Update the comments to reflect the slowest operations and let the cookie monster's spirit live on! (Bitbake rev: 584989ed2b5af4e8799571dece0cf94f995ef14e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/build.py1
-rw-r--r--bitbake/lib/bb/data.py12
-rw-r--r--bitbake/lib/bb/data_smart.py9
3 files changed, 6 insertions, 16 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index b8c1099ef5..db706d0a3a 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -572,7 +572,6 @@ def _task_data(fn, task, d):
572 localdata.setVar('BB_FILENAME', fn) 572 localdata.setVar('BB_FILENAME', fn)
573 localdata.setVar('OVERRIDES', 'task-%s:%s' % 573 localdata.setVar('OVERRIDES', 'task-%s:%s' %
574 (task[3:].replace('_', '-'), d.getVar('OVERRIDES', False))) 574 (task[3:].replace('_', '-'), d.getVar('OVERRIDES', False)))
575 localdata.finalize()
576 bb.data.expandKeys(localdata) 575 bb.data.expandKeys(localdata)
577 return localdata 576 return localdata
578 577
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index 4be26367d2..3a6af325f4 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -4,14 +4,16 @@ BitBake 'Data' implementations
4Functions for interacting with the data structure used by the 4Functions for interacting with the data structure used by the
5BitBake build tools. 5BitBake build tools.
6 6
7The expandKeys and update_data are the most expensive 7expandKeys and datastore iteration are the most expensive
8operations. At night the cookie monster came by and 8operations. Updating overrides is now "on the fly" but still based
9on the idea of the cookie monster introduced by zecke:
10"At night the cookie monster came by and
9suggested 'give me cookies on setting the variables and 11suggested 'give me cookies on setting the variables and
10things will work out'. Taking this suggestion into account 12things will work out'. Taking this suggestion into account
11applying the skills from the not yet passed 'Entwurf und 13applying the skills from the not yet passed 'Entwurf und
12Analyse von Algorithmen' lecture and the cookie 14Analyse von Algorithmen' lecture and the cookie
13monster seems to be right. We will track setVar more carefully 15monster seems to be right. We will track setVar more carefully
14to have faster update_data and expandKeys operations. 16to have faster datastore operations."
15 17
16This is a trade-off between speed and memory again but 18This is a trade-off between speed and memory again but
17the speed is more critical here. 19the speed is more critical here.
@@ -264,10 +266,6 @@ def emit_func_python(func, o=sys.__stdout__, d = init()):
264 newdeps |= set((d.getVarFlag(dep, "vardeps") or "").split()) 266 newdeps |= set((d.getVarFlag(dep, "vardeps") or "").split())
265 newdeps -= seen 267 newdeps -= seen
266 268
267def update_data(d):
268 """Performs final steps upon the datastore, including application of overrides"""
269 d.finalize(parent = True)
270
271def build_dependencies(key, keys, shelldeps, varflagsexcl, ignored_vars, d): 269def build_dependencies(key, keys, shelldeps, varflagsexcl, ignored_vars, d):
272 deps = set() 270 deps = set()
273 try: 271 try:
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 62d0c01c41..5415f2fccf 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -481,13 +481,6 @@ class DataSmart(MutableMapping):
481 def expand(self, s, varname = None): 481 def expand(self, s, varname = None):
482 return self.expandWithRefs(s, varname).value 482 return self.expandWithRefs(s, varname).value
483 483
484 def finalize(self, parent = False):
485 return
486
487 def internal_finalize(self, parent = False):
488 """Performs final steps upon the datastore, including application of overrides"""
489 self.overrides = None
490
491 def need_overrides(self): 484 def need_overrides(self):
492 if self.overrides is not None: 485 if self.overrides is not None:
493 return 486 return
@@ -638,7 +631,7 @@ class DataSmart(MutableMapping):
638 nextnew.update(vardata.references) 631 nextnew.update(vardata.references)
639 nextnew.update(vardata.contains.keys()) 632 nextnew.update(vardata.contains.keys())
640 new = nextnew 633 new = nextnew
641 self.internal_finalize(True) 634 self.overrides = None
642 635
643 def _setvar_update_overrides(self, var, **loginfo): 636 def _setvar_update_overrides(self, var, **loginfo):
644 # aka pay the cookie monster 637 # aka pay the cookie monster