From: Joshua Watt Date: Tue, 3 Sep 2024 15:42:01 +0000 (-0600) Subject: lib/spdx30_tasks: Report all missing providers X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc96244f424c8b4fbace39dc4af8a4e97f1a104e;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git lib/spdx30_tasks: Report all missing providers Instead of failing on the first missing provider, collect all of them and report them all as it is more convenient for end users trying to fix problems Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oe/spdx30_tasks.py b/meta/lib/oe/spdx30_tasks.py index 4864d6252a6..4da52da654d 100644 --- a/meta/lib/oe/spdx30_tasks.py +++ b/meta/lib/oe/spdx30_tasks.py @@ -953,10 +953,12 @@ def collect_build_package_inputs(d, objset, build, packages): providers = oe.spdx_common.collect_package_providers(d) build_deps = set() + missing_providers = set() for name in sorted(packages.keys()): if name not in providers: - bb.fatal("Unable to find SPDX provider for '%s'" % name) + missing_providers.add(name) + continue pkg_name, pkg_hashfn = providers[name] @@ -970,6 +972,11 @@ def collect_build_package_inputs(d, objset, build, packages): ) build_deps.add(pkg_spdx._id) + if missing_providers: + bb.fatal( + f"Unable to find SPDX provider(s) for: {', '.join(sorted(missing_providers))}" + ) + if build_deps: objset.new_scoped_relationship( [build],