Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8aa7dcf authored by Tao Bao's avatar Tao Bao Committed by android-build-merger
Browse files

Merge "Build build_image and build_super_image as modules."

am: 25cf50f5

Change-Id: Idb34ce99b01fe432e0fe2f7824a87cc8fa3541bf
parents 2920698d 25cf50f5
Loading
Loading
Loading
Loading
+58 −38
Original line number Original line Diff line number Diff line
@@ -1374,12 +1374,9 @@ ifneq (true,$(TARGET_USERIMAGES_SPARSE_SQUASHFS_DISABLED))
endif
endif


INTERNAL_USERIMAGES_DEPS := \
INTERNAL_USERIMAGES_DEPS := \
    $(BLK_ALLOC_TO_BASE_FS) \
    $(BUILD_IMAGE) \
    $(E2FSCK) \
    $(MKE2FS_CONF) \
    $(MKE2FS_CONF) \
    $(MKEXTUSERIMG) \
    $(MKEXTUSERIMG)
    $(SIMG2IMG) \
    $(TUNE2FS)


ifeq ($(TARGET_USERIMAGES_USE_F2FS),true)
ifeq ($(TARGET_USERIMAGES_USE_F2FS),true)
INTERNAL_USERIMAGES_DEPS += $(MKF2FSUSERIMG)
INTERNAL_USERIMAGES_DEPS += $(MKF2FSUSERIMG)
@@ -2299,16 +2296,17 @@ define build-systemimage-target
  $(call generate-image-prop-dictionary, $(systemimage_intermediates)/system_image_info.txt,system, \
  $(call generate-image-prop-dictionary, $(systemimage_intermediates)/system_image_info.txt,system, \
      skip_fsck=true)
      skip_fsck=true)
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
      build/make/tools/releasetools/build_image.py \
      $(BUILD_IMAGE) \
          $(TARGET_OUT) $(systemimage_intermediates)/system_image_info.txt $(1) $(TARGET_OUT) \
          $(TARGET_OUT) $(systemimage_intermediates)/system_image_info.txt $(1) $(TARGET_OUT) \
      || ( mkdir -p $${DIST_DIR}; cp $(INSTALLED_FILES_FILE) $${DIST_DIR}/installed-files-rescued.txt; \
          || ( mkdir -p $${DIST_DIR}; \
               cp $(INSTALLED_FILES_FILE) $${DIST_DIR}/installed-files-rescued.txt; \
               exit 1 )
               exit 1 )
endef
endef


ifeq ($(BOARD_AVB_ENABLE),true)
ifeq ($(BOARD_AVB_ENABLE),true)
$(BUILT_SYSTEMIMAGE): $(BOARD_AVB_SYSTEM_KEY_PATH)
$(BUILT_SYSTEMIMAGE): $(BOARD_AVB_SYSTEM_KEY_PATH)
endif
endif
$(BUILT_SYSTEMIMAGE): $(FULL_SYSTEMIMAGE_DEPS) $(INSTALLED_FILES_FILE) $(BUILD_IMAGE_SRCS)
$(BUILT_SYSTEMIMAGE): $(FULL_SYSTEMIMAGE_DEPS) $(INSTALLED_FILES_FILE)
	$(call build-systemimage-target,$@)
	$(call build-systemimage-target,$@)


INSTALLED_SYSTEMIMAGE_TARGET := $(PRODUCT_OUT)/system.img
INSTALLED_SYSTEMIMAGE_TARGET := $(PRODUCT_OUT)/system.img
@@ -2489,17 +2487,17 @@ define build-userdataimage-target
  @mkdir -p $(userdataimage_intermediates) && rm -rf $(userdataimage_intermediates)/userdata_image_info.txt
  @mkdir -p $(userdataimage_intermediates) && rm -rf $(userdataimage_intermediates)/userdata_image_info.txt
  $(call generate-image-prop-dictionary, $(userdataimage_intermediates)/userdata_image_info.txt,userdata,skip_fsck=true)
  $(call generate-image-prop-dictionary, $(userdataimage_intermediates)/userdata_image_info.txt,userdata,skip_fsck=true)
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
      build/make/tools/releasetools/build_image.py \
      $(BUILD_IMAGE) \
      $(TARGET_OUT_DATA) $(userdataimage_intermediates)/userdata_image_info.txt $(INSTALLED_USERDATAIMAGE_TARGET) $(TARGET_OUT)
          $(TARGET_OUT_DATA) $(userdataimage_intermediates)/userdata_image_info.txt \
  $(hide) $(call assert-max-image-size,$(INSTALLED_USERDATAIMAGE_TARGET),$(BOARD_USERDATAIMAGE_PARTITION_SIZE))
          $(INSTALLED_USERDATAIMAGE_TARGET) $(TARGET_OUT)
  $(call assert-max-image-size,$(INSTALLED_USERDATAIMAGE_TARGET),$(BOARD_USERDATAIMAGE_PARTITION_SIZE))
endef
endef


# We just build this directly to the install location.
# We just build this directly to the install location.
INSTALLED_USERDATAIMAGE_TARGET := $(BUILT_USERDATAIMAGE_TARGET)
INSTALLED_USERDATAIMAGE_TARGET := $(BUILT_USERDATAIMAGE_TARGET)
INSTALLED_USERDATAIMAGE_TARGET_DEPS := \
INSTALLED_USERDATAIMAGE_TARGET_DEPS := \
    $(INTERNAL_USERIMAGES_DEPS) \
    $(INTERNAL_USERIMAGES_DEPS) \
    $(INTERNAL_USERDATAIMAGE_FILES) \
    $(INTERNAL_USERDATAIMAGE_FILES)
    $(BUILD_IMAGE_SRCS)
$(INSTALLED_USERDATAIMAGE_TARGET): $(INSTALLED_USERDATAIMAGE_TARGET_DEPS)
$(INSTALLED_USERDATAIMAGE_TARGET): $(INSTALLED_USERDATAIMAGE_TARGET_DEPS)
	$(build-userdataimage-target)
	$(build-userdataimage-target)


@@ -2572,14 +2570,15 @@ define build-cacheimage-target
  @mkdir -p $(cacheimage_intermediates) && rm -rf $(cacheimage_intermediates)/cache_image_info.txt
  @mkdir -p $(cacheimage_intermediates) && rm -rf $(cacheimage_intermediates)/cache_image_info.txt
  $(call generate-image-prop-dictionary, $(cacheimage_intermediates)/cache_image_info.txt,cache,skip_fsck=true)
  $(call generate-image-prop-dictionary, $(cacheimage_intermediates)/cache_image_info.txt,cache,skip_fsck=true)
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
      build/make/tools/releasetools/build_image.py \
      $(BUILD_IMAGE) \
      $(TARGET_OUT_CACHE) $(cacheimage_intermediates)/cache_image_info.txt $(INSTALLED_CACHEIMAGE_TARGET) $(TARGET_OUT)
          $(TARGET_OUT_CACHE) $(cacheimage_intermediates)/cache_image_info.txt \
  $(hide) $(call assert-max-image-size,$(INSTALLED_CACHEIMAGE_TARGET),$(BOARD_CACHEIMAGE_PARTITION_SIZE))
          $(INSTALLED_CACHEIMAGE_TARGET) $(TARGET_OUT)
  $(call assert-max-image-size,$(INSTALLED_CACHEIMAGE_TARGET),$(BOARD_CACHEIMAGE_PARTITION_SIZE))
endef
endef


# We just build this directly to the install location.
# We just build this directly to the install location.
INSTALLED_CACHEIMAGE_TARGET := $(BUILT_CACHEIMAGE_TARGET)
INSTALLED_CACHEIMAGE_TARGET := $(BUILT_CACHEIMAGE_TARGET)
$(INSTALLED_CACHEIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_CACHEIMAGE_FILES) $(BUILD_IMAGE_SRCS)
$(INSTALLED_CACHEIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_CACHEIMAGE_FILES)
	$(build-cacheimage-target)
	$(build-cacheimage-target)


.PHONY: cacheimage-nodeps
.PHONY: cacheimage-nodeps
@@ -2643,9 +2642,10 @@ define build-systemotherimage-target
  @mkdir -p $(systemotherimage_intermediates) && rm -rf $(systemotherimage_intermediates)/system_other_image_info.txt
  @mkdir -p $(systemotherimage_intermediates) && rm -rf $(systemotherimage_intermediates)/system_other_image_info.txt
  $(call generate-image-prop-dictionary, $(systemotherimage_intermediates)/system_other_image_info.txt,system,skip_fsck=true)
  $(call generate-image-prop-dictionary, $(systemotherimage_intermediates)/system_other_image_info.txt,system,skip_fsck=true)
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
      build/make/tools/releasetools/build_image.py \
      $(BUILD_IMAGE) \
      $(TARGET_OUT_SYSTEM_OTHER) $(systemotherimage_intermediates)/system_other_image_info.txt $(INSTALLED_SYSTEMOTHERIMAGE_TARGET) $(TARGET_OUT)
          $(TARGET_OUT_SYSTEM_OTHER) $(systemotherimage_intermediates)/system_other_image_info.txt \
  $(hide) $(call assert-max-image-size,$(INSTALLED_SYSTEMOTHERIMAGE_TARGET),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))
          $(INSTALLED_SYSTEMOTHERIMAGE_TARGET) $(TARGET_OUT)
  $(call assert-max-image-size,$(INSTALLED_SYSTEMOTHERIMAGE_TARGET),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))
endef
endef


# We just build this directly to the install location.
# We just build this directly to the install location.
@@ -2796,9 +2796,10 @@ define build-vendorimage-target
  @mkdir -p $(vendorimage_intermediates) && rm -rf $(vendorimage_intermediates)/vendor_image_info.txt
  @mkdir -p $(vendorimage_intermediates) && rm -rf $(vendorimage_intermediates)/vendor_image_info.txt
  $(call generate-image-prop-dictionary, $(vendorimage_intermediates)/vendor_image_info.txt,vendor,skip_fsck=true)
  $(call generate-image-prop-dictionary, $(vendorimage_intermediates)/vendor_image_info.txt,vendor,skip_fsck=true)
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
      build/make/tools/releasetools/build_image.py \
      $(BUILD_IMAGE) \
      $(TARGET_OUT_VENDOR) $(vendorimage_intermediates)/vendor_image_info.txt $(INSTALLED_VENDORIMAGE_TARGET) $(TARGET_OUT)
          $(TARGET_OUT_VENDOR) $(vendorimage_intermediates)/vendor_image_info.txt \
  $(hide) $(call assert-max-image-size,$(INSTALLED_VENDORIMAGE_TARGET),$(BOARD_VENDORIMAGE_PARTITION_SIZE))
          $(INSTALLED_VENDORIMAGE_TARGET) $(TARGET_OUT)
  $(call assert-max-image-size,$(INSTALLED_VENDORIMAGE_TARGET),$(BOARD_VENDORIMAGE_PARTITION_SIZE))
endef
endef


# We just build this directly to the install location.
# We just build this directly to the install location.
@@ -2806,7 +2807,10 @@ INSTALLED_VENDORIMAGE_TARGET := $(BUILT_VENDORIMAGE_TARGET)
ifdef BUILT_VENDOR_MANIFEST
ifdef BUILT_VENDOR_MANIFEST
$(INSTALLED_VENDORIMAGE_TARGET): $(BUILT_ASSEMBLED_VENDOR_MANIFEST)
$(INSTALLED_VENDORIMAGE_TARGET): $(BUILT_ASSEMBLED_VENDOR_MANIFEST)
endif
endif
$(INSTALLED_VENDORIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_VENDORIMAGE_FILES) $(INSTALLED_FILES_FILE_VENDOR) $(BUILD_IMAGE_SRCS)
$(INSTALLED_VENDORIMAGE_TARGET): \
    $(INTERNAL_USERIMAGES_DEPS) \
    $(INTERNAL_VENDORIMAGE_FILES) \
    $(INSTALLED_FILES_FILE_VENDOR)
	$(build-vendorimage-target)
	$(build-vendorimage-target)


.PHONY: vendorimage-nodeps vnod
.PHONY: vendorimage-nodeps vnod
@@ -2851,14 +2855,18 @@ define build-productimage-target
  @mkdir -p $(productimage_intermediates) && rm -rf $(productimage_intermediates)/product_image_info.txt
  @mkdir -p $(productimage_intermediates) && rm -rf $(productimage_intermediates)/product_image_info.txt
  $(call generate-image-prop-dictionary, $(productimage_intermediates)/product_image_info.txt,product,skip_fsck=true)
  $(call generate-image-prop-dictionary, $(productimage_intermediates)/product_image_info.txt,product,skip_fsck=true)
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
      ./build/tools/releasetools/build_image.py \
      $(BUILD_IMAGE) \
      $(TARGET_OUT_PRODUCT) $(productimage_intermediates)/product_image_info.txt $(INSTALLED_PRODUCTIMAGE_TARGET) $(TARGET_OUT)
          $(TARGET_OUT_PRODUCT) $(productimage_intermediates)/product_image_info.txt \
  $(hide) $(call assert-max-image-size,$(INSTALLED_PRODUCTIMAGE_TARGET),$(BOARD_PRODUCTIMAGE_PARTITION_SIZE))
          $(INSTALLED_PRODUCTIMAGE_TARGET) $(TARGET_OUT)
  $(call assert-max-image-size,$(INSTALLED_PRODUCTIMAGE_TARGET),$(BOARD_PRODUCTIMAGE_PARTITION_SIZE))
endef
endef


# We just build this directly to the install location.
# We just build this directly to the install location.
INSTALLED_PRODUCTIMAGE_TARGET := $(BUILT_PRODUCTIMAGE_TARGET)
INSTALLED_PRODUCTIMAGE_TARGET := $(BUILT_PRODUCTIMAGE_TARGET)
$(INSTALLED_PRODUCTIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_PRODUCTIMAGE_FILES) $(INSTALLED_FILES_FILE_PRODUCT) $(BUILD_IMAGE_SRCS)
$(INSTALLED_PRODUCTIMAGE_TARGET): \
    $(INTERNAL_USERIMAGES_DEPS) \
    $(INTERNAL_PRODUCTIMAGE_FILES) \
    $(INSTALLED_FILES_FILE_PRODUCT)
	$(build-productimage-target)
	$(build-productimage-target)


.PHONY: productimage-nodeps pnod
.PHONY: productimage-nodeps pnod
@@ -2949,14 +2957,20 @@ define build-system_extimage-target
  @mkdir -p $(system_extimage_intermediates) && rm -rf $(system_extimage_intermediates)/system_ext_image_info.txt
  @mkdir -p $(system_extimage_intermediates) && rm -rf $(system_extimage_intermediates)/system_ext_image_info.txt
  $(call generate-image-prop-dictionary, $(system_extimage_intermediates)/system_ext_image_info.txt,system_ext, skip_fsck=true)
  $(call generate-image-prop-dictionary, $(system_extimage_intermediates)/system_ext_image_info.txt,system_ext, skip_fsck=true)
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
      ./build/tools/releasetools/build_image.py \
      $(BUILD_IMAGE) \
      $(TARGET_OUT_SYSTEM_EXT) $(system_extimage_intermediates)/system_ext_image_info.txt $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) $(TARGET_OUT)
          $(TARGET_OUT_SYSTEM_EXT) \
  $(hide) $(call assert-max-image-size,$(INSTALLED_SYSTEM_EXTIMAGE_TARGET),$(BOARD_SYSTEM_EXTIMAGE_PARTITION_SIZE))
          $(system_extimage_intermediates)/system_ext_image_info.txt \
          $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \
          $(TARGET_OUT)
  $(call assert-max-image-size,$(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET),$(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE))
endef
endef


# We just build this directly to the install location.
# We just build this directly to the install location.
INSTALLED_SYSTEM_EXTIMAGE_TARGET := $(BUILT_SYSTEM_EXTIMAGE_TARGET)
INSTALLED_SYSTEM_EXTIMAGE_TARGET := $(BUILT_SYSTEM_EXTIMAGE_TARGET)
$(INSTALLED_SYSTEM_EXTIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_SYSTEM_EXTIMAGE_FILES) $(INSTALLED_FILES_FILE_SYSTEM_EXT) $(BUILD_IMAGE_SRCS)
$(INSTALLED_SYSTEM_EXTIMAGE_TARGET): \
    $(INTERNAL_USERIMAGES_DEPS) \
    $(INTERNAL_SYSTEM_EXTIMAGE_FILES) \
    $(INSTALLED_FILES_FILE_SYSTEM_EXT)
	$(build-system_extimage-target)
	$(build-system_extimage-target)


.PHONY: systemextimage-nodeps senod
.PHONY: systemextimage-nodeps senod
@@ -3000,14 +3014,18 @@ define build-odmimage-target
  @mkdir -p $(odmimage_intermediates) && rm -rf $(odmimage_intermediates)/odm_image_info.txt
  @mkdir -p $(odmimage_intermediates) && rm -rf $(odmimage_intermediates)/odm_image_info.txt
  $(call generate-userimage-prop-dictionary, $(odmimage_intermediates)/odm_image_info.txt, skip_fsck=true)
  $(call generate-userimage-prop-dictionary, $(odmimage_intermediates)/odm_image_info.txt, skip_fsck=true)
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
  PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
      ./build/tools/releasetools/build_image.py \
      $(BUILD_IMAGE) \
      $(TARGET_OUT_ODM) $(odmimage_intermediates)/odm_image_info.txt $(INSTALLED_ODMIMAGE_TARGET) $(TARGET_OUT)
          $(TARGET_OUT_ODM) $(odmimage_intermediates)/odm_image_info.txt \
  $(hide) $(call assert-max-image-size,$(INSTALLED_ODMIMAGE_TARGET),$(BOARD_ODMIMAGE_PARTITION_SIZE))
          $(INSTALLED_ODMIMAGE_TARGET) $(TARGET_OUT)
  $(call assert-max-image-size,$(INSTALLED_ODMIMAGE_TARGET),$(BOARD_ODMIMAGE_PARTITION_SIZE))
endef
endef


# We just build this directly to the install location.
# We just build this directly to the install location.
INSTALLED_ODMIMAGE_TARGET := $(BUILT_ODMIMAGE_TARGET)
INSTALLED_ODMIMAGE_TARGET := $(BUILT_ODMIMAGE_TARGET)
$(INSTALLED_ODMIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_ODMIMAGE_FILES) $(INSTALLED_FILES_FILE_ODM) $(BUILD_IMAGE_SRCS)
$(INSTALLED_ODMIMAGE_TARGET): \
    $(INTERNAL_USERIMAGES_DEPS) \
    $(INTERNAL_ODMIMAGE_FILES) \
    $(INSTALLED_FILES_FILE_ODM)
	$(build-odmimage-target)
	$(build-odmimage-target)


.PHONY: odmimage-nodeps onod
.PHONY: odmimage-nodeps onod
@@ -3581,6 +3599,8 @@ INTERNAL_OTATOOLS_MODULES := \
  brillo_update_payload \
  brillo_update_payload \
  brotli \
  brotli \
  bsdiff \
  bsdiff \
  build_image \
  build_super_image \
  build_verity_metadata \
  build_verity_metadata \
  build_verity_tree \
  build_verity_tree \
  care_map_generator \
  care_map_generator \
+2 −2
Original line number Original line Diff line number Diff line
@@ -579,7 +579,6 @@ APICHECK := $(HOST_OUT_JAVA_LIBRARIES)/metalava$(COMMON_JAVA_PACKAGE_SUFFIX)
FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX)
FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX)
MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg_mke2fs
MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg_mke2fs
MKE2FS_CONF := system/extras/ext4_utils/mke2fs.conf
MKE2FS_CONF := system/extras/ext4_utils/mke2fs.conf
BLK_ALLOC_TO_BASE_FS := $(HOST_OUT_EXECUTABLES)/blk_alloc_to_base_fs$(HOST_EXECUTABLE_SUFFIX)
MKSQUASHFSUSERIMG := $(HOST_OUT_EXECUTABLES)/mksquashfsimage.sh
MKSQUASHFSUSERIMG := $(HOST_OUT_EXECUTABLES)/mksquashfsimage.sh
MKF2FSUSERIMG := $(HOST_OUT_EXECUTABLES)/mkf2fsuserimg.sh
MKF2FSUSERIMG := $(HOST_OUT_EXECUTABLES)/mkf2fsuserimg.sh
SIMG2IMG := $(HOST_OUT_EXECUTABLES)/simg2img$(HOST_EXECUTABLE_SUFFIX)
SIMG2IMG := $(HOST_OUT_EXECUTABLES)/simg2img$(HOST_EXECUTABLE_SUFFIX)
@@ -591,7 +590,8 @@ FAT16COPY := build/make/tools/fat16copy.py
CHECK_LINK_TYPE := build/make/tools/check_link_type.py
CHECK_LINK_TYPE := build/make/tools/check_link_type.py
CHECK_ELF_FILE := build/make/tools/check_elf_file.py
CHECK_ELF_FILE := build/make/tools/check_elf_file.py
LPMAKE := $(HOST_OUT_EXECUTABLES)/lpmake$(HOST_EXECUTABLE_SUFFIX)
LPMAKE := $(HOST_OUT_EXECUTABLES)/lpmake$(HOST_EXECUTABLE_SUFFIX)
BUILD_SUPER_IMAGE := build/make/tools/releasetools/build_super_image.py
BUILD_IMAGE := $(HOST_OUT_EXECUTABLES)/build_image$(HOST_EXECUTABLE_SUFFIX)
BUILD_SUPER_IMAGE := $(HOST_OUT_EXECUTABLES)/build_super_image$(HOST_EXECUTABLE_SUFFIX)


PROGUARD_HOME := external/proguard
PROGUARD_HOME := external/proguard
PROGUARD := $(PROGUARD_HOME)/bin/proguard.sh
PROGUARD := $(PROGUARD_HOME)/bin/proguard.sh
+4 −4
Original line number Original line Diff line number Diff line
@@ -34,10 +34,10 @@ $(INSTALLED_OEMIMAGE_TARGET) : $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_OEMIMAGE_F
	@mkdir -p $(TARGET_OUT_OEM)
	@mkdir -p $(TARGET_OUT_OEM)
	@mkdir -p $(oemimage_intermediates) && rm -rf $(oemimage_intermediates)/oem_image_info.txt
	@mkdir -p $(oemimage_intermediates) && rm -rf $(oemimage_intermediates)/oem_image_info.txt
	$(call generate-image-prop-dictionary, $(oemimage_intermediates)/oem_image_info.txt,oem,skip_fsck=true)
	$(call generate-image-prop-dictionary, $(oemimage_intermediates)/oem_image_info.txt,oem,skip_fsck=true)
	$(hide) PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
	PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
	  build/make/tools/releasetools/build_image.py \
	    $(BUILD_IMAGE) \
	        $(TARGET_OUT_OEM) $(oemimage_intermediates)/oem_image_info.txt $@ $(TARGET_OUT)
	        $(TARGET_OUT_OEM) $(oemimage_intermediates)/oem_image_info.txt $@ $(TARGET_OUT)
	$(hide) $(call assert-max-image-size,$@,$(BOARD_OEMIMAGE_PARTITION_SIZE))
	$(call assert-max-image-size,$@,$(BOARD_OEMIMAGE_PARTITION_SIZE))


.PHONY: oem_image
.PHONY: oem_image
oem_image : $(INSTALLED_OEMIMAGE_TARGET)
oem_image : $(INSTALLED_OEMIMAGE_TARGET)
+2 −2
Original line number Original line Diff line number Diff line
@@ -152,7 +152,7 @@ $(my_built_custom_image): $(INTERNAL_USERIMAGES_DEPS) $(my_built_modules) $(my_i
	$(if $(filter oem,$(PRIVATE_MOUNT_POINT)), \
	$(if $(filter oem,$(PRIVATE_MOUNT_POINT)), \
	  $(hide) echo "oem.buildnumber=$(BUILD_NUMBER_FROM_FILE)" >> $(PRIVATE_STAGING_DIR)/oem.prop)
	  $(hide) echo "oem.buildnumber=$(BUILD_NUMBER_FROM_FILE)" >> $(PRIVATE_STAGING_DIR)/oem.prop)
	$(hide) PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
	$(hide) PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
	  build/make/tools/releasetools/build_image.py \
	    $(BUILD_IMAGE) \
	        $(PRIVATE_STAGING_DIR) $(PRIVATE_INTERMEDIATES)/image_info.txt $@ $(TARGET_OUT)
	        $(PRIVATE_STAGING_DIR) $(PRIVATE_INTERMEDIATES)/image_info.txt $@ $(TARGET_OUT)


my_installed_custom_image := $(PRODUCT_OUT)/$(notdir $(my_built_custom_image))
my_installed_custom_image := $(PRODUCT_OUT)/$(notdir $(my_built_custom_image))
+89 −18
Original line number Original line Diff line number Diff line
@@ -13,56 +13,124 @@
// limitations under the License.
// limitations under the License.


python_defaults {
python_defaults {
    name: "releasetools_defaults",
    name: "releasetools_library_defaults",
    version: {
    version: {
        py2: {
        py2: {
            enabled: true,
            enabled: true,
            embedded_launcher: false,
        },
        },
        py3: {
        py3: {
            enabled: true,
            enabled: true,
            embedded_launcher: false,
        },
        },
    },
    },
}
}


python_library_host {
python_library_host {
    name: "releasetools_lib",
    name: "releasetools_common",
    defaults: ["releasetools_defaults"],
    defaults: ["releasetools_library_defaults"],
    srcs: [
        "blockimgdiff.py",
        "common.py",
        "images.py",
        "rangelib.py",
        "sparse_img.py",
    ],
    // Only the tools that are referenced directly are listed as required modules. For example,
    // `avbtool` is not here, as the script always uses the one from info_dict['avb_avbtool'].
    required: [
        "aapt",
        "boot_signer",
        "brotli",
        "bsdiff",
        "imgdiff",
        "minigzip",
        "mkbootfs",
    ],
}

python_library_host {
    name: "releasetools_verity_utils",
    defaults: ["releasetools_library_defaults"],
    srcs: [
        "verity_utils.py",
    ],
    required: [
        "append2simg",
        "build_verity_metadata",
        "build_verity_tree",
        "fec",
    ],
}

python_defaults {
    name: "releasetools_binary_defaults",
    version: {
        py2: {
            enabled: true,
            embedded_launcher: true,
        },
        py3: {
            enabled: false,
            embedded_launcher: false,
        },
    },
}

python_binary_host {
    name: "build_image",
    defaults: ["releasetools_binary_defaults"],
    srcs: [
        "build_image.py",
    ],
    main: "build_image.py",
    libs: [
        "releasetools_common",
        "releasetools_verity_utils",
    ],
    required: [
        "blk_alloc_to_base_fs",
        "e2fsck",
        "simg2img",
        "tune2fs",
    ],
}

python_binary_host {
    name: "build_super_image",
    defaults: ["releasetools_binary_defaults"],
    srcs: [
        "build_super_image.py",
    ],
    main: "build_super_image.py",
    libs: [
        "releasetools_common",
    ],
}

python_defaults {
    name: "releasetools_test_defaults",
    srcs: [
    srcs: [
        "add_img_to_target_files.py",
        "add_img_to_target_files.py",
        "apex_utils.py",
        "apex_utils.py",
        "blockimgdiff.py",
        "build_image.py",
        "build_image.py",
        "build_super_image.py",
        "build_super_image.py",
        "check_ota_package_signature.py",
        "check_ota_package_signature.py",
        "check_target_files_signatures.py",
        "check_target_files_signatures.py",
        "common.py",
        "edify_generator.py",
        "edify_generator.py",
        "img_from_target_files.py",
        "img_from_target_files.py",
        "images.py",
        "make_recovery_patch.py",
        "make_recovery_patch.py",
        "merge_target_files.py",
        "merge_target_files.py",
        "ota_from_target_files.py",
        "ota_from_target_files.py",
        "ota_package_parser.py",
        "ota_package_parser.py",
        "rangelib.py",
        "sign_apex.py",
        "sign_apex.py",
        "sign_target_files_apks.py",
        "sign_target_files_apks.py",
        "sparse_img.py",
        "target_files_diff.py",
        "target_files_diff.py",
        "validate_target_files.py",
        "validate_target_files.py",
        "verity_utils.py",
    ],
}


python_defaults {
    name: "releasetools_test_defaults",
    defaults: ["releasetools_defaults"],
    srcs: [
        "test_*.py",
        "test_*.py",
    ],
    ],
    libs: [
    libs: [
        "releasetools_lib",
        "releasetools_common",
        "releasetools_verity_utils",
    ],
    ],
    data: [
    data: [
        "testdata/*",
        "testdata/*",
@@ -79,6 +147,9 @@ python_test_host {
    version: {
    version: {
        py2: {
        py2: {
            enabled: true,
            enabled: true,
            // When using embedded launcher, atest will try (but may fail) to load libc++.so from
            // host, because the test executable won't be able to find the needed libs via its
            // runpath.
            embedded_launcher: false,
            embedded_launcher: false,
        },
        },
        py3: {
        py3: {
Loading