1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 13:29:49 +00:00

bitbake/ast.py: Only run finalise() for the specified variant

Allows the heavy finalise function to only be run for the case we're
interested in when running tasks, saving some processing time.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2011-04-10 10:50:16 -07:00
parent 8b32d40896
commit 9211fd9c37
2 changed files with 7 additions and 2 deletions
+1
View File
@@ -294,6 +294,7 @@ class Cache(object):
logger.debug(1, "Parsing %s (full)", fn) logger.debug(1, "Parsing %s (full)", fn)
cfgData.setVar("__ONLYFINALISE", virtual or "default")
bb_data = cls.load_bbfile(fn, appends, cfgData) bb_data = cls.load_bbfile(fn, appends, cfgData)
return bb_data[virtual] return bb_data[virtual]
+6 -2
View File
@@ -369,10 +369,13 @@ def multi_finalize(fn, d):
logger.debug(2, "Appending .bbappend file %s to %s", append, fn) logger.debug(2, "Appending .bbappend file %s to %s", append, fn)
bb.parse.BBHandler.handle(append, d, True) bb.parse.BBHandler.handle(append, d, True)
onlyfinalise = d.getVar("__ONLYFINALISE", False)
safe_d = d safe_d = d
d = bb.data.createCopy(safe_d) d = bb.data.createCopy(safe_d)
try: try:
finalize(fn, d) if not onlyfinalise or "default" in onlyfinalise:
finalize(fn, d)
except bb.parse.SkipPackage: except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, d) bb.data.setVar("__SKIPPED", True, d)
datastores = {"": safe_d} datastores = {"": safe_d}
@@ -434,7 +437,8 @@ def multi_finalize(fn, d):
for variant, variant_d in datastores.iteritems(): for variant, variant_d in datastores.iteritems():
if variant: if variant:
try: try:
finalize(fn, variant_d, variant) if not onlyfinalise or variant in onlyfinalise:
finalize(fn, variant_d, variant)
except bb.parse.SkipPackage: except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, variant_d) bb.data.setVar("__SKIPPED", True, variant_d)