Record contents of EXTRA_INSTALL_ZIPS files in file_list.txt
The partitions will not include anything that's not in file_list.txt. Zip files in EXTRA_INSTALL_ZIPS are extracted into the staging directories when other files are installed. Their contents need to be added to the file_list.txt so that their extracted files are not ignored. EXTRA_INSTALL_ZIPS is only used by android_app_set, which is only used by partners, so this bug went unnoticed for a long time. Bug: 337869220 Test: m droid and checked the contents of file_list.txt when adding an android_app_set locally Change-Id: Ifa2f7168dbeedbb2308a481c0c78f28e874b0aef
This commit is contained in:
parent
a2357e90d7
commit
9feef379ff
2 changed files with 34 additions and 15 deletions
|
@ -3406,12 +3406,29 @@ endif
|
||||||
|
|
||||||
FULL_SYSTEMIMAGE_DEPS += $(INTERNAL_ROOT_FILES) $(INSTALLED_FILES_FILE_ROOT)
|
FULL_SYSTEMIMAGE_DEPS += $(INTERNAL_ROOT_FILES) $(INSTALLED_FILES_FILE_ROOT)
|
||||||
|
|
||||||
define write-file-lines
|
# Returns a list of all the zip files from EXTRA_INSTALL_ZIPS whose install destination is
|
||||||
$(1):
|
# under $(1)
|
||||||
|
define relevant-extra-install-zips
|
||||||
|
$(strip $(foreach p,$(EXTRA_INSTALL_ZIPS), \
|
||||||
|
$(if $(filter $(1)/%,$(call word-colon,1,$(p))/), \
|
||||||
|
$(call word-colon,2,$(p)))))
|
||||||
|
endef
|
||||||
|
|
||||||
|
# Writes a text file that contains all of the files that will be inside a partition.
|
||||||
|
# All the file paths will be relative to the partition's staging directory.
|
||||||
|
# It will also take into account files inside zips listed in EXTRA_INSTALL_ZIPS.
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# $(1): Output file
|
||||||
|
# $(2): The partition's staging directory
|
||||||
|
# $(3): Files to include in the partition
|
||||||
|
define write-partition-file-list
|
||||||
|
$(1): $$(HOST_OUT_EXECUTABLES)/extra_install_zips_file_list $(call relevant-extra-install-zips,$(2))
|
||||||
@echo Writing $$@
|
@echo Writing $$@
|
||||||
rm -f $$@
|
rm -f $$@
|
||||||
echo -n > $$@
|
echo -n > $$@
|
||||||
$$(foreach f,$(2),echo "$$(f)" >> $$@$$(newline))
|
$$(foreach f,$(subst $(2)/,,$(filter $(2)/%,$(3))),echo "$$(f)" >> $$@$$(newline))
|
||||||
|
$$(HOST_OUT_EXECUTABLES)/extra_install_zips_file_list $(2) $$(EXTRA_INSTALL_ZIPS) >> $$@
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
@ -3477,7 +3494,7 @@ define build-systemimage-target
|
||||||
exit 1 )
|
exit 1 )
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(systemimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT)/,,$(filter $(TARGET_OUT)/%,$(FULL_SYSTEMIMAGE_DEPS)))))
|
$(eval $(call write-partition-file-list,$(systemimage_intermediates)/file_list.txt,$(TARGET_OUT),$(FULL_SYSTEMIMAGE_DEPS)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(systemimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT)/%,$(FULL_SYSTEMIMAGE_DEPS))
|
$(systemimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT)/%,$(FULL_SYSTEMIMAGE_DEPS))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -3594,7 +3611,7 @@ INSTALLED_USERDATAIMAGE_TARGET_DEPS := \
|
||||||
$(INTERNAL_USERIMAGES_DEPS) \
|
$(INTERNAL_USERIMAGES_DEPS) \
|
||||||
$(INTERNAL_USERDATAIMAGE_FILES)
|
$(INTERNAL_USERDATAIMAGE_FILES)
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(userdataimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_DATA)/,,$(filter $(TARGET_OUT_DATA)/%,$(INSTALLED_USERDATAIMAGE_TARGET_DEPS)))))
|
$(eval $(call write-partition-file-list,$(userdataimage_intermediates)/file_list.txt,$(TARGET_OUT_DATA),$(INSTALLED_USERDATAIMAGE_TARGET_DEPS)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(userdataimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_DATA)/%,$(INSTALLED_USERDATAIMAGE_TARGET_DEPS))
|
$(userdataimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_DATA)/%,$(INSTALLED_USERDATAIMAGE_TARGET_DEPS))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -3650,7 +3667,7 @@ define build-cacheimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_CACHEIMAGE_TARGET),$(BOARD_CACHEIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_CACHEIMAGE_TARGET),$(BOARD_CACHEIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(cacheimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_CACHE)/,,$(filter $(TARGET_OUT_CACHE)/%,$(INTERNAL_CACHEIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(cacheimage_intermediates)/file_list.txt,$(TARGET_OUT_CACHE),$(INTERNAL_CACHEIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(cacheimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_CACHE)/%,$(INTERNAL_CACHEIMAGE_FILES))
|
$(cacheimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_CACHE)/%,$(INTERNAL_CACHEIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -3737,7 +3754,7 @@ define build-systemotherimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_SYSTEMOTHERIMAGE_TARGET),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_SYSTEMOTHERIMAGE_TARGET),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(systemotherimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_SYSTEM_OTHER)/,,$(filter $(TARGET_OUT_SYSTEM_OTHER)/%,$(INTERNAL_SYSTEMOTHERIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(systemotherimage_intermediates)/file_list.txt,$(TARGET_OUT_SYSTEM_OTHER),$(INTERNAL_SYSTEMOTHERIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(systemotherimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_SYSTEM_OTHER)/%,$(INTERNAL_SYSTEMOTHERIMAGE_FILES))
|
$(systemotherimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_SYSTEM_OTHER)/%,$(INTERNAL_SYSTEMOTHERIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -3843,7 +3860,7 @@ define build-vendorimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_VENDORIMAGE_TARGET) $(RECOVERY_FROM_BOOT_PATCH),$(BOARD_VENDORIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_VENDORIMAGE_TARGET) $(RECOVERY_FROM_BOOT_PATCH),$(BOARD_VENDORIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(vendorimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_VENDOR)/,,$(filter $(TARGET_OUT_VENDOR)/%,$(INTERNAL_VENDORIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(vendorimage_intermediates)/file_list.txt,$(TARGET_OUT_VENDOR),$(INTERNAL_VENDORIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(vendorimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_VENDOR)/%,$(INTERNAL_VENDORIMAGE_FILES))
|
$(vendorimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_VENDOR)/%,$(INTERNAL_VENDORIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -3916,7 +3933,7 @@ define build-productimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_PRODUCTIMAGE_TARGET),$(BOARD_PRODUCTIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_PRODUCTIMAGE_TARGET),$(BOARD_PRODUCTIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(productimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_PRODUCT)/,,$(filter $(TARGET_OUT_PRODUCT)/%,$(INTERNAL_PRODUCTIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(productimage_intermediates)/file_list.txt,$(TARGET_OUT_PRODUCT),$(INTERNAL_PRODUCTIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(productimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_PRODUCT)/%,$(INTERNAL_PRODUCTIMAGE_FILES))
|
$(productimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_PRODUCT)/%,$(INTERNAL_PRODUCTIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -3986,7 +4003,7 @@ define build-system_extimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET),$(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET),$(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(system_extimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_SYSTEM_EXT)/,,$(filter $(TARGET_OUT_SYSTEM_EXT)/%,$(INTERNAL_SYSTEM_EXTIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(system_extimage_intermediates)/file_list.txt,$(TARGET_OUT_SYSTEM_EXT),$(INTERNAL_SYSTEM_EXTIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(system_extimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_SYSTEM_EXT)/%,$(INTERNAL_SYSTEM_EXTIMAGE_FILES))
|
$(system_extimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_SYSTEM_EXT)/%,$(INTERNAL_SYSTEM_EXTIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -4075,7 +4092,7 @@ define build-odmimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_ODMIMAGE_TARGET),$(BOARD_ODMIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_ODMIMAGE_TARGET),$(BOARD_ODMIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(odmimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_ODM)/,,$(filter $(TARGET_OUT_ODM)/%,$(INTERNAL_ODMIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(odmimage_intermediates)/file_list.txt,$(TARGET_OUT_ODM),$(INTERNAL_ODMIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(odmimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_ODM)/%,$(INTERNAL_ODMIMAGE_FILES))
|
$(odmimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_ODM)/%,$(INTERNAL_ODMIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -4144,7 +4161,7 @@ define build-vendor_dlkmimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_VENDOR_DLKMIMAGE_TARGET),$(BOARD_VENDOR_DLKMIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_VENDOR_DLKMIMAGE_TARGET),$(BOARD_VENDOR_DLKMIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(vendor_dlkmimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_VENDOR_DLKM)/,,$(filter $(TARGET_OUT_VENDOR_DLKM)/%,$(INTERNAL_VENDOR_DLKMIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(vendor_dlkmimage_intermediates)/file_list.txt,$(TARGET_OUT_VENDOR_DLKM),$(INTERNAL_VENDOR_DLKMIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(vendor_dlkmimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_VENDOR_DLKM)/%,$(INTERNAL_VENDOR_DLKMIMAGE_FILES))
|
$(vendor_dlkmimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_VENDOR_DLKM)/%,$(INTERNAL_VENDOR_DLKMIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -4213,7 +4230,7 @@ define build-odm_dlkmimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_ODM_DLKMIMAGE_TARGET),$(BOARD_ODM_DLKMIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_ODM_DLKMIMAGE_TARGET),$(BOARD_ODM_DLKMIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(odm_dlkmimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_ODM_DLKM)/,,$(filter $(TARGET_OUT_ODM_DLKM)/%,$(INTERNAL_ODM_DLKMIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(odm_dlkmimage_intermediates)/file_list.txt,$(TARGET_OUT_ODM_DLKM),$(INTERNAL_ODM_DLKMIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(odm_dlkmimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_ODM_DLKM)/%,$(INTERNAL_ODM_DLKMIMAGE_FILES))
|
$(odm_dlkmimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_ODM_DLKM)/%,$(INTERNAL_ODM_DLKMIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
@ -4284,7 +4301,7 @@ define build-system_dlkmimage-target
|
||||||
$(call assert-max-image-size,$(INSTALLED_SYSTEM_DLKMIMAGE_TARGET),$(BOARD_SYSTEM_DLKMIMAGE_PARTITION_SIZE))
|
$(call assert-max-image-size,$(INSTALLED_SYSTEM_DLKMIMAGE_TARGET),$(BOARD_SYSTEM_DLKMIMAGE_PARTITION_SIZE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call write-file-lines,$(system_dlkmimage_intermediates)/file_list.txt,$(subst $(TARGET_OUT_SYSTEM_DLKM)/,,$(filter $(TARGET_OUT_SYSTEM_DLKM)/%,$(INTERNAL_SYSTEM_DLKMIMAGE_FILES)))))
|
$(eval $(call write-partition-file-list,$(system_dlkmimage_intermediates)/file_list.txt,$(TARGET_OUT_SYSTEM_DLKM),$(INTERNAL_SYSTEM_DLKMIMAGE_FILES)))
|
||||||
# Used by soong sandwich to request the staging dir be built
|
# Used by soong sandwich to request the staging dir be built
|
||||||
$(system_dlkmimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_SYSTEM_DLKM)/%,$(INTERNAL_SYSTEM_DLKMIMAGE_FILES))
|
$(system_dlkmimage_intermediates)/staging_dir.stamp: $(filter $(TARGET_OUT_SYSTEM_DLKM)/%,$(INTERNAL_SYSTEM_DLKMIMAGE_FILES))
|
||||||
touch $@
|
touch $@
|
||||||
|
|
|
@ -537,7 +537,7 @@ FULL_BUILD := true
|
||||||
# Include all of the makefiles in the system
|
# Include all of the makefiles in the system
|
||||||
#
|
#
|
||||||
|
|
||||||
subdir_makefiles := $(SOONG_OUT_DIR)/installs-$(TARGET_PRODUCT).mk $(SOONG_ANDROID_MK)
|
subdir_makefiles := $(SOONG_ANDROID_MK)
|
||||||
# Android.mk files are only used on Linux builds, Mac only supports Android.bp
|
# Android.mk files are only used on Linux builds, Mac only supports Android.bp
|
||||||
ifeq ($(HOST_OS),linux)
|
ifeq ($(HOST_OS),linux)
|
||||||
subdir_makefiles += $(file <$(OUT_DIR)/.module_paths/Android.mk.list)
|
subdir_makefiles += $(file <$(OUT_DIR)/.module_paths/Android.mk.list)
|
||||||
|
@ -548,6 +548,8 @@ subdir_makefiles_total := $(words int $(subdir_makefiles) post finish)
|
||||||
|
|
||||||
$(foreach mk,$(subdir_makefiles),$(info [$(call inc_and_print,subdir_makefiles_inc)/$(subdir_makefiles_total)] including $(mk) ...)$(eval include $(mk)))
|
$(foreach mk,$(subdir_makefiles),$(info [$(call inc_and_print,subdir_makefiles_inc)/$(subdir_makefiles_total)] including $(mk) ...)$(eval include $(mk)))
|
||||||
|
|
||||||
|
include $(SOONG_OUT_DIR)/installs-$(TARGET_PRODUCT).mk
|
||||||
|
|
||||||
# For an unbundled image, we can skip blueprint_tools because unbundled image
|
# For an unbundled image, we can skip blueprint_tools because unbundled image
|
||||||
# aims to remove a large number framework projects from the manifest, the
|
# aims to remove a large number framework projects from the manifest, the
|
||||||
# sources or dependencies for these tools may be missing from the tree.
|
# sources or dependencies for these tools may be missing from the tree.
|
||||||
|
|
Loading…
Reference in a new issue