@@ -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],
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 <JPEWhacker@gmail.com> --- meta/lib/oe/spdx30_tasks.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)