Merge "Filter out installed files of partitions not built for a target product in SBOM generation." am: 32789cd805 am: f1dd146c2b

Original change: https://android-review.googlesource.com/c/platform/build/+/2512055

Change-Id: Iddbe801a50cce12969bb4d753c1e613493f1ca26
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Wei Li
2023-04-04 01:55:25 +00:00
committed by Automerger Merge Worker

View File

@@ -2032,10 +2032,107 @@ product_copy_files_without_owner := $(foreach pcf,$(PRODUCT_COPY_FILES),$(call w
ifeq ($(TARGET_BUILD_APPS),) ifeq ($(TARGET_BUILD_APPS),)
dest_files_without_source := $(sort $(foreach pcf,$(product_copy_files_without_owner),$(if $(wildcard $(call word-colon,1,$(pcf))),,$(call word-colon,2,$(pcf))))) dest_files_without_source := $(sort $(foreach pcf,$(product_copy_files_without_owner),$(if $(wildcard $(call word-colon,1,$(pcf))),,$(call word-colon,2,$(pcf)))))
dest_files_without_source := $(addprefix $(PRODUCT_OUT)/,$(dest_files_without_source)) dest_files_without_source := $(addprefix $(PRODUCT_OUT)/,$(dest_files_without_source))
installed_files := $(sort $(filter-out $(PRODUCT_OUT)/apex/% $(PRODUCT_OUT)/fake_packages/% $(PRODUCT_OUT)/testcases/% $(dest_files_without_source),$(filter $(PRODUCT_OUT)/%,$(modules_to_install)))) filter_out_files := \
$(PRODUCT_OUT)/apex/% \
$(PRODUCT_OUT)/fake_packages/% \
$(PRODUCT_OUT)/testcases/% \
$(dest_files_without_source)
# Check if each partition image is built, if not filter out all its installed files
# Also check if a partition uses prebuilt image file, save the info if prebuilt image is used.
PREBUILT_PARTITION_COPY_FILES :=
# product.img
ifndef BUILDING_PRODUCT_IMAGE
filter_out_files += $(PRODUCT_OUT)/product/%
ifdef BOARD_PREBUILT_PRODUCTIMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_PRODUCTIMAGE):$(INSTALLED_PRODUCTIMAGE_TARGET)
endif
endif
# system.img
ifndef BUILDING_SYSTEM_IMAGE
filter_out_files += $(PRODUCT_OUT)/system/%
endif
# system_dlkm.img
ifndef BUILDING_SYSTEM_DLKM_IMAGE
filter_out_files += $(PRODUCT_OUT)/system_dlkm/%
ifdef BOARD_PREBUILT_SYSTEM_DLKMIMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_SYSTEM_DLKMIMAGE):$(INSTALLED_SYSTEM_DLKMIMAGE_TARGET)
endif
endif
# system_ext.img
ifndef BUILDING_SYSTEM_EXT_IMAGE
filter_out_files += $(PRODUCT_OUT)/system_ext/%
ifdef BOARD_PREBUILT_SYSTEM_EXTIMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_SYSTEM_EXTIMAGE):$(INSTALLED_SYSTEM_EXTIMAGE_TARGET)
endif
endif
# system_other.img
ifndef BUILDING_SYSTEM_OTHER_IMAGE
filter_out_files += $(PRODUCT_OUT)/system_other/%
endif
# odm.img
ifndef BUILDING_ODM_IMAGE
filter_out_files += $(PRODUCT_OUT)/odm/%
ifdef BOARD_PREBUILT_ODMIMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_ODMIMAGE):$(INSTALLED_ODMIMAGE_TARGET)
endif
endif
# odm_dlkm.img
ifndef BUILDING_ODM_DLKM_IMAGE
filter_out_files += $(PRODUCT_OUT)/odm_dlkm/%
ifdef BOARD_PREBUILT_ODM_DLKMIMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_ODM_DLKMIMAGE):$(INSTALLED_ODM_DLKMIMAGE_TARGET)
endif
endif
# vendor.img
ifndef BUILDING_VENDOR_IMAGE
filter_out_files += $(PRODUCT_OUT)/vendor/%
ifdef BOARD_PREBUILT_VENDORIMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_VENDORIMAGE):$(INSTALLED_VENDORIMAGE_TARGET)
endif
endif
# vendor_dlkm.img
ifndef BUILDING_VENDOR_DLKM_IMAGE
filter_out_files += $(PRODUCT_OUT)/vendor_dlkm/%
ifdef BOARD_PREBUILT_VENDOR_DLKMIMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_VENDOR_DLKMIMAGE):$(INSTALLED_VENDOR_DLKMIMAGE_TARGET)
endif
endif
# cache.img
ifndef BUILDING_CACHE_IMAGE
filter_out_files += $(PRODUCT_OUT)/cache/%
endif
# boot.img
ifndef BUILDING_BOOT_IMAGE
ifdef BOARD_PREBUILT_BOOTIMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_BOOTIMAGE):$(INSTALLED_BOOTIMAGE_TARGET)
endif
endif
# init_boot.img
ifndef BUILDING_INIT_BOOT_IMAGE
ifdef BOARD_PREBUILT_INIT_BOOT_IMAGE
PREBUILT_PARTITION_COPY_FILES += $(BOARD_PREBUILT_INIT_BOOT_IMAGE):$(INSTALLED_INIT_BOOT_IMAGE_TARGET)
endif
endif
# ramdisk.img
ifndef BUILDING_RAMDISK_IMAGE
filter_out_files += $(PRODUCT_OUT)/ramdisk/%
endif
# recovery.img
ifndef INSTALLED_RECOVERYIMAGE_TARGET
filter_out_files += $(PRODUCT_OUT)/recovery/%
endif
installed_files := $(sort $(filter-out $(filter_out_files),$(filter $(PRODUCT_OUT)/%,$(modules_to_install))))
else else
installed_files := $(apps_only_installed_files) installed_files := $(apps_only_installed_files)
endif endif # TARGET_BUILD_APPS
# sbom-metadata.csv contains all raw data collected in Make for generating SBOM in generate-sbom.py. # sbom-metadata.csv contains all raw data collected in Make for generating SBOM in generate-sbom.py.
# There are multiple columns and each identifies the source of an installed file for a specific case. # There are multiple columns and each identifies the source of an installed file for a specific case.