From: Davide Gardenal Date: Tue, 3 May 2022 07:52:44 +0000 (+0200) Subject: cve-check: fix symlinks where link and output path are equal X-Git-Tag: 2020-04.17~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62965ca8ca7077c12d75dac37efe204d7159cddd;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git cve-check: fix symlinks where link and output path are equal An if statement now checks if the link and output path are the same, if they are then the link is not created, otherwise it is. Signed-off-by: Davide Gardenal Signed-off-by: Luca Ceresoli (cherry picked from commit 2f024c0236c4806f0e59e4ce51a42f6b80fdf1b3) Signed-off-by: Steve Sakoman --- diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 350ed8ec39e..ac9f0fb22c6 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -117,10 +117,11 @@ python cve_save_summary_handler () { if cve_summary_file and os.path.exists(cve_summary_file): cvefile_link = os.path.join(cvelogpath, cve_summary_name) - - if os.path.exists(os.path.realpath(cvefile_link)): - os.remove(cvefile_link) - os.symlink(os.path.basename(cve_summary_file), cvefile_link) + # if the paths are the same don't create the link + if cvefile_link != cve_summary_file: + if os.path.exists(os.path.realpath(cvefile_link)): + os.remove(cvefile_link) + os.symlink(os.path.basename(cve_summary_file), cvefile_link) json_summary_link_name = os.path.join(cvelogpath, d.getVar("CVE_CHECK_SUMMARY_FILE_NAME_JSON")) json_summary_name = os.path.join(cvelogpath, "%s-%s.json" % (cve_summary_name, timestamp)) @@ -193,10 +194,12 @@ python cve_check_write_rootfs_manifest () { if manifest_name and os.path.exists(manifest_name): manifest_link = os.path.join(deploy_dir, "%s.cve" % link_name) - # If we already have another manifest, update symlinks - if os.path.exists(os.path.realpath(manifest_link)): - os.remove(manifest_link) - os.symlink(os.path.basename(manifest_name), manifest_link) + # if they are the same don't create the link + if manifest_link != manifest_name: + # If we already have another manifest, update symlinks + if os.path.exists(os.path.realpath(manifest_link)): + os.remove(manifest_link) + os.symlink(os.path.basename(manifest_name), manifest_link) bb.plain("Image CVE report stored in: %s" % manifest_name) link_path = os.path.join(deploy_dir, "%s.json" % link_name)