@@ -57,7 +57,9 @@ do_create_image_spdx[dirs] = "${SPDXIMAGEWORK}"
do_create_image_spdx[file-checksums] += "${SPDX3_DEP_FILES}"
do_create_image_spdx[vardeps] += "\
SPDX_IMAGE_PURPOSE \
- "
+ ${@'${SPDX_IMAGE_SUPPLIER}_name' if d.getVar('SPDX_IMAGE_SUPPLIER') else ''} \
+ ${@'${SPDX_IMAGE_SUPPLIER}_type' if d.getVar('SPDX_IMAGE_SUPPLIER') else ''} \
+"
python do_create_image_spdx_setscene() {
sstate_setscene(d)
@@ -231,7 +231,11 @@ do_create_spdx[depends] += " \
${PATCHDEPENDENCY} \
${@create_spdx_source_deps(d)} \
"
-do_create_spdx[vardeps] += "${SPDX3_VAR_DEPS}"
+do_create_spdx[vardeps] += " \
+ ${SPDX3_VAR_DEPS} \
+ ${@'${SPDX_PACKAGE_SUPPLIER}_name' if d.getVar('SPDX_PACKAGE_SUPPLIER') else ''} \
+ ${@'${SPDX_PACKAGE_SUPPLIER}_type' if d.getVar('SPDX_PACKAGE_SUPPLIER') else ''} \
+"
python do_create_spdx_setscene () {
sstate_setscene(d)
@@ -253,7 +257,11 @@ do_create_package_spdx[dirs] = "${SPDXRUNTIMEDEPLOY}"
do_create_package_spdx[cleandirs] = "${SPDXRUNTIMEDEPLOY}"
do_create_package_spdx[deptask] = "do_create_spdx"
do_create_package_spdx[rdeptask] = "do_create_spdx"
-do_create_package_spdx[vardeps] += "${SPDX3_VAR_DEPS}"
+do_create_package_spdx[vardeps] += " \
+ ${SPDX3_VAR_DEPS} \
+ ${@'${SPDX_PACKAGE_SUPPLIER}_name' if d.getVar('SPDX_PACKAGE_SUPPLIER') else ''} \
+ ${@'${SPDX_PACKAGE_SUPPLIER}_type' if d.getVar('SPDX_PACKAGE_SUPPLIER') else ''} \
+"
python do_create_package_spdx_setscene () {
sstate_setscene(d)
@@ -290,4 +298,3 @@ python spdx30_build_started_handler () {
addhandler spdx30_build_started_handler
spdx30_build_started_handler[eventmask] = "bb.event.BuildStarted"
-
Add "${SPDX_IMAGE_SUPPLIER}_name", "${SPDX_IMAGE_SUPPLIER}_type", "${SPDX_PACKAGE_SUPPLIER}_name", and "${SPDX_PACKAGE_SUPPLIER}_type" to respective task vardeps to make sure SPDX is regenerated if those change. Tested by building minimal image with: ``` SPDX_PACKAGE_SUPPLIER = "SPDX_PACKAGE_SUPPLIER" SPDX_PACKAGE_SUPPLIER_name = "AAAA" SPDX_PACKAGE_SUPPLIER_type = "organization" ``` then rebuilding with `SPDX_PACKAGE_SUPPLIER_name = "BBBB"` and checking if every instance of AAAA was changed to BBBB in resulting image SBOM. Same with SPDX_IMAGE_SUPPLIER. Previous patch only added SPDX_PACKAGE_SUPPLIER to do_create_package_spdx but this resulted in most of supplier names not being changed. Signed-off-by: iwanicki92 <iwanicki92@gmail.com> --- meta/classes-recipe/create-spdx-image-3.0.bbclass | 4 +++- meta/classes/create-spdx-3.0.bbclass | 13 ++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-)