diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-01-27 11:42:32 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-01-27 16:44:04 +0000 |
commit | c139e058bb2df48c79784cf3fd701e51bbc68427 (patch) | |
tree | d962fd04daab436bee0b47e7897b7b249975e010 | |
parent | b9d8eb6a1bafd5f7451e1098e2bf82a344c00747 (diff) | |
download | openembedded-core-c139e058bb2df48c79784cf3fd701e51bbc68427.tar.gz |
distrodata/maintainers: Add PARSE_ALL_RECIPES flag to fix test issues
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.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/base.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/features_check.bbclass | 3 | ||||
-rw-r--r-- | 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 5e5cf66322..7bfb1d1912 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -496,7 +496,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: @@ -505,7 +505,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 391fbe1c94..876d32e315 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 5f7f488349..e1cfc3b621 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: |