From f6bd6b72f82bdc0aed4c08d2bbe41f1cd4bb4335 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 27 Jul 2023 16:36:11 +0200 Subject: [PATCH] insane.bbclass: add a RECIPE_MAINTAINER check (oe-core recipes only) Absent maintainer entries are as well a frequent source of friction, as they are checked only in selftest, and so aren't revealed until autobuilder runs. The selftest is retained as it also checks for obsolete entries in maintainers.inc (not possible to do in insane class). (From OE-Core rev: 675dff0e37666c1cffa10a83f6f1f67d5fadd204) Signed-off-by: Alexander Kanavin Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- meta/classes-global/insane.bbclass | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass index 78506c30b1..960dfc8924 100644 --- a/meta/classes-global/insane.bbclass +++ b/meta/classes-global/insane.bbclass @@ -50,7 +50,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ # Add usrmerge QA check based on distro feature ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}" ERROR_QA:append:layer-core = " patch-status" -WARN_QA:append:layer-core = " missing-metadata" +WARN_QA:append:layer-core = " missing-metadata missing-maintainer" FAKEROOT_QA = "host-user-contaminated" FAKEROOT_QA[doc] = "QA tests which need to run under fakeroot. If any \ @@ -1485,7 +1485,16 @@ python do_recipe_qa() { else: oe.qa.handle_error("missing-metadata", "Recipe {} in {} does not contain a HOMEPAGE. Please add an entry.".format(pn, fn), d) + def test_missing_maintainer(d): + fn = d.getVar("FILE") + pn = d.getVar("PN") + if pn.endswith("-native") or pn.startswith("nativesdk-") or "packagegroup-" in pn or "core-image-ptest-" in pn: + return + if not d.getVar('RECIPE_MAINTAINER'): + oe.qa.handle_error("missing-maintainer", "Recipe {} in {} does not have an assigned maintainer. Please add an entry into meta/conf/distro/include/maintainers.inc.".format(pn, fn), d) + test_missing_metadata(d) + test_missing_maintainer(d) oe.qa.exit_if_errors(d) }