vex: fix rootfs manifest

Rootfs VEX file is created by gathering files from CVE_CHECK_DIR
(deploy directory), however recipes generate the files only in
CVE_CHECK_DIR (log directory).
This make the rootfs VEX be always empty without any message.

The code is copied from cve_check class, which writes to both, so let
keep them aligned and make also vex write both files.

Also add a warning for case that a cve file would be still missing.

(From OE-Core rev: ee6541d0940c65685aaafd7d41a59a9406392e7d)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Marko 2025-05-05 12:27:56 +02:00 committed by Richard Purdie
parent 1abcc7fe52
commit 3d7381f5b5

View File

@ -196,6 +196,8 @@ python vex_write_rootfs_manifest () {
with open(pkgfilepath) as j:
data = json.load(j)
cve_check_merge_jsons(json_data, data)
else:
bb.warn("Missing cve file for %s" % pkg)
d.setVar("PN", save_pn)
@ -290,9 +292,12 @@ def cve_write_data_json(d, cve_data, cve_status):
cvelogpath = d.getVar("CVE_CHECK_SUMMARY_DIR")
index_path = d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")
bb.utils.mkdirhier(cvelogpath)
bb.utils.mkdirhier(os.path.dirname(deploy_file))
fragment_file = os.path.basename(deploy_file)
fragment_path = os.path.join(cvelogpath, fragment_file)
with open(fragment_path, "w") as f:
f.write(write_string)
with open(deploy_file, "w") as f:
f.write(write_string)
with open(index_path, "a+") as f:
f.write("%s\n" % fragment_path)