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 <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2023-07-27 16:36:11 +02:00
committed by Richard Purdie
parent ba961128e2
commit f6bd6b72f8

View File

@@ -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)
}