From d029e4e033d7bb57e0d02eca6c112e7722c6d262 Mon Sep 17 00:00:00 2001 From: hongxu Date: Tue, 18 Mar 2025 19:32:54 +0800 Subject: spdx30: test the existence of directory before walking Due to commit [spdx30: Improve os.walk() handling][1] applied, it reported an error if walk directory failed While SPDX_INCLUDE_SOURCES = "1", if recipe does not provide sysroots, the walk in function add_package_files is broken $ echo 'SPDX_INCLUDE_SOURCES = "1"' >> conf/local.conf $ bitbake packagegroup-core-boot |DEBUG: Adding sysroot files to SPDX |ERROR: packagegroup-core-boot-1.0-r0 do_create_spdx: ERROR walking tmp/sysroots-components/intel_x86_64/packagegroup-core-boot: [Errno 2] | No such file or directory: 'tmp/sysroots-components/intel_x86_64/packagegroup-core-boot' Test the existence of directory before walking [1] https://git.openembedded.org/openembedded-core/commit/?id=86b581e80637cd8136ce7a7e95db94d9553d2f60 (From OE-Core rev: cb1792e4950d5075be9bbe4c5337a5215db9669e) Signed-off-by: Hongxu Jia Signed-off-by: Richard Purdie --- meta/lib/oe/spdx30_tasks.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'meta/lib/oe') diff --git a/meta/lib/oe/spdx30_tasks.py b/meta/lib/oe/spdx30_tasks.py index 3d80f05612..0618f2f139 100644 --- a/meta/lib/oe/spdx30_tasks.py +++ b/meta/lib/oe/spdx30_tasks.py @@ -152,6 +152,10 @@ def add_package_files( spdx_files = set() file_counter = 1 + if not os.path.exists(topdir): + bb.note(f"Skip {topdir}") + return spdx_files + for subdir, dirs, files in os.walk(topdir, onerror=walk_error): dirs[:] = [d for d in dirs if d not in ignore_dirs] if subdir == str(topdir): -- cgit v1.2.3-54-g00ecf