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

Commit 3d1c612e authored by dhacker29's avatar dhacker29
Browse files

Revert "Revert "core: Makefile: Build install-recovery into the system image""

This reverts commit 468ddd95.

Change-Id: I09e65907ad0f6374b55deaca1fa380b304fb10f6
parent 8e0ac248
Loading
Loading
Loading
Loading
+73 −2
Original line number Diff line number Diff line
@@ -872,6 +872,7 @@ recovery_fstab := $(strip $(wildcard $(TARGET_DEVICE_DIR)/recovery.fstab))
endif
# Named '.dat' so we don't attempt to use imgdiff for patching it.
RECOVERY_RESOURCE_ZIP := $(TARGET_OUT)/etc/recovery-resource.dat
RECOVERY_PATCH_INSTALL := $(TARGET_OUT)/bin/install-recovery.sh

ifeq ($(recovery_resources_private),)
  $(info No private recovery resources for TARGET_DEVICE $(TARGET_DEVICE))
@@ -991,6 +992,69 @@ $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) $(recovery_ramdisk) $(recovery_k
		$(call build-recoveryimage-target, $@)
endif # BOARD_CUSTOM_BOOTIMG_MK

recovery_patch_path := $(call intermediates-dir-for,PACKAGING,recovery_patch)
ota_temp_root := $(PRODUCT_OUT)/ota_temp
$(RECOVERY_PATCH_INSTALL): PRIVATE_RECOVERY_API_VERSION := $(RECOVERY_API_VERSION)
$(RECOVERY_PATCH_INSTALL): PRIVATE_RECOVERY_FSTAB_VERSION := $(RECOVERY_FSTAB_VERSION)
$(RECOVERY_PATCH_INSTALL): $(INSTALLED_RECOVERYIMAGE_TARGET) \
	$(RECOVERY_FROM_BOOT_PATCH) \
	$(ALL_PREBUILT) \
	$(ALL_COPIED_HEADERS) \
	$(ALL_GENERATED_SOURCES) \
	$(ALL_DEFAULT_INSTALLED_MODULES) \
	$(PDK_FUSION_SYSIMG_FILES)
	@echo "Installing recovery patch to system partition"
	$(hide) mkdir -p $(ota_temp_root)
	$(hide) mkdir -p $(ota_temp_root)/BOOT
	$(hide) mkdir -p $(ota_temp_root)/RECOVERY
	$(hide) mkdir -p $(ota_temp_root)/BOOTABLE_IMAGES
	$(hide) mkdir -p $(ota_temp_root)/SYSTEM
	$(hide) mkdir -p $(ota_temp_root)/SYSTEM/bin
	$(hide) mkdir -p $(ota_temp_root)/SYSTEM/etc
	$(hide) mkdir -p $(ota_temp_root)/META
	$(hide) $(call package_files-copy-root, \
		$(TARGET_RECOVERY_ROOT_OUT),$(ota_temp_root)/RECOVERY/RAMDISK)
	$(hide) $(call package_files-copy-root, \
		$(TARGET_ROOT_OUT),$(ota_temp_root)/BOOT/RAMDISK)
	$(hide) $(call package_files-copy-root, \
		$(TARGET_OUT)/etc,$(ota_temp_root)/SYSTEM/etc)
	@echo "recovery_api_version=$(PRIVATE_RECOVERY_API_VERSION)" > $(ota_temp_root)/META/misc_info.txt
	@echo "fstab_version=$(PRIVATE_RECOVERY_FSTAB_VERSION)" >> $(ota_temp_root)/META/misc_info.txt
ifdef BOARD_FLASH_BLOCK_SIZE
	@echo "blocksize=$(BOARD_FLASH_BLOCK_SIZE)" >> $(ota_temp_root)/META/misc_info.txt
endif
ifdef BOARD_BOOTIMAGE_PARTITION_SIZE
	@echo "boot_size=$(BOARD_BOOTIMAGE_PARTITION_SIZE)" >> $(ota_temp_root)/META/misc_info.txt
endif
ifdef BOARD_RECOVERYIMAGE_PARTITION_SIZE
	@echo "recovery_size=$(BOARD_RECOVERYIMAGE_PARTITION_SIZE)" >> $(ota_temp_root)/META/misc_info.txt
endif
ifdef TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS
	@# TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS can be empty to indicate that nothing but defaults should be used.
	@echo "recovery_mount_options=$(TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS)" >> $(ota_temp_root)/META/misc_info.txt
else
	@echo "recovery_mount_options=$(DEFAULT_TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS)" >> $(ota_temp_root)/META/misc_info.txt
endif
	@echo "tool_extensions=$(tool_extensions)" >> $(ota_temp_root)/META/misc_info.txt
	@echo "default_system_dev_certificate=$(DEFAULT_SYSTEM_DEV_CERTIFICATE)" >> $(ota_temp_root)/META/misc_info.txt
ifdef PRODUCT_EXTRA_RECOVERY_KEYS
	@echo "extra_recovery_keys=$(PRODUCT_EXTRA_RECOVERY_KEYS)" >> $(ota_temp_root)/META/misc_info.txt
endif
	@echo 'mkbootimg_args=$(BOARD_MKBOOTIMG_ARGS)' >> $(ota_temp_root)/META/misc_info.txt
	@echo "use_set_metadata=1" >> $(ota_temp_root)/META/misc_info.txt
	@echo "multistage_support=1" >> $(ota_temp_root)/META/misc_info.txt
	@echo "update_rename_support=1" >> $(ota_temp_root)/META/misc_info.txt
ifneq ($(OEM_THUMBPRINT_PROPERTIES),)
	# OTA scripts are only interested in fingerprint related properties
	@echo "oem_fingerprint_properties=$(OEM_THUMBPRINT_PROPERTIES)" >> $(ota_temp_root)/META/misc_info.txt
endif
	$(call generate-userimage-prop-dictionary, $(ota_temp_root)/META/misc_info.txt)
	$(hide) cp -r $(PRODUCT_OUT)/boot.img $(ota_temp_root)/BOOTABLE_IMAGES/
	$(hide) cp -r $(PRODUCT_OUT)/recovery.img $(ota_temp_root)/BOOTABLE_IMAGES/
	$(hide) ./build/tools/releasetools/make_recovery_patch $(ota_temp_root) $(ota_temp_root)
	$(hide) cp --remove-destination $(ota_temp_root)/SYSTEM/bin/install-recovery.sh $(TARGET_OUT)/bin/install-recovery.sh
	$(hide) cp --remove-destination $(ota_temp_root)/SYSTEM/recovery-from-boot.p $(TARGET_OUT)/recovery-from-boot.p

$(RECOVERY_RESOURCE_ZIP): $(INSTALLED_RECOVERYIMAGE_TARGET)
	$(hide) mkdir -p $(dir $@)
	$(hide) find $(TARGET_RECOVERY_ROOT_OUT)/res -type f | sort | zip -0qrj $@ -@
@@ -1003,7 +1067,6 @@ recoveryimage-nodeps:
else
RECOVERY_RESOURCE_ZIP :=
endif

.PHONY: recoveryimage
recoveryimage: $(INSTALLED_RECOVERYIMAGE_TARGET) $(RECOVERY_RESOURCE_ZIP)

@@ -1034,7 +1097,8 @@ INTERNAL_SYSTEMIMAGE_FILES := $(filter $(TARGET_OUT)/%, \
    $(ALL_GENERATED_SOURCES) \
    $(ALL_DEFAULT_INSTALLED_MODULES) \
    $(PDK_FUSION_SYSIMG_FILES) \
    $(RECOVERY_RESOURCE_ZIP))
    $(RECOVERY_RESOURCE_ZIP) \
    $(RECOVERY_PATCH_INSTALL))


FULL_SYSTEMIMAGE_DEPS := $(INTERNAL_SYSTEMIMAGE_FILES) $(INTERNAL_USERIMAGES_DEPS)
@@ -1540,6 +1604,13 @@ $(BUILT_TARGET_FILES_PACKAGE): \
		$(TARGET_RECOVERY_ROOT_OUT),$(zip_root)/RECOVERY/RAMDISK)
	@# OTA install helpers
	$(hide) $(call package_files-copy-root, $(OUT)/install, $(zip_root)/INSTALL)
# Just copy the already built boot/recovery images into the target-files dir
# in order to avoid mismatched images between the out dir and what the ota
# build system tries to rebuild.
	$(hide) mkdir -p $(zip_root)/BOOTABLE_IMAGES
	$(hide) $(ACP) $(INSTALLED_BOOTIMAGE_TARGET) $(zip_root)/BOOTABLE_IMAGES/
	$(hide) $(ACP) $(INSTALLED_RECOVERYIMAGE_TARGET) $(zip_root)/BOOTABLE_IMAGES/

ifdef INSTALLED_KERNEL_TARGET
	$(hide) $(ACP) $(INSTALLED_KERNEL_TARGET) $(zip_root)/RECOVERY/kernel
endif