]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
insane.bbclass: use contains in do_package_qa jansa/master-qa
authorMartin Jansa <martin.jansa@gmail.com>
Wed, 19 Jun 2024 13:59:45 +0000 (15:59 +0200)
committerMartin Jansa <martin.jansa@gmail.com>
Wed, 19 Jun 2024 16:53:30 +0000 (18:53 +0200)
I was wondering why WARN_QA isn't causing this issue only ERROR_QA is.

It's easy to see with ALL_QA which is defined by both WARN_QA and ERROR_QA:
Variable ALL_QA value is ${WARN_QA} ${ERROR_QA}

but the variable depends only on ERROR_QA:
List of dependencies for variable ALL_QA is ['ERROR_QA']

that's because bitbake.conf adds WARN_QA in BB_HASHEXCLUDE_COMMON but
not ERROR_QA.

And then ALL_QA pulls dependency on whole ERROR_QA because of this:
    if 'libdir' in d.getVar("ALL_QA").split():

Unfortunately this still isn't enough, with this applied I still see
in bitbake-diffsigs output:
List of dependencies for variable ERROR_QA is []
List of dependencies for variable oe.qa.handle_error is ['ERROR_QA', 'oe.qa.write_error']
Variable ERROR_QA value is dev-so debug-deps
Variable oe.qa.handle_error value is

Need to debug the parser a bit to find why it still tracks whole ERROR_QA.

[YOCTO #15515]

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
meta/classes-global/insane.bbclass

index 6888fa06f0089418be36a58f7f98ad1a61acaecb..88974673eff4c0d1bcefc1802ae00f8c7ee251cb 100644 (file)
@@ -1245,7 +1245,7 @@ python do_package_qa () {
     warn_checks, error_checks = parse_test_matrix("QARECIPETEST")
     package_qa_recipe(warn_checks, error_checks, pn, d)
 
-    if 'libdir' in d.getVar("ALL_QA").split():
+    if bb.utils.contains('ALL_QA', 'libdir', True, False, d):
         package_qa_check_libdir(d)
 
     oe.qa.exit_if_errors(d)