Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Alexander Kanavin <alex.kanavin@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 07/24] selftest: check maintainers.inc for entries without recipes
Date: Mon, 20 Jan 2020 18:24:53 +0100	[thread overview]
Message-ID: <20200120172510.22648-7-alex.kanavin@gmail.com> (raw)
In-Reply-To: <20200120172510.22648-1-alex.kanavin@gmail.com>

Also remove a couple of entries found by the test :)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/conf/distro/include/maintainers.inc   |  6 ----
 meta/lib/oeqa/selftest/cases/distrodata.py | 34 ++++++++++++++++++++--
 2 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index ffb6da7dae9..01afc25b939 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -183,7 +183,6 @@ RECIPE_MAINTAINER_pn-flex = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-font-alias = "Armin Kuster <akuster808@gmail.com>"
 RECIPE_MAINTAINER_pn-font-util = "Armin Kuster <akuster808@gmail.com>"
 RECIPE_MAINTAINER_pn-fontconfig = "Ross Burton <ross.burton@intel.com>"
-RECIPE_MAINTAINER_pn-foomatic-filters = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-formfactor = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-freetype = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-fribidi = "Ross Burton <ross.burton@intel.com>"
@@ -551,7 +550,6 @@ RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-perl-native = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster <akuster808@gmail.com>"
@@ -574,9 +572,6 @@ RECIPE_MAINTAINER_pn-ptest-runner = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-pulseaudio = "Tanu Kaskinen <tanuk@iki.fi>"
 RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Tanu Kaskinen <tanuk@iki.fi>"
 RECIPE_MAINTAINER_pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-python = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python-native = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-python3 = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-python3-async = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-python3-dbus = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
@@ -586,7 +581,6 @@ RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kr
 RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-native = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-python3-pbr = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py
index 68ba556485e..5f7f488349a 100644
--- a/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -42,8 +42,9 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
 
     def test_maintainers(self):
         """
-        Summary:     Test that oe-core recipes have a maintainer
+        Summary:     Test that oe-core recipes have a maintainer and entries in maintainers list have a recipe
         Expected:    All oe-core recipes (except a few special static/testing ones) should have a maintainer listed in maintainers.inc file.
+        Expected:    All entries in maintainers list should have a recipe file that matches them
         Product:     oe-core
         Author:      Alexander Kanavin <alex.kanavin@gmail.com>
         """
@@ -54,7 +55,16 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
                      return True
             return False
 
-        feature = 'require conf/distro/include/maintainers.inc\n'
+        def is_maintainer_exception(entry):
+            exceptions = ["systemd", "musl", "libpam", "newlib", "linux-yocto", "opensbi", "linux-dummy",
+                          "mesa-gl", "libgfortran", "volatile-binds", "libgloss", "bsd-headers",
+                          "cve-update-db-native", "libssp-nonshared", "argp-standalone", "fts"]
+            for i in exceptions:
+                 if i in entry:
+                     return True
+            return False
+
+        feature = 'require conf/distro/include/maintainers.inc\nLICENSE_FLAGS_WHITELIST += " commercial"\n'
         self.write_config(feature)
 
         with bb.tinfoil.Tinfoil() as tinfoil:
@@ -62,6 +72,11 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
 
             with_maintainer_list = []
             no_maintainer_list = []
+
+            missing_recipes = []
+            recipes = []
+            prefix = "RECIPE_MAINTAINER_pn-"
+
             # We could have used all_recipes() here, but this method will find
             # every recipe if we ever move to setting RECIPE_MAINTAINER in recipe files
             # instead of maintainers.inc
@@ -71,6 +86,7 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
                     continue
                 rd = tinfoil.parse_recipe_file(fn, appends=False)
                 pn = rd.getVar('PN')
+                recipes.append(pn)
                 if is_exception(pn):
                     continue
                 if rd.getVar('RECIPE_MAINTAINER'):
@@ -78,6 +94,15 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
                 else:
                     no_maintainer_list.append((pn, fn))
 
+            maintainers = tinfoil.config_data.keys()
+            for key in maintainers:
+                 if key.startswith(prefix):
+                     recipe = tinfoil.config_data.expand(key[len(prefix):])
+                     if is_maintainer_exception(recipe):
+                         continue
+                     if recipe not in recipes:
+                         missing_recipes.append(recipe)
+
         if no_maintainer_list:
             self.fail("""
 The following recipes do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file.
@@ -87,3 +112,8 @@ The following recipes do not have a maintainer assigned to them. Please add an e
             self.fail("""
 The list of oe-core recipes with maintainers is empty. This may indicate that the test has regressed and needs fixing.
 """)
+
+        if missing_recipes:
+                self.fail("""
+Unable to find recipes for the following entries in maintainers.inc:
+""" + "\n".join(['%s' % i for i in missing_recipes]))
-- 
2.17.1



  parent reply	other threads:[~2020-01-20 17:25 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-20 17:24 [PATCH 01/24] python3: update to 3.8.1 Alexander Kanavin
2020-01-20 17:24 ` [PATCH 02/24] python3: do not compile .pyc in parallel during do_install() Alexander Kanavin
2020-01-20 17:24 ` [PATCH 03/24] python3: correctly process ptest output with sed Alexander Kanavin
2020-01-20 17:24 ` [PATCH 04/24] gstreamer1.0-python: add a patch to fix python 3.8 builds Alexander Kanavin
2020-01-20 17:24 ` [PATCH 05/24] nss: update to 3.49.1 Alexander Kanavin
2020-01-21 12:04   ` Andreas Müller
2020-01-21 12:47     ` Richard Purdie
2020-01-21 19:35       ` Khem Raj
2020-01-21 20:22         ` Richard Purdie
2020-01-21 22:02           ` Khem Raj
2020-01-22  8:13             ` Khem Raj
2020-01-20 17:24 ` [PATCH 06/24] libcap: update to 2.31 Alexander Kanavin
2020-01-20 17:24 ` Alexander Kanavin [this message]
2020-01-20 17:24 ` [PATCH 08/24] core-image-sato-sdk-ptest: do not pull in ptest-pkgs Alexander Kanavin
2020-01-20 17:24 ` [PATCH 09/24] ptests: exclude mdadm from ptesting Alexander Kanavin
2020-01-20 17:24 ` [PATCH 10/24] ptests: exclude lttng-tools Alexander Kanavin
2020-01-20 17:37   ` Jonathan Rajotte-Julien
2020-01-20 17:44     ` Alexander Kanavin
2020-01-24 12:47     ` Alexander Kanavin
2020-01-24 15:35       ` Jonathan Rajotte-Julien
2020-01-20 22:46   ` Richard Purdie
2020-01-20 17:24 ` [PATCH 11/24] openssh: applied upstream fix for "cert not yet valid" test Alexander Kanavin
2020-01-20 17:24 ` [PATCH 12/24] openssh: explicitly skip unit tests Alexander Kanavin
2020-01-20 17:24 ` [PATCH 13/24] parted: fix more ptests Alexander Kanavin
2020-01-20 17:25 ` [PATCH 14/24] qemu.inc: add vfat to MACHINE_FEATURES Alexander Kanavin
2020-01-20 17:25 ` [PATCH 15/24] rt-tests: exclude another development version (1.6) Alexander Kanavin
2020-01-20 17:25 ` [PATCH 16/24] btrfs-tools: upgrade 5.4 -> 5.4.1 Alexander Kanavin
2020-01-20 17:25 ` [PATCH 17/24] libpipeline: upgrade 1.5.1 -> 1.5.2 Alexander Kanavin
2020-01-20 17:25 ` [PATCH 18/24] msmtp: upgrade 1.8.6 -> 1.8.7 Alexander Kanavin
2020-01-20 17:25 ` [PATCH 19/24] ffmpeg: upgrade 4.2.1 -> 4.2.2 Alexander Kanavin
2020-01-20 17:25 ` [PATCH 20/24] epiphany: upgrade 3.34.2 -> 3.34.3.1 Alexander Kanavin
2020-01-20 17:25 ` [PATCH 21/24] libwebp: upgrade 1.0.3 -> 1.1.0 Alexander Kanavin
2020-01-20 17:25 ` [PATCH 22/24] createrepo-c: upgrade 0.15.4 -> 0.15.5 Alexander Kanavin
2020-01-20 17:25 ` [PATCH 23/24] libsecret: upgrade 0.19.1 -> 0.20.0 Alexander Kanavin
2020-01-20 17:25 ` [PATCH 24/24] meson: update 0.52.1 -> 0.53.0 Alexander Kanavin
2020-01-21  8:24   ` Richard Purdie
2020-01-21 18:44   ` Khem Raj
2020-01-23 15:48     ` Alexander Kanavin
2020-01-23 15:52       ` Khem Raj
2020-01-20 17:32 ` ✗ patchtest: failure for "python3: update to 3.8.1..." and 23 more Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200120172510.22648-7-alex.kanavin@gmail.com \
    --to=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox