[PATCH][yocto-autobuilder-helper 1/2] scripts/run-cvecheck: add option to filter out "core" recipes from the report

Ross Burton <[email protected]>
Newsgroups org.yoctoproject.lists.yocto-patches
Message-ID <[email protected]>
Add an option to filter out "core" recipes from the CVE report, so that
the same tooling can be used to scan other layers without the report also
containing issues from core.

For the purposes of this we consider "core", "selftest", and "yocto"
(oe-core, meta-selftest, meta-poky) to be core layers.

This uses jq to filter the generated JSON before it is committed to the
metrics repository.

Signed-off-by: Ross Burton <[email protected]>
---
 scripts/run-cvecheck | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/scripts/run-cvecheck b/scripts/run-cvecheck
index 43bf37f9..eaae7db4 100755
--- a/scripts/run-cvecheck
+++ b/scripts/run-cvecheck
@@ -5,7 +5,7 @@
 
 set -eu
 
-ARGS=$(getopt -o '' --long 'metrics:,branch:,results:,push' -n 'run-cvecheck' -- "$@")
+ARGS=$(getopt -o '' --long 'metrics:,branch:,results:,push,hide-core' -n 'run-cvecheck' -- "$@")
 if [ $? -ne 0 ]; then
     echo 'Cannot parse arguments...' >&2
     exit 1
@@ -23,6 +23,8 @@ RESULTSDIR=""
 BRANCH=""
 # Whether to push the metrics
 PUSH=0
+# Whether to remove recipes in oe-core from the report
+HIDE_CORE=0
 
 while true; do
     case "$1" in
@@ -46,6 +48,11 @@ while true; do
             shift
             continue
         ;;
+        '--hide-core')
+            HIDE_CORE=1
+            shift
+            continue
+        ;;
         '--')
             shift
             break
@@ -86,6 +93,13 @@ git -C $METRICSDIR pull
 CVE_REPORT=$(ls -t tmp/deploy/images/*/world-recipe-sbom.sbom-cve-check.yocto.json | head -n1)
 
 if [ -e $CVE_REPORT ]; then
+
+    # Filter out core layers, if requested
+    if [ $HIDE_CORE -eq 1 ]; then
+        jq '.package |= map(select(.layer | IN("core", "selftest", "yocto") | not))' $CVE_REPORT > $CVE_REPORT.tmp
+        mv $CVE_REPORT.tmp $CVE_REPORT
+    fi
+
     git -C $METRICSDIR rm --ignore-unmatch cve-check/$BRANCH/*.json
     mkdir -p $METRICSDIR/cve-check/$BRANCH/
     cp $CVE_REPORT $METRICSDIR/cve-check/$BRANCH/$TIMESTAMP.json
-- 
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.