diff options
| author | Marta Rybczynska <rybczynska@gmail.com> | 2022-06-03 10:58:27 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-06-11 10:06:09 +0100 |
| commit | 6cf824520a23f7d0f78b37a6cffb033f31c87a36 (patch) | |
| tree | 3f61e21666ed76a258bf82c12450d596d414cb6a | |
| parent | 42bb9689a0a173fd0c526330b297957961cd1d5d (diff) | |
| download | poky-6cf824520a23f7d0f78b37a6cffb033f31c87a36.tar.gz | |
cve-check: move update_symlinks to a library
Move the function to a library, it could be useful in other places.
(From OE-Core rev: c8a0e7ecee15985f7eed10ce9c86c48a77c5b7c5)
Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit debd37abcdde8788761ebdb4a05bc61f7394cbb8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/classes/cve-check.bbclass | 11 | ||||
| -rw-r--r-- | meta/lib/oe/cve_check.py | 10 |
2 files changed, 13 insertions, 8 deletions
diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 0111ec6ba8..2ab1720dc3 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass | |||
| @@ -76,16 +76,10 @@ CVE_CHECK_LAYER_INCLUDELIST ??= "" | |||
| 76 | # set to "alphabetical" for version using single alphabetical character as increment release | 76 | # set to "alphabetical" for version using single alphabetical character as increment release |
| 77 | CVE_VERSION_SUFFIX ??= "" | 77 | CVE_VERSION_SUFFIX ??= "" |
| 78 | 78 | ||
| 79 | def update_symlinks(target_path, link_path): | ||
| 80 | if link_path != target_path and os.path.exists(target_path): | ||
| 81 | if os.path.exists(os.path.realpath(link_path)): | ||
| 82 | os.remove(link_path) | ||
| 83 | os.symlink(os.path.basename(target_path), link_path) | ||
| 84 | |||
| 85 | def generate_json_report(d, out_path, link_path): | 79 | def generate_json_report(d, out_path, link_path): |
| 86 | if os.path.exists(d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")): | 80 | if os.path.exists(d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")): |
| 87 | import json | 81 | import json |
| 88 | from oe.cve_check import cve_check_merge_jsons | 82 | from oe.cve_check import cve_check_merge_jsons, update_symlinks |
| 89 | 83 | ||
| 90 | bb.note("Generating JSON CVE summary") | 84 | bb.note("Generating JSON CVE summary") |
| 91 | index_file = d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH") | 85 | index_file = d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH") |
| @@ -106,6 +100,7 @@ def generate_json_report(d, out_path, link_path): | |||
| 106 | python cve_save_summary_handler () { | 100 | python cve_save_summary_handler () { |
| 107 | import shutil | 101 | import shutil |
| 108 | import datetime | 102 | import datetime |
| 103 | from oe.cve_check import update_symlinks | ||
| 109 | 104 | ||
| 110 | cve_tmp_file = d.getVar("CVE_CHECK_TMP_FILE") | 105 | cve_tmp_file = d.getVar("CVE_CHECK_TMP_FILE") |
| 111 | 106 | ||
| @@ -174,7 +169,7 @@ python cve_check_write_rootfs_manifest () { | |||
| 174 | import shutil | 169 | import shutil |
| 175 | import json | 170 | import json |
| 176 | from oe.rootfs import image_list_installed_packages | 171 | from oe.rootfs import image_list_installed_packages |
| 177 | from oe.cve_check import cve_check_merge_jsons | 172 | from oe.cve_check import cve_check_merge_jsons, update_symlinks |
| 178 | 173 | ||
| 179 | if d.getVar("CVE_CHECK_COPY_FILES") == "1": | 174 | if d.getVar("CVE_CHECK_COPY_FILES") == "1": |
| 180 | deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE") | 175 | deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE") |
diff --git a/meta/lib/oe/cve_check.py b/meta/lib/oe/cve_check.py index 1d3c775bbe..b17390de90 100644 --- a/meta/lib/oe/cve_check.py +++ b/meta/lib/oe/cve_check.py | |||
| @@ -79,3 +79,13 @@ def cve_check_merge_jsons(output, data): | |||
| 79 | return | 79 | return |
| 80 | 80 | ||
| 81 | output["package"].append(data["package"][0]) | 81 | output["package"].append(data["package"][0]) |
| 82 | |||
| 83 | def update_symlinks(target_path, link_path): | ||
| 84 | """ | ||
| 85 | Update a symbolic link link_path to point to target_path. | ||
| 86 | Remove the link and recreate it if exist and is different. | ||
| 87 | """ | ||
| 88 | if link_path != target_path and os.path.exists(target_path): | ||
| 89 | if os.path.exists(os.path.realpath(link_path)): | ||
| 90 | os.remove(link_path) | ||
| 91 | os.symlink(os.path.basename(target_path), link_path) | ||
