Absent maintainer entries are as well a frequent source of friction, as they are checked
only in selftest, and so aren 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).
The insane check also looks up entries in a different way than selftest (from actual filenames),
and so additional lines in maintainer.inc are needed; I took the opportunity
to adjust and clean up exception lists in selftest to match.
Signed-off-by: Alexander Kanavin <alex@...>
---
meta/classes-global/insane.bbclass | 12 ++++++++++++
meta/conf/distro/include/maintainers.inc | 16 ++++++++++++++++
meta/lib/oeqa/selftest/cases/distrodata.py | 6 +++---
3 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
index 64ad76c48e9..dacbd431e53 100644
--- a/meta/classes-global/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -1499,7 +1499,19 @@ python do_qa_fetch() {
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")
+ if not '/meta/recipes-' in fn:
+ # We are only interested in OE-Core
+ return
+ # PN or BPN are not suitable as they are tweaked to match class variants, and it's not possible
+ # to map them back to the actual original item in recipe filename.
+ pn = os.path.splitext(os.path.basename(d.getVar('FILE')))[0].split('_')[0]
+ if not d.getVar('RECIPE_MAINTAINER:pn-{}'.format(pn)):
+ oe.qa.handle_error("missing-metadata", "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)
}
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 682ec2cfdfb..1af6ccdbb71 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -62,9 +62,12 @@ RECIPE_MAINTAINER:pn-bash-completion = "Alexander Kanavin <alex.kanavin@...
RECIPE_MAINTAINER:pn-bc = "Anuj Mittal <anuj.mittal@...>"
RECIPE_MAINTAINER:pn-bind = "Armin Kuster <akuster808@...>"
RECIPE_MAINTAINER:pn-binutils = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-binutils-cross = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-binutils-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-binutils-cross-canadian = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-binutils-cross-testsuite = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-binutils-crosssdk = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-binutils-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-bison = "Chen Qi <Qi.Chen@...>"
RECIPE_MAINTAINER:pn-blktool = "Yi Zhao <yi.zhao@...>"
@@ -188,12 +191,15 @@ RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r
RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-gcc-source = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-gcc-source-12.2.0 = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@...>"
RECIPE_MAINTAINER:pn-gcr3 = "Markus Volk <f_l_k@...>"
RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@...>"
RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-gdb-cross = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-gdb-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-gdb-cross-canadian = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-gdbm = "Alexander Kanavin <alex.kanavin@...>"
RECIPE_MAINTAINER:pn-gdk-pixbuf = "Ross Burton <ross.burton@...>"
@@ -221,8 +227,11 @@ RECIPE_MAINTAINER:pn-gnupg = "Hongxu Jia <hongxu.jia@...>"
RECIPE_MAINTAINER:pn-gnutls = "Unassigned <unassigned@...>"
RECIPE_MAINTAINER:pn-go = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-go-binary-native = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-go-cross = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-go-cross-${TUNE_PKGARCH} = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-go-cross-canadian = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-go-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@...>"
+RECIPE_MAINTAINER:pn-go-crosssdk = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-go-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-go-helloworld = "Khem Raj <raj.khem@...>"
RECIPE_MAINTAINER:pn-go-native = "Khem Raj <raj.khem@...>"
@@ -278,6 +287,9 @@ RECIPE_MAINTAINER:pn-initramfs-live-install = "Anuj Mittal <anuj.mittal@...
RECIPE_MAINTAINER:pn-initramfs-live-install-efi = "Anuj Mittal <anuj.mittal@...>"
RECIPE_MAINTAINER:pn-initramfs-live-install-efi-testfs = "Anuj Mittal <anuj.mittal@...>"
RECIPE_MAINTAINER:pn-initramfs-live-install-testfs = "Anuj Mittal <anuj.mittal@...>"
+RECIPE_MAINTAINER:pn-initramfs-module-install = "Anuj Mittal <anuj.mittal@...>"
+RECIPE_MAINTAINER:pn-initramfs-module-install-efi = "Anuj Mittal <anuj.mittal@...>"
+RECIPE_MAINTAINER:pn-initramfs-module-setup-live = "Anuj Mittal <anuj.mittal@...>"
RECIPE_MAINTAINER:pn-initscripts = "Anuj Mittal <anuj.mittal@...>"
RECIPE_MAINTAINER:pn-intltool = "Alexander Kanavin <alex.kanavin@...>"
RECIPE_MAINTAINER:pn-iproute2 = "Changhyeok Bae <changhyeok.bae@...>"
@@ -419,6 +431,7 @@ RECIPE_MAINTAINER:pn-libvorbis = "Zang Ruochen <zangruochen@...>"
RECIPE_MAINTAINER:pn-libwebp = "Alexander Kanavin <alex.kanavin@...>"
RECIPE_MAINTAINER:pn-libwpe = "Alexander Kanavin <alex.kanavin@...>"
RECIPE_MAINTAINER:pn-libx11 = "Unassigned <unassigned@...>"
+RECIPE_MAINTAINER:pn-libx11-compose-data = "Unassigned <unassigned@...>"
RECIPE_MAINTAINER:pn-libxau = "Unassigned <unassigned@...>"
RECIPE_MAINTAINER:pn-libxcb = "Unassigned <unassigned@...>"
RECIPE_MAINTAINER:pn-libxcvt = "Oleksandr Kravchuk <open.source@...>"
@@ -729,6 +742,7 @@ RECIPE_MAINTAINER:pn-rt-tests = "Alexander Kanavin <alex.kanavin@...>"
RECIPE_MAINTAINER:pn-ruby = "Ross Burton <ross.burton@...>"
RECIPE_MAINTAINER:pn-run-postinsts = "Ross Burton <ross.burton@...>"
RECIPE_MAINTAINER:pn-rust = "Randy MacLeod <Randy.MacLeod@...>"
+RECIPE_MAINTAINER:pn-rust-cross-canadian = "Randy MacLeod <Randy.MacLeod@...>"
RECIPE_MAINTAINER:pn-rust-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@...>"
RECIPE_MAINTAINER:pn-rust-hello-world = "Randy MacLeod <Randy.MacLeod@...>"
RECIPE_MAINTAINER:pn-rust-llvm = "Randy MacLeod <Randy.MacLeod@...>"
@@ -774,6 +788,7 @@ RECIPE_MAINTAINER:pn-systemd-bootchart = "Chen Qi <Qi.Chen@...>"
RECIPE_MAINTAINER:pn-systemd-bootconf = "Chen Qi <Qi.Chen@...>"
RECIPE_MAINTAINER:pn-systemd-conf = "Chen Qi <Qi.Chen@...>"
RECIPE_MAINTAINER:pn-systemd-compat-units = "Chen Qi <Qi.Chen@...>"
+RECIPE_MAINTAINER:pn-systemd-machine-units = "Chen Qi <Qi.Chen@...>"
RECIPE_MAINTAINER:pn-systemd-serialgetty = "Chen Qi <Qi.Chen@...>"
RECIPE_MAINTAINER:pn-systemd-systemctl-native = "Chen Qi <Qi.Chen@...>"
RECIPE_MAINTAINER:pn-systemtap = "Victor Kamensky <victor.kamensky7@...>"
@@ -783,6 +798,7 @@ RECIPE_MAINTAINER:pn-sysvinit = "Ross Burton <ross.burton@...>"
RECIPE_MAINTAINER:pn-sysvinit-inittab = "Ross Burton <ross.burton@...>"
RECIPE_MAINTAINER:pn-taglib = "Anuj Mittal <anuj.mittal@...>"
RECIPE_MAINTAINER:pn-tar = "Chen Qi <Qi.Chen@...>"
+RECIPE_MAINTAINER:pn-target-sdk-provides-dummy = "Richard Purdie <richard.purdie@...>"
RECIPE_MAINTAINER:pn-tcf-agent = "Anuj Mittal <anuj.mittal@...>"
RECIPE_MAINTAINER:pn-tcl = "Yi Zhao <yi.zhao@...>"
RECIPE_MAINTAINER:pn-tcp-wrappers = "Robert Yang <liezhi.yang@...>"
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py
index b443f2d3af6..464d76244d7 100644
--- a/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -48,15 +48,15 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
Author: Alexander Kanavin <alex.kanavin@...>
"""
def is_exception(pkg):
- exceptions = ["packagegroup-", "initramfs-", "systemd-machine-units", "target-sdk-provides-dummy"]
+ exceptions = ["packagegroup-",]
for i in exceptions:
if i in pkg:
return True
return False
def is_maintainer_exception(entry):
- exceptions = ["musl", "newlib", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran",
- "cve-update-db-native", "rust"]
+ exceptions = ["musl", "newlib", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data",
+ "cve-update-db-native", "gdb-cross", "binutils-cross", "go-cross", "gcc-source","rust-cross",]
for i in exceptions:
if i in entry:
return True
--
2.30.2