diff mbox series

[2/2] Revert "insane.bbclass: Move test for invalid PACKAGECONFIGs to do_recipe_qa"

Message ID 20260318215934.1949404-2-pkj@axis.com
State New
Headers show
Series [1/2] packagegroup.bbclass: Reinstate the configure task | expand

Commit Message

Peter Kjellerstedt March 18, 2026, 9:59 p.m. UTC
This reverts commit d3325c384a7df54c564cae093659cf7b692629f2.

Moving the QA test for invalid PACKAGECONFIGs to the recipe_qa task
turned out to be a bad idea as that task is expected to be architecture
independent. So move it back to the qa_configure function. The original
problem (that the configure task is not run for packagegroups) will have
to be solved in packagegroup.bbclass instead.

Signed-off-by: Peter Kjellerstedt <pkj@axis.com>
---
 meta/classes-global/insane.bbclass | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Comments

Richard Purdie March 18, 2026, 11:38 p.m. UTC | #1
Hi Peter,

On Wed, 2026-03-18 at 22:59 +0100, Peter Kjellerstedt via lists.openembedded.org wrote:
> This reverts commit d3325c384a7df54c564cae093659cf7b692629f2.
> 
> Moving the QA test for invalid PACKAGECONFIGs to the recipe_qa task
> turned out to be a bad idea as that task is expected to be architecture
> independent. So move it back to the qa_configure function. The original
> problem (that the configure task is not run for packagegroups) will have
> to be solved in packagegroup.bbclass instead.
> 
> Signed-off-by: Peter Kjellerstedt <pkj@axis.com>
> ---
>  meta/classes-global/insane.bbclass | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> index aeffee7983..7b13e932ff 100644
> --- a/meta/classes-global/insane.bbclass
> +++ b/meta/classes-global/insane.bbclass
> @@ -1423,6 +1423,16 @@ Rerun configure task after fixing this."""
>          except subprocess.CalledProcessError:
>              pass
>  
> +    # Check invalid PACKAGECONFIG
> +    pkgconfigs = (d.getVar("PACKAGECONFIG") or "").split()
> +    if pkgconfigs:
> +        pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
> +        invalid_pkgconfigs = set(pkgconfigs) - set(pkgconfigflags)
> +        if invalid_pkgconfigs:
> +            pn = d.getVar('PN')
> +            error_msg = "%s: invalid PACKAGECONFIG(s): %s" % (pn, " ".join(sorted(invalid_pkgconfigs)))
> +            oe.qa.handle_error("invalid-packageconfig", error_msg, d)
> +
>      oe.qa.exit_if_errors(d)
>  }
>  
> @@ -1484,21 +1494,11 @@ python do_recipe_qa() {
>              if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url) or "//codeload.github.com/" in url:
>                  oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
>  
> -    def test_packageconfig(pn, d):
> -        pkgconfigs = (d.getVar("PACKAGECONFIG") or "").split()
> -        if pkgconfigs:
> -            pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
> -            invalid_pkgconfigs = set(pkgconfigs) - set(pkgconfigflags)
> -            if invalid_pkgconfigs:
> -                error_msg = "%s: invalid PACKAGECONFIG(s): %s" % (pn, " ".join(sorted(invalid_pkgconfigs)))
> -                oe.qa.handle_error("invalid-packageconfig", error_msg, d)
> -
>      pn = d.getVar('PN')
>      test_naming(pn, d)
>      test_missing_metadata(pn, d)
>      test_missing_maintainer(pn, d)
>      test_srcuri(pn, d)
> -    test_packageconfig(pn, d)
>      oe.qa.exit_if_errors(d)
>  }

Thanks for sending this. Atfer a bit of thought, I have a slightly
different idea which might be worth a try, perhaps we can put the
PACKAGECONFIG code into a function in lib/oe/qa.py and then call it
from the configure postfunc but also as a postfunc in one of the
packagegroup tasks?

I'd prefer not to reinstate the configure task if we can help it as
those tasks have "special" meanings and it is safer to remove
everything consistently if we can.

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
index aeffee7983..7b13e932ff 100644
--- a/meta/classes-global/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -1423,6 +1423,16 @@  Rerun configure task after fixing this."""
         except subprocess.CalledProcessError:
             pass
 
+    # Check invalid PACKAGECONFIG
+    pkgconfigs = (d.getVar("PACKAGECONFIG") or "").split()
+    if pkgconfigs:
+        pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
+        invalid_pkgconfigs = set(pkgconfigs) - set(pkgconfigflags)
+        if invalid_pkgconfigs:
+            pn = d.getVar('PN')
+            error_msg = "%s: invalid PACKAGECONFIG(s): %s" % (pn, " ".join(sorted(invalid_pkgconfigs)))
+            oe.qa.handle_error("invalid-packageconfig", error_msg, d)
+
     oe.qa.exit_if_errors(d)
 }
 
@@ -1484,21 +1494,11 @@  python do_recipe_qa() {
             if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url) or "//codeload.github.com/" in url:
                 oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
 
-    def test_packageconfig(pn, d):
-        pkgconfigs = (d.getVar("PACKAGECONFIG") or "").split()
-        if pkgconfigs:
-            pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
-            invalid_pkgconfigs = set(pkgconfigs) - set(pkgconfigflags)
-            if invalid_pkgconfigs:
-                error_msg = "%s: invalid PACKAGECONFIG(s): %s" % (pn, " ".join(sorted(invalid_pkgconfigs)))
-                oe.qa.handle_error("invalid-packageconfig", error_msg, d)
-
     pn = d.getVar('PN')
     test_naming(pn, d)
     test_missing_metadata(pn, d)
     test_missing_maintainer(pn, d)
     test_srcuri(pn, d)
-    test_packageconfig(pn, d)
     oe.qa.exit_if_errors(d)
 }