build: also generate the CycloneDX SBOM in imagebuilder
authorFlorian Eckert <fe@dev.tdt.de>
Wed, 24 Apr 2024 11:39:33 +0000 (13:39 +0200)
committerPaul Spooren <mail@aparcar.org>
Tue, 7 May 2024 20:26:10 +0000 (22:26 +0200)
The needed file '.packageinfo' for creating the CycloneDX SBOM in the
imagebuilder is available in the top directory of the imagebuilder and
not in the tmp directory.

For this reason, the creation of the CycloneDX SBOM file is not available
for the imagebuilder.

To fix this, it is now first checked whether the CycloneDX SBOM should be
built at all and then second decided by checking the IB variable where the
'.packageinfo' file is to be found.

With this change, it is now possible to create the CycloneDX SBOM also for
the imagebuilder as well.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
include/image.mk

index b6b796dd972c1dde9e883b3475eb096b006d0ed5..284298e5ed69a2cefb071f9764b9acfa0a4826f0 100644 (file)
@@ -279,12 +279,11 @@ endef
 define Image/Manifest
        $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \
                $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest
-ifndef IB
-       $(if $(CONFIG_JSON_CYCLONEDX_SBOM), \
-               $(SCRIPT_DIR)/package-metadata.pl imgcyclonedxsbom \
-               $(TMP_DIR)/.packageinfo \
+ifneq ($(CONFIG_JSON_CYCLONEDX_SBOM),)
+       $(SCRIPT_DIR)/package-metadata.pl imgcyclonedxsbom \
+               $(if $(IB),$(TOPDIR)/.packageinfo, $(TMP_DIR)/.packageinfo) \
                $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest > \
-               $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).bom.cdx.json)
+               $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).bom.cdx.json
 endif
 endef