Currently the test depends on which DISTRO_FEATURES and targets are selected.
Similar to SOURCE_MIRROR_FETCH, add PARSE_ALL_RECIPES to allow the test to see
a much wider range of them. This avoids issues added by the new ucontext musl
specific recipe and allows the current whitelist to be cleared out a bit (more
cleanup can follow).

Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org>
---
 meta/classes/base.bbclass                  | 4 ++--
 meta/classes/features_check.bbclass        | 3 +++
 meta/lib/oeqa/selftest/cases/distrodata.py | 7 +++----
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index c243700bcdd..45f9435fd8e 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -510,7 +510,7 @@ python () {
         d.appendVarFlag('do_devshell', 'depends', ' 
virtual/fakeroot-native:do_populate_sysroot')
 
     need_machine = d.getVar('COMPATIBLE_MACHINE')
-    if need_machine:
+    if need_machine and not d.getVar('PARSE_ALL_RECIPES', False):
         import re
         compat_machines = (d.getVar('MACHINEOVERRIDES') or "").split(":")
         for m in compat_machines:
@@ -519,7 +519,7 @@ python () {
         else:
             raise bb.parse.SkipRecipe("incompatible with machine %s (not in 
COMPATIBLE_MACHINE)" % d.getVar('MACHINE'))
 
-    source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False)
+    source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False) or 
d.getVar('PARSE_ALL_RECIPES', False)
     if not source_mirror_fetch:
         need_host = d.getVar('COMPATIBLE_HOST')
         if need_host:
diff --git a/meta/classes/features_check.bbclass 
b/meta/classes/features_check.bbclass
index 391fbe1c946..876d32e3155 100644
--- a/meta/classes/features_check.bbclass
+++ b/meta/classes/features_check.bbclass
@@ -23,6 +23,9 @@
 # Copyright 2013 (C) O.S. Systems Software LTDA.
 
 python () {
+    if d.getVar('PARSE_ALL_RECIPES', False):
+        return
+
     # Assume at least one var is set.
     distro_features = set((d.getVar('DISTRO_FEATURES') or '').split())
 
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py 
b/meta/lib/oeqa/selftest/cases/distrodata.py
index 5f7f488349a..e1cfc3b6214 100644
--- a/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -56,15 +56,14 @@ but their recipes claim otherwise by setting 
UPSTREAM_VERSION_UNKNOWN. Please re
             return False
 
         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"]
+            exceptions = ["musl", "newlib", "linux-yocto", "linux-dummy", 
"mesa-gl", "libgfortran",
+                          "cve-update-db-native"]
             for i in exceptions:
                  if i in entry:
                      return True
             return False
 
-        feature = 'require 
conf/distro/include/maintainers.inc\nLICENSE_FLAGS_WHITELIST += " commercial"\n'
+        feature = 'require 
conf/distro/include/maintainers.inc\nLICENSE_FLAGS_WHITELIST += " 
commercial"\nPARSE_ALL_RECIPES = "1"\n'
         self.write_config(feature)
 
         with bb.tinfoil.Tinfoil() as tinfoil:
-- 
2.20.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#48160): https://lists.yoctoproject.org/g/yocto/message/48160
Mute This Topic: https://lists.yoctoproject.org/mt/70151526/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to