From 05a01392e2443cd9fae68d0c1175f0adc8f45ea6 Mon Sep 17 00:00:00 2001 From: Akihiro Maeda Date: Thu, 23 May 2013 01:14:22 +0900 Subject: [PATCH] Supports build otapackage. --- core/Makefile | 36 ++++++------------- tools/releasetools/edify_generator.py | 4 +-- tools/releasetools/ota_from_target_files | 45 ++++++++++++------------ 3 files changed, 35 insertions(+), 50 deletions(-) diff --git a/core/Makefile b/core/Makefile index 2e0bc11fe82a..4cce98b5d349 100644 --- a/core/Makefile +++ b/core/Makefile @@ -342,17 +342,12 @@ INTERNAL_RAMDISK_FILES := $(filter $(TARGET_ROOT_OUT)/%, \ BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk.img -ifeq ($(HAVE_SELINUX),true) -SELINUX_DEPENDS := sepolicy file_contexts seapp_contexts -endif - # We just build this directly to the install location. INSTALLED_RAMDISK_TARGET := $(BUILT_RAMDISK_TARGET) -$(INSTALLED_RAMDISK_TARGET): $(MKBOOTFS) $(INTERNAL_RAMDISK_FILES) $(SELINUX_DEPENDS) | $(MINIGZIP) +$(INSTALLED_RAMDISK_TARGET): $(MKBOOTFS) $(INTERNAL_RAMDISK_FILES) | $(MINIGZIP) $(call pretty,"Target ram disk: $@") $(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $@ - ifneq ($(strip $(TARGET_NO_KERNEL)),true) # ----------------------------------------------------------------- @@ -616,11 +611,8 @@ INTERNAL_USERIMAGES_BINARY_PATHS := $(sort $(dir $(INTERNAL_USERIMAGES_DEPS))) # $(5): size of the partition define build-userimage-ext-target @mkdir -p $(dir $(2)) - $(if $(filter true, $(strip $(HAVE_SELINUX))), \ - $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH \ - $(MKEXTUSERIMG) $(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG) $(1) $(2) $(4) $(3) $(5) $(TARGET_ROOT_OUT)/file_contexts, \ - $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH \ - $(MKEXTUSERIMG) $(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG) $(1) $(2) $(4) $(3) $(5)) + $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH \ + $(MKEXTUSERIMG) $(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG) $(1) $(2) $(4) $(3) $(5) endef else INTERNAL_USERIMAGES_DEPS := $(MKYAFFS2) @@ -678,7 +670,7 @@ OTA_PUBLIC_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem # Generate a file containing the keys that will be read by the # recovery binary. #RECOVERY_INSTALL_OTA_KEYS := \ - $(call intermediates-dir-for,PACKAGING,ota_keys)/keys +# $(call intermediates-dir-for,PACKAGING,ota_keys)/keys #DUMPKEY_JAR := $(HOST_OUT_JAVA_LIBRARIES)/dumpkey.jar #$(RECOVERY_INSTALL_OTA_KEYS): PRIVATE_OTA_PUBLIC_KEYS := $(OTA_PUBLIC_KEYS) #$(RECOVERY_INSTALL_OTA_KEYS): extra_keys := $(patsubst %,%.x509.pem,$(PRODUCT_EXTRA_RECOVERY_KEYS)) @@ -794,9 +786,7 @@ else # INTERNAL_USERIMAGES_USE_EXT != true define build-systemimage-target @echo "Target system fs image: $(1)" @mkdir -p $(dir $(1)) - $(if $(filter true, $(strip $(HAVE_SELINUX))), \ - $(hide) $(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT) $(1) $(TARGET_ROOT_OUT)/file_contexts /system, \ - $(hide) $(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT) $(1)) + $(hide) $(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT) $(1) endef endif # INTERNAL_USERIMAGES_USE_EXT @@ -920,9 +910,7 @@ else # INTERNAL_USERIMAGES_USE_EXT != true define build-userdataimage-target $(call pretty,"Target userdata fs image: $(INSTALLED_USERDATAIMAGE_TARGET)") @mkdir -p $(TARGET_OUT_DATA) - $(if $(filter true, $(strip $(HAVE_SELINUX))), \ - $(hide) $(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT_DATA) $(INSTALLED_USERDATAIMAGE_TARGET) $(TARGET_ROOT_OUT)/file_contexts /data, \ - $(hide) $(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT_DATA) $(INSTALLED_USERDATAIMAGE_TARGET)) + $(hide) $(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT_DATA) $(INSTALLED_USERDATAIMAGE_TARGET) $(hide) $(call assert-max-image-size,$(INSTALLED_USERDATAIMAGE_TARGET),$(BOARD_USERDATAIMAGE_PARTITION_SIZE),yaffs) endef endif # INTERNAL_USERIMAGES_USE_EXT @@ -978,8 +966,6 @@ OTATOOLS := $(HOST_OUT_EXECUTABLES)/minigzip \ $(HOST_OUT_EXECUTABLES)/aapt \ $(HOST_OUT_EXECUTABLES)/bsdiff \ $(HOST_OUT_EXECUTABLES)/imgdiff \ - $(HOST_OUT_JAVA_LIBRARIES)/dumpkey.jar \ - $(HOST_OUT_JAVA_LIBRARIES)/signapk.jar \ $(HOST_OUT_EXECUTABLES)/mkuserimg.sh \ $(HOST_OUT_EXECUTABLES)/genext2fs \ $(HOST_OUT_EXECUTABLES)/tune2fs \ @@ -1164,13 +1150,12 @@ INTERNAL_OTA_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip $(INTERNAL_OTA_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR) -$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(OTATOOLS) $(SELINUX_DEPENDS) +$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(OTATOOLS) @echo "Package OTA: $@" $(hide) ./build/tools/releasetools/ota_from_target_files -v \ - $(if $(filter true, $(strip $(HAVE_SELINUX))),-S $(TARGET_ROOT_OUT)/file_contexts) \ -p $(HOST_OUT) \ - -k $(KEY_CERT_PAIR) \ - $(BUILT_TARGET_FILES_PACKAGE) $@ + -k $(KEY_CERT_PAIR) \ + $(BUILT_TARGET_FILES_PACKAGE) $@ .PHONY: otapackage otapackage: $(INTERNAL_OTA_PACKAGE_TARGET) @@ -1193,12 +1178,11 @@ else $(INTERNAL_UPDATE_PACKAGE_TARGET): extensions := $(TARGET_RELEASETOOLS_EXTENSIONS) endif -$(INTERNAL_UPDATE_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(OTATOOLS) $(SELINUX_DEPENDS) +$(INTERNAL_UPDATE_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(OTATOOLS) @echo "Package: $@" $(hide) ./build/tools/releasetools/img_from_target_files -v \ -s $(extensions) \ -p $(HOST_OUT) \ - $(if $(filter true, $(strip $(HAVE_SELINUX))),-S $(TARGET_ROOT_OUT)/file_contexts) \ $(BUILT_TARGET_FILES_PACKAGE) $@ .PHONY: updatepackage diff --git a/tools/releasetools/edify_generator.py b/tools/releasetools/edify_generator.py index 12bb48ba40d7..d7b924b68edb 100644 --- a/tools/releasetools/edify_generator.py +++ b/tools/releasetools/edify_generator.py @@ -165,9 +165,9 @@ def FormatPartition(self, partition): fstab = self.info.get("fstab", None) if fstab: p = fstab[partition] - self.script.append('format("%s", "%s", "%s", "%s", "%s");' % + self.script.append('format("%s", "%s", "%s", "%s");' % (p.fs_type, common.PARTITION_TYPES[p.fs_type], - p.device, p.length, p.mount_point)) + p.device, p.length)) def DeleteFiles(self, file_list): """Delete all files in file_list.""" diff --git a/tools/releasetools/ota_from_target_files b/tools/releasetools/ota_from_target_files index f838c220e588..d6939f52513b 100755 --- a/tools/releasetools/ota_from_target_files +++ b/tools/releasetools/ota_from_target_files @@ -313,9 +313,9 @@ def SignOutput(temp_zip_name, output_zip_name): whole_file=True) -def AppendAssertions(script, input_zip): - device = GetBuildProp("ro.product.device", input_zip) - script.AssertDevice(device) +#def AppendAssertions(script, input_zip): +# device = GetBuildProp("ro.product.device", input_zip) +# script.AssertDevice(device) def MakeRecoveryPatch(output_zip, recovery_img, boot_img): @@ -382,12 +382,12 @@ def WriteFullOTAPackage(input_zip, output_zip): metadata=metadata, info_dict=OPTIONS.info_dict) - if not OPTIONS.omit_prereq: - ts = GetBuildProp("ro.build.date.utc", input_zip) - script.AssertOlderBuild(ts) +# if not OPTIONS.omit_prereq: +# ts = GetBuildProp("ro.build.date.utc", input_zip) +# script.AssertOlderBuild(ts) - AppendAssertions(script, input_zip) - device_specific.FullOTA_Assertions() +# AppendAssertions(script, input_zip) +# device_specific.FullOTA_Assertions() script.ShowProgress(0.5, 0) @@ -399,7 +399,7 @@ def WriteFullOTAPackage(input_zip, output_zip): script.FormatPartition("/system") script.Mount("/system") - script.UnpackPackageDir("recovery", "/system") +# script.UnpackPackageDir("recovery", "/system") script.UnpackPackageDir("system", "/system") (symlinks, retouch_files) = CopySystemFiles(input_zip, output_zip) @@ -411,9 +411,9 @@ def WriteFullOTAPackage(input_zip, output_zip): boot_img = common.GetBootableImage("boot.img", "boot.img", OPTIONS.input_tmp, "BOOT") - recovery_img = common.GetBootableImage("recovery.img", "recovery.img", - OPTIONS.input_tmp, "RECOVERY") - MakeRecoveryPatch(output_zip, recovery_img, boot_img) +# recovery_img = common.GetBootableImage("recovery.img", "recovery.img", +# OPTIONS.input_tmp, "RECOVERY") +# MakeRecoveryPatch(output_zip, recovery_img, boot_img) Item.GetMetadata(input_zip) Item.Get("system").SetPermissions(script) @@ -553,11 +553,12 @@ def WriteIncrementalOTAPackage(target_zip, source_zip, output_zip): "/tmp/boot.img", "boot.img", OPTIONS.target_tmp, "BOOT") updating_boot = (source_boot.data != target_boot.data) - source_recovery = common.GetBootableImage( - "/tmp/recovery.img", "recovery.img", OPTIONS.source_tmp, "RECOVERY") - target_recovery = common.GetBootableImage( - "/tmp/recovery.img", "recovery.img", OPTIONS.target_tmp, "RECOVERY") - updating_recovery = (source_recovery.data != target_recovery.data) +# source_recovery = common.GetBootableImage( +# "/tmp/recovery.img", "recovery.img", OPTIONS.source_tmp, "RECOVERY") +# target_recovery = common.GetBootableImage( +# "/tmp/recovery.img", "recovery.img", OPTIONS.target_tmp, "RECOVERY") +# updating_recovery = (source_recovery.data != target_recovery.data) + updating_recovery = false # Here's how we divide up the progress bar: # 0.1 for verifying the start state (PatchCheck calls) @@ -565,8 +566,8 @@ def WriteIncrementalOTAPackage(target_zip, source_zip, output_zip): # 0.1 for unpacking verbatim files, symlinking, and doing the # device-specific commands. - AppendAssertions(script, target_zip) - device_specific.IncrementalOTA_Assertions() +# AppendAssertions(script, target_zip) +# device_specific.IncrementalOTA_Assertions() script.Print("Verifying current system...") @@ -696,9 +697,9 @@ def WriteIncrementalOTAPackage(target_zip, source_zip, output_zip): script.Print("Unpacking new files...") script.UnpackPackageDir("system", "/system") - if updating_recovery: - script.Print("Unpacking new recovery...") - script.UnpackPackageDir("recovery", "/system") +# if updating_recovery: +# script.Print("Unpacking new recovery...") +# script.UnpackPackageDir("recovery", "/system") script.Print("Symlinks and permissions...")