diff --git a/meta/lib/oe/spdx30_tasks.py b/meta/lib/oe/spdx30_tasks.py index 4864d6252a..4da52da654 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],