From b1fe4aab8b8b8a98ab8ba4788a34a90446d6222b Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 27 Jan 2020 11:42:32 +0000 Subject: 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). (From OE-Core rev: c139e058bb2df48c79784cf3fd701e51bbc68427) Signed-off-by: Richard Purdie --- 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(-) (limited to 'meta') 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: -- cgit v1.2.3-54-g00ecf