summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorMarta Rybczynska <rybczynska@gmail.com>2025-02-13 06:57:53 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-02-18 11:56:04 +0000
commit52dc3286dfc15b3fba18a66325a9e50bebaaa0d2 (patch)
tree441b062694369844be7b306e7a39453aa90353ba /meta
parent0486af6e3cefeeb705ec7c7a0938623fc25d9fee (diff)
downloadpoky-52dc3286dfc15b3fba18a66325a9e50bebaaa0d2.tar.gz
cve-check: allow feed choice
Allow choice of one of three feeds and update task dependencies accordingly. All feeds contain data from NVD and are stored in different files. Set the NVD_DB_VERSION variable to choose feed: NVD2 (default) - the NVD feed with API version 2 NVD1 - the NVD JSON feed (deprecated) FKIE - the FKIE-CAD feed reconstruction In case of malformed database feed name, we default to NVD2 and show an error. (From OE-Core rev: f265812bfb6797aee10e7be42865736c9ff3478f) Signed-off-by: Marta Rybczynska <marta.rybczynska@ygreky.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/cve-check.bbclass14
1 files changed, 12 insertions, 2 deletions
diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass
index 6e10dd915a..90097cfde8 100644
--- a/meta/classes/cve-check.bbclass
+++ b/meta/classes/cve-check.bbclass
@@ -31,7 +31,12 @@
31CVE_PRODUCT ??= "${BPN}" 31CVE_PRODUCT ??= "${BPN}"
32CVE_VERSION ??= "${PV}" 32CVE_VERSION ??= "${PV}"
33 33
34CVE_CHECK_DB_FILENAME ?= "nvdcve_2-2.db" 34# Possible database sources: NVD1, NVD2, FKIE
35NVD_DB_VERSION ?= "NVD2"
36
37# Use different file names for each database source, as they synchronize at different moments, so may be slightly different
38CVE_CHECK_DB_FILENAME ?= "${@'nvdcve_2-2.db' if d.getVar('NVD_DB_VERSION') == 'NVD2' else 'nvdcve_1-3.db' if d.getVar('NVD_DB_VERSION') == 'NVD1' else 'nvdfkie_1-1.db'}"
39CVE_CHECK_DB_FETCHER ?= "${@'cve-update-nvd2-native' if d.getVar('NVD_DB_VERSION') == 'NVD2' else 'cve-update-db-native'}"
35CVE_CHECK_DB_DIR ?= "${STAGING_DIR}/CVE_CHECK" 40CVE_CHECK_DB_DIR ?= "${STAGING_DIR}/CVE_CHECK"
36CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/${CVE_CHECK_DB_FILENAME}" 41CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/${CVE_CHECK_DB_FILENAME}"
37CVE_CHECK_DB_FILE_LOCK ?= "${CVE_CHECK_DB_FILE}.lock" 42CVE_CHECK_DB_FILE_LOCK ?= "${CVE_CHECK_DB_FILE}.lock"
@@ -114,6 +119,11 @@ python () {
114 d.setVarFlag("CVE_STATUS", cve, d.getVarFlag(cve_status_group, "status")) 119 d.setVarFlag("CVE_STATUS", cve, d.getVarFlag(cve_status_group, "status"))
115 else: 120 else:
116 bb.warn("CVE_STATUS_GROUPS contains undefined variable %s" % cve_status_group) 121 bb.warn("CVE_STATUS_GROUPS contains undefined variable %s" % cve_status_group)
122
123 nvd_database_type = d.getVar("NVD_DB_VERSION")
124 if nvd_database_type not in ("NVD1", "NVD2", "FKIE"):
125 bb.erroronce("Malformed NVD_DB_VERSION, must be one of: NVD1, NVD2, FKIE. Defaulting to NVD2")
126 d.setVar("NVD_DB_VERSION", "NVD2")
117} 127}
118 128
119def generate_json_report(d, out_path, link_path): 129def generate_json_report(d, out_path, link_path):
@@ -182,7 +192,7 @@ python do_cve_check () {
182} 192}
183 193
184addtask cve_check before do_build 194addtask cve_check before do_build
185do_cve_check[depends] = "cve-update-nvd2-native:do_unpack" 195do_cve_check[depends] = "${CVE_CHECK_DB_FETCHER}:do_unpack"
186do_cve_check[nostamp] = "1" 196do_cve_check[nostamp] = "1"
187 197
188python cve_check_cleanup () { 198python cve_check_cleanup () {