From bab162156e39d8d1334310620fabf8e2e109ad73 Mon Sep 17 00:00:00 2001 From: Wei Li Date: Thu, 22 Jun 2023 22:21:00 +0000 Subject: [PATCH] Revert "Support SBOM generation of m build unbundled APEXs." This reverts commit 7c4f064a2bfd17db3129dae64baab510da64eca8. Reason for revert: this caused some CI breakages on git_master, mainline_modules_xxxx Change-Id: I95354db66991f6c257164d6f808b9fe4350673c1 --- core/main.mk | 48 ++++++++---------------------------------------- 1 file changed, 8 insertions(+), 40 deletions(-) diff --git a/core/main.mk b/core/main.mk index 498cf7269f..77b01a2e96 100644 --- a/core/main.mk +++ b/core/main.mk @@ -2157,12 +2157,10 @@ endif # TARGET_BUILD_APPS # See the second foreach loop in the rule of sbom-metadata.csv for the detailed info of static libraries collected in _all_static_libs. # is_static_lib: whether the file is a static library -metadata_list := $(OUT_DIR)/.module_paths/METADATA.list -metadata_files := $(subst $(newline),$(space),$(file <$(metadata_list))) # (TODO: b/272358583 find another way of always rebuilding this target) # Remove the sbom-metadata.csv whenever makefile is evaluated $(shell rm $(PRODUCT_OUT)/sbom-metadata.csv >/dev/null 2>&1) -$(PRODUCT_OUT)/sbom-metadata.csv: $(installed_files) $(metadata_list) $(metadata_files) +$(PRODUCT_OUT)/sbom-metadata.csv: $(installed_files) rm -f $@ echo installed_file,module_path,soong_module_type,is_prebuilt_make_module,product_copy_files,kernel_module_copy_files,is_platform_generated,build_output_path,static_libraries,whole_static_libraries,is_static_lib >> $@ $(eval _all_static_libs :=) @@ -2217,47 +2215,17 @@ $(PRODUCT_OUT)/sbom.spdx: $(PRODUCT_OUT)/sbom-metadata.csv $(GEN_SBOM) $(call dist-for-goals,droid,$(PRODUCT_OUT)/sbom.spdx.json:sbom/sbom.spdx.json) else -# Create build rules for generating SBOMs of unbundled APKs and APEXs -# $1: sbom file -# $2: sbom fragment file -# $3: installed file -# $4: sbom-metadata.csv file -define generate-app-sbom -$(eval _path_on_device := $(patsubst $(PRODUCT_OUT)/%,%,$(3))) -$(eval _module_name := $(ALL_INSTALLED_FILES.$(3))) -$(eval _module_path := $(strip $(sort $(ALL_MODULES.$(_module_name).PATH)))) -$(eval _soong_module_type := $(strip $(sort $(ALL_MODULES.$(_module_name).SOONG_MODULE_TYPE)))) -$(eval _dep_modules := $(filter %.$(_module_name),$(ALL_MODULES)) $(filter %.$(_module_name)$(TARGET_2ND_ARCH_MODULE_SUFFIX),$(ALL_MODULES))) -$(eval _is_apex := $(filter %.apex,$(3))) - -$(4): $(3) $(metadata_list) $(metadata_files) - rm -rf $$@ - echo installed_file,module_path,soong_module_type,is_prebuilt_make_module,product_copy_files,kernel_module_copy_files,is_platform_generated,build_output_path,static_libraries,whole_static_libraries,is_static_lib >> $$@ - echo /$(_path_on_device),$(_module_path),$(_soong_module_type),,,,,$(3),,, >> $$@ - $(if $(filter %.apex,$(3)),\ - $(foreach m,$(_dep_modules),\ - echo $(patsubst $(PRODUCT_OUT)/apex/$(_module_name)/%,%,$(ALL_MODULES.$m.INSTALLED)),$(sort $(ALL_MODULES.$m.PATH)),$(sort $(ALL_MODULES.$m.SOONG_MODULE_TYPE)),,,,,$(strip $(ALL_MODULES.$m.BUILT)),,, >> $$@;)) - -$(2): $(1) -$(1): $(4) $(GEN_SBOM) - rm -rf $$@ - $(GEN_SBOM) --output_file $$@ --metadata $(4) --build_version $$(BUILD_FINGERPRINT_FROM_FILE) --product_mfr "$(PRODUCT_MANUFACTURER)" --json $(if $(filter %.apk,$(3)),--unbundled_apk,--unbundled_apex) -endef - -apps_only_sbom_files := -apps_only_fragment_files := -$(foreach f,$(filter %.apk %.apex,$(installed_files)), \ - $(eval _metadata_csv_file := $(patsubst %,%-sbom-metadata.csv,$f)) \ - $(eval _sbom_file := $(patsubst %,%.spdx.json,$f)) \ - $(eval _fragment_file := $(patsubst %,%-fragment.spdx,$f)) \ - $(eval apps_only_sbom_files += $(_sbom_file)) \ - $(eval apps_only_fragment_files += $(_fragment_file)) \ - $(eval $(call generate-app-sbom,$(_sbom_file),$(_fragment_file),$f,$(_metadata_csv_file))) \ -) +apps_only_sbom_files := $(sort $(patsubst %,%.spdx.json,$(filter %.apk,$(apps_only_installed_files)))) +$(apps_only_sbom_files): $(PRODUCT_OUT)/sbom-metadata.csv $(GEN_SBOM) + rm -rf $@ + $(GEN_SBOM) --output_file $@ --metadata $(PRODUCT_OUT)/sbom-metadata.csv --build_version $(BUILD_FINGERPRINT_FROM_FILE) --product_mfr "$(PRODUCT_MANUFACTURER)" --unbundled_apk sbom: $(apps_only_sbom_files) +$(foreach f,$(apps_only_sbom_files),$(eval $(patsubst %.spdx.json,%-fragment.spdx,$f): $f)) +apps_only_fragment_files := $(patsubst %.spdx.json,%-fragment.spdx,$(apps_only_sbom_files)) $(foreach f,$(apps_only_fragment_files),$(eval apps_only_fragment_dist_files += :sbom/$(notdir $f))) + $(foreach f,$(apps_only_sbom_files),$(eval apps_only_sbom_dist_files += :sbom/$(notdir $f))) $(call dist-for-goals,apps_only,$(join $(apps_only_sbom_files),$(apps_only_sbom_dist_files)) $(join $(apps_only_fragment_files),$(apps_only_fragment_dist_files))) endif