]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
lib/oe: Use new visitorcode functionality for qa.handle_error()
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 28 Aug 2024 11:58:30 +0000 (12:58 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 29 Aug 2024 20:57:36 +0000 (21:57 +0100)
commita911ea9659503e9442a183f366e4545a5efe246e
treed275d1512dd3303203f24606b778cc966d21c28e
parentbcfaa9542fac82e90fbb8bdf67e3ade2697fbca4
lib/oe: Use new visitorcode functionality for qa.handle_error()

Early functions like do_recipe_qa (which do_fetch depends upon) reference
oe.qa.handle_error() which in turn adds dependencies on ERROR_QA and
WARN_QA. This means that ERROR_QA:append = " nothing" will cause
literally everything to rebuild and break sstate reuse.

Take advantage of new bitbake functionality to add a custom visitorcode
function to handle_error which optimises the references into contains
expressions which means the ERROR_QA and WARN_QA references are optmised
to containing specific strings. This dramatically improves sstate reuse.

The qa module has to be imported first since other code in later modules
references it and bitbake can't handle the dependency ordering internally
without a lot of unwanted complexity.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/__init__.py
meta/lib/oe/qa.py