From 88f76bba705007a7fcda506c79f743060d8f2e52 Mon Sep 17 00:00:00 2001 From: Davide Gardenal Date: Thu, 14 Apr 2022 15:27:47 +0200 Subject: create-spdx: fix error when symlink cannot be created If IMAGE_NAME and IMAGE_LINK_NAME are the same an exception is raised in image_combine_spdx because it cannot create a symlink with the same exact path of the original file. In that case there is no point in creating a link in the first place. Refactor image_combine_spdx to avoid code duplication Signed-off-by: Davide Gardenal Signed-off-by: Luca Ceresoli Signed-off-by: Richard Purdie --- meta/classes/create-spdx.bbclass | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'meta/classes/create-spdx.bbclass') diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-spdx.bbclass index 137db81a5b..47a8764bf0 100644 --- a/meta/classes/create-spdx.bbclass +++ b/meta/classes/create-spdx.bbclass @@ -835,16 +835,14 @@ python image_combine_spdx() { combine_spdx(d, image_name, imgdeploydir, img_spdxid, packages) - if image_link_name: - image_spdx_path = imgdeploydir / (image_name + ".spdx.json") - image_spdx_link = imgdeploydir / (image_link_name + ".spdx.json") - image_spdx_link.symlink_to(os.path.relpath(image_spdx_path, image_spdx_link.parent)) - def make_image_link(target_path, suffix): if image_link_name: link = imgdeploydir / (image_link_name + suffix) - link.symlink_to(os.path.relpath(target_path, link.parent)) + if link != target_path: + link.symlink_to(os.path.relpath(target_path, link.parent)) + image_spdx_path = imgdeploydir / (image_name + ".spdx.json") + make_image_link(image_spdx_path, ".spdx.json") spdx_tar_path = imgdeploydir / (image_name + ".spdx.tar.zst") make_image_link(spdx_tar_path, ".spdx.tar.zst") spdx_index_path = imgdeploydir / (image_name + ".spdx.index.json") -- cgit 1.2.3-korg