diff options
-rw-r--r-- | CleanSpec.mk | 6 | ||||
-rw-r--r-- | core/Makefile | 2 | ||||
-rw-r--r-- | core/base_rules.mk | 2 | ||||
-rw-r--r-- | core/clear_vars.mk | 1 | ||||
-rw-r--r-- | core/envsetup.mk | 17 | ||||
-rw-r--r-- | core/tasks/build_custom_images.mk | 64 | ||||
-rw-r--r-- | core/tasks/tools/build_custom_image.mk | 115 | ||||
-rw-r--r-- | core/version_defaults.mk | 2 | ||||
-rwxr-xr-x | target/board/generic_x86_64/BoardConfig.mk | 2 | ||||
-rw-r--r-- | tools/droiddoc/templates-sdk/docpage.cs | 4 | ||||
-rw-r--r-- | tools/releasetools/blockimgdiff.py | 22 | ||||
-rwxr-xr-x | tools/releasetools/build_image.py | 35 |
12 files changed, 235 insertions, 37 deletions
diff --git a/CleanSpec.mk b/CleanSpec.mk index edf0179..334b7d8 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -349,6 +349,12 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop) +# 5.1.1! +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) + + # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ diff --git a/core/Makefile b/core/Makefile index 3d22ce5..0b29943 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1444,7 +1444,7 @@ endif $(hide) echo "use_set_metadata=1" >> $(zip_root)/META/misc_info.txt $(hide) echo "multistage_support=1" >> $(zip_root)/META/misc_info.txt $(hide) echo "update_rename_support=1" >> $(zip_root)/META/misc_info.txt - $(hide) echo "blockimgdiff_versions=1,2,3" >> $(zip_root)/META/misc_info.txt + $(hide) echo "blockimgdiff_versions=1,2" >> $(zip_root)/META/misc_info.txt ifneq ($(OEM_THUMBPRINT_PROPERTIES),) # OTA scripts are only interested in fingerprint related properties $(hide) echo "oem_fingerprint_properties=$(OEM_THUMBPRINT_PROPERTIES)" >> $(zip_root)/META/misc_info.txt diff --git a/core/base_rules.mk b/core/base_rules.mk index 38f04f1..99107ab 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -116,6 +116,8 @@ ifeq ($(my_module_path),) partition_tag := _VENDOR else ifeq (true,$(LOCAL_OEM_MODULE)) partition_tag := _OEM + else ifeq (true,$(LOCAL_ODM_MODULE)) + partition_tag := _ODM else # The definition of should-install-to-system will be different depending # on which goal (e.g., sdk or just droid) is being built. diff --git a/core/clear_vars.mk b/core/clear_vars.mk index 7837ae3..ed7771d 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -138,6 +138,7 @@ LOCAL_PROTO_JAVA_OUTPUT_PARAMS:= LOCAL_NO_CRT:= LOCAL_PROPRIETARY_MODULE:= LOCAL_OEM_MODULE:= +LOCAL_ODM_MODULE:= LOCAL_PRIVILEGED_MODULE:= LOCAL_MODULE_OWNER:= LOCAL_CTS_TEST_PACKAGE:= diff --git a/core/envsetup.mk b/core/envsetup.mk index 75391e1..ee04557 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -111,6 +111,7 @@ endif TARGET_COPY_OUT_SYSTEM := system TARGET_COPY_OUT_DATA := data TARGET_COPY_OUT_OEM := oem +TARGET_COPY_OUT_ODM := odm TARGET_COPY_OUT_ROOT := root TARGET_COPY_OUT_RECOVERY := recovery ########################################### @@ -345,7 +346,7 @@ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_APPS := $(TARGET_OUT_VENDOR_APPS) TARGET_OUT_OEM := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_OEM) TARGET_OUT_OEM_EXECUTABLES := $(TARGET_OUT_OEM)/bin -ifneq ($(filter %64,$(TARGET_ARCH)),) +ifeq ($(TARGET_IS_64_BIT),true) TARGET_OUT_OEM_SHARED_LIBRARIES := $(TARGET_OUT_OEM)/lib64 else TARGET_OUT_OEM_SHARED_LIBRARIES := $(TARGET_OUT_OEM)/lib @@ -359,6 +360,20 @@ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_EXECUTABLES := $(TARGET_OUT_OEM_EXEC $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_SHARED_LIBRARIES := $(TARGET_OUT_OEM)/lib $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_APPS := $(TARGET_OUT_OEM_APPS) +TARGET_OUT_ODM := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ODM) +TARGET_OUT_ODM_EXECUTABLES := $(TARGET_OUT_ODM)/bin +ifeq ($(TARGET_IS_64_BIT),true) +TARGET_OUT_ODM_SHARED_LIBRARIES := $(TARGET_OUT_ODM)/lib64 +else +TARGET_OUT_ODM_SHARED_LIBRARIES := $(TARGET_OUT_ODM)/lib +endif +TARGET_OUT_ODM_APPS := $(TARGET_OUT_ODM)/app +TARGET_OUT_ODM_ETC := $(TARGET_OUT_ODM)/etc + +$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_EXECUTABLES := $(TARGET_OUT_ODM_EXECUTABLES) +$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_SHARED_LIBRARIES := $(TARGET_OUT_ODM)/lib +$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_APPS := $(TARGET_OUT_ODM_APPS) + TARGET_OUT_UNSTRIPPED := $(PRODUCT_OUT)/symbols TARGET_OUT_EXECUTABLES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/bin TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/lib diff --git a/core/tasks/build_custom_images.mk b/core/tasks/build_custom_images.mk new file mode 100644 index 0000000..8ebf89b --- /dev/null +++ b/core/tasks/build_custom_images.mk @@ -0,0 +1,64 @@ +# +# Copyright (C) 2015 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Build additional images requested by the product makefile. +# This script gives the ability to build multiple additional images and you can +# configure what modules/files to include in each image. +# 1. Define PRODUCT_CUSTOM_IMAGE_MAKEFILES in your product makefile. +# PRODUCT_CUSTOM_IMAGE_MAKEFILES is a list of makefiles. +# Each makefile configures an image. +# For image configuration makefile foo/bar/xyz.mk, the built image file name +# will be xyz.img. So make sure they won't conflict. +# 2. In each image's configuration makefile, you can define variables: +# - CUSTOM_IMAGE_MOUNT_POINT, the mount point, such as "oem", "odm" etc. +# - CUSTOM_IMAGE_PARTITION_SIZE +# - CUSTOM_IMAGE_FILE_SYSTEM_TYPE +# - CUSTOM_IMAGE_DICT_FILE, a text file defines a dictionary accepted by +# BuildImage() in tools/releasetools/build_image.py. +# - CUSTOM_IMAGE_MODULES, a list of module names you want to include in +# the image; Not only the module itself will be installed to proper path in +# the image, you can also piggyback additional files/directories with the +# module's LOCAL_PICKUP_FILES. +# - CUSTOM_IMAGE_COPY_FILES, a list of "<src>:<dest>" to be copied to the +# image. <dest> is relativ to the root of the image. +# - CUSTOM_IMAGE_SELINUX, set to "true" if the image supports selinux. +# - CUSTOM_IMAGE_SUPPORT_VERITY, set to "true" if the product supports verity. +# - CUSTOM_IMAGE_VERITY_BLOCK_DEVICE +# +# To build all those images, run "make custom_images". + +ifneq ($(filter $(MAKECMDGOALS),custom_images),) + +.PHONY: custom_images + +custom_image_parameter_variables := \ + CUSTOM_IMAGE_MOUNT_POINT \ + CUSTOM_IMAGE_PARTITION_SIZE \ + CUSTOM_IMAGE_FILE_SYSTEM_TYPE \ + CUSTOM_IMAGE_DICT_FILE \ + CUSTOM_IMAGE_MODULES \ + CUSTOM_IMAGE_COPY_FILES \ + CUSTOM_IMAGE_SELINUX \ + CUSTOM_IMAGE_SUPPORT_VERITY \ + CUSTOM_IMAGE_VERITY_BLOCK_DEVICE \ + +# We don't expect product makefile to inherit/override PRODUCT_CUSTOM_IMAGE_MAKEFILES, +# so we don't put it in the _product_var_list. +$(foreach mk, $(PRODUCT_CUSTOM_IMAGE_MAKEFILES),\ + $(eval my_custom_imag_makefile := $(mk))\ + $(eval include $(BUILD_SYSTEM)/tasks/tools/build_custom_image.mk)) + +endif diff --git a/core/tasks/tools/build_custom_image.mk b/core/tasks/tools/build_custom_image.mk new file mode 100644 index 0000000..e59ed42 --- /dev/null +++ b/core/tasks/tools/build_custom_image.mk @@ -0,0 +1,115 @@ +# +# Copyright (C) 2015 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +# Define rule to build one custom image. +# Input variables: my_custom_imag_makefile + +$(call clear-var-list, $(custom_image_parameter_variables)) + +include $(my_custom_imag_makefile) + +my_custom_image_name := $(basename $(notdir $(my_custom_imag_makefile))) + +intermediates := $(call intermediates-dir-for,PACKAGING,$(my_custom_image_name)) +my_built_custom_image := $(intermediates)/$(my_custom_image_name).img +my_staging_dir := $(intermediates)/$(CUSTOM_IMAGE_MOUNT_POINT) + +# Collect CUSTOM_IMAGE_MODULES's installd files and their PICKUP_FILES. +my_built_modules := +my_copy_pairs := +my_pickup_files := + +$(foreach m,$(CUSTOM_IMAGE_MODULES),\ + $(eval _pickup_files := $(strip $(ALL_MODULES.$(m).PICKUP_FILES)\ + $(ALL_MODULES.$(m)$(TARGET_2ND_ARCH_MODULE_SUFFIX).PICKUP_FILES)))\ + $(eval _built_files := $(strip $(ALL_MODULES.$(m).BUILT_INSTALLED)\ + $(ALL_MODULES.$(m)$(TARGET_2ND_ARCH_MODULE_SUFFIX).BUILT_INSTALLED)))\ + $(if $(_pickup_files)$(_built_files),,\ + $(warning Unknown installed file for module '$(m)'))\ + $(eval my_pickup_files += $(_pickup_files))\ + $(foreach i, $(_built_files),\ + $(eval bui_ins := $(subst :,$(space),$(i)))\ + $(eval ins := $(word 2,$(bui_ins)))\ + $(if $(filter $(TARGET_OUT_ROOT)/%,$(ins)),\ + $(eval bui := $(word 1,$(bui_ins)))\ + $(eval my_built_modules += $(bui))\ + $(eval my_copy_dest := $(patsubst $(PRODUCT_OUT)/%,%,$(ins)))\ + $(eval my_copy_dest := $(subst /,$(space),$(my_copy_dest)))\ + $(eval my_copy_dest := $(wordlist 2,999,$(my_copy_dest)))\ + $(eval my_copy_dest := $(subst $(space),/,$(my_copy_dest)))\ + $(eval my_copy_pairs += $(bui):$(my_staging_dir)/$(my_copy_dest)))\ + )) + +# Collect CUSTOM_IMAGE_COPY_FILES. +my_image_copy_files := +$(foreach f,$(CUSTOM_IMAGE_COPY_FILES),\ + $(eval pair := $(subst :,$(space),$(f)))\ + $(eval src := $(word 1,$(pair)))\ + $(eval my_image_copy_files += $(src))\ + $(eval my_copy_pairs += $(src):$(my_staging_dir)/$(word 2,$(pair)))) + +$(my_built_custom_image): PRIVATE_INTERMEDIATES := $(intermediates) +$(my_built_custom_image): PRIVATE_MOUNT_POINT := $(CUSTOM_IMAGE_MOUNT_POINT) +$(my_built_custom_image): PRIVATE_PARTITION_SIZE := $(CUSTOM_IMAGE_PARTITION_SIZE) +$(my_built_custom_image): PRIVATE_FILE_SYSTEM_TYPE := $(CUSTOM_IMAGE_FILE_SYSTEM_TYPE) +$(my_built_custom_image): PRIVATE_STAGING_DIR := $(my_staging_dir) +$(my_built_custom_image): PRIVATE_COPY_PAIRS := $(my_copy_pairs) +$(my_built_custom_image): PRIVATE_PICKUP_FILES := $(my_pickup_files) +$(my_built_custom_image): PRIVATE_SELINUX := $(CUSTOM_IMAGE_SELINUX) +$(my_built_custom_image): PRIVATE_SUPPORT_VERITY := $(CUSTOM_IMAGE_SUPPORT_VERITY) +$(my_built_custom_image): PRIVATE_VERITY_KEY := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY) +$(my_built_custom_image): PRIVATE_VERITY_BLOCK_DEVICE := $(CUSTOM_IMAGE_VERITY_BLOCK_DEVICE) +$(my_built_custom_image): PRIVATE_DICT_FILE := $(CUSTOM_IMAGE_DICT_FILE) +$(my_built_custom_image): $(INTERNAL_USERIMAGES_DEPS) $(my_built_modules) $(my_image_copy_files) \ + $(CUSTOM_IMAGE_DICT_FILE) + @echo "Build image $@" + $(hide) rm -rf $(PRIVATE_INTERMEDIATES) && mkdir -p $(PRIVATE_INTERMEDIATES) + $(hide) rm -rf $(PRIVATE_STAGING_DIR) && mkdir -p $(PRIVATE_STAGING_DIR) + # Copy all the files. + $(hide) $(foreach p,$(PRIVATE_COPY_PAIRS),\ + $(eval pair := $(subst :,$(space),$(p)))\ + mkdir -p $(dir $(word 2,$(pair)));\ + cp -Rf $(word 1,$(pair)) $(word 2,$(pair));) + $(if $($(PRIVATE_PICKUP_FILES)),$(hide) cp -Rf $(PRIVATE_PICKUP_FILES) $(PRIVATE_STAGING_DIR)) + # Generate the dict. + $(hide) echo "# For all accepted properties, see BuildImage() in tools/releasetools/build_image.py" > $(PRIVATE_INTERMEDIATES)/image_info.txt + $(hide) echo "mount_point=$(PRIVATE_MOUNT_POINT)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt + $(hide) echo "fs_type=$(PRIVATE_FILE_SYSTEM_TYPE)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt + $(hide) echo "partition_size=$(PRIVATE_PARTITION_SIZE)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt + $(if $(PRIVATE_SELINUX),$(hide) echo "selinux_fc=$(SELINUX_FC)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt) + $(if $(PRIVATE_SUPPORT_VERITY),\ + $(hide) echo "verity=$(PRIVATE_SUPPORT_VERITY)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt;\ + echo "verity_key=$(PRIVATE_VERITY_KEY)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt;\ + echo "verity_signer_cmd=$(VERITY_SIGNER)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt;\ + echo "verity_block_device=$(PRIVATE_VERITY_BLOCK_DEVICE)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt) + $(if $(PRIVATE_DICT_FILE),\ + $(hide) echo "# Properties from $(PRIVATE_DICT_FILE)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt;\ + cat $(PRIVATE_DICT_FILE) >> $(PRIVATE_INTERMEDIATES)/image_info.txt) + # Generate the image. + $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH \ + ./build/tools/releasetools/build_image.py \ + $(PRIVATE_STAGING_DIR) $(PRIVATE_INTERMEDIATES)/image_info.txt $@ + +my_installed_custom_image := $(PRODUCT_OUT)/$(notdir $(my_built_custom_image)) +$(my_installed_custom_image) : $(my_built_custom_image) + $(call copy-file-to-new-target-with-cp) + +.PHONY: $(my_custom_image_name) +custom_images $(my_custom_image_name) : $(my_installed_custom_image) + +# Archive the built image. +$(call dist-for-goals, $(my_custom_image_name) custom_images,$(my_installed_custom_image)) diff --git a/core/version_defaults.mk b/core/version_defaults.mk index f3b2297..cc63286 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -41,7 +41,7 @@ ifeq "" "$(PLATFORM_VERSION)" # which is the version that we reveal to the end user. # Update this value when the platform version changes (rather # than overriding it somewhere else). Can be an arbitrary string. - PLATFORM_VERSION := 5.1.51 + PLATFORM_VERSION := 5.1.1 endif ifeq "" "$(PLATFORM_SDK_VERSION)" diff --git a/target/board/generic_x86_64/BoardConfig.mk b/target/board/generic_x86_64/BoardConfig.mk index 295ee2b..192bbb2 100755 --- a/target/board/generic_x86_64/BoardConfig.mk +++ b/target/board/generic_x86_64/BoardConfig.mk @@ -41,7 +41,7 @@ BUILD_EMULATOR_OPENGL := true USE_OPENGL_RENDERER := true TARGET_USERIMAGES_USE_EXT4 := true -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824 # 1GB +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824 # 1GB BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016 BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 diff --git a/tools/droiddoc/templates-sdk/docpage.cs b/tools/droiddoc/templates-sdk/docpage.cs index d064222..09d48c8 100644 --- a/tools/droiddoc/templates-sdk/docpage.cs +++ b/tools/droiddoc/templates-sdk/docpage.cs @@ -195,8 +195,8 @@ include:"header.cs" ?> <?cs include:"trailer.cs" ?> <script src="https://developer.android.com/ytblogger_lists_unified.js" type="text/javascript"></script> <script src="<?cs var:toroot ?>jd_lists_unified.js?v=8" type="text/javascript"></script> - <script src="<?cs var:toroot ?>jd_extras.js?v=9" type="text/javascript"></script> - <script src="<?cs var:toroot ?>jd_collections.js?v=9" type="text/javascript"></script> + <script src="<?cs var:toroot ?>jd_extras.js?v=10" type="text/javascript"></script> + <script src="<?cs var:toroot ?>jd_collections.js?v=10" type="text/javascript"></script> <script src="<?cs var:toroot ?>jd_tag_helpers.js?v=5" type="text/javascript"></script> </body> diff --git a/tools/releasetools/blockimgdiff.py b/tools/releasetools/blockimgdiff.py index 75379cd..925d38b 100644 --- a/tools/releasetools/blockimgdiff.py +++ b/tools/releasetools/blockimgdiff.py @@ -200,7 +200,7 @@ class Transfer(object): # original image. class BlockImageDiff(object): - def __init__(self, tgt, src=None, threads=None, version=3): + def __init__(self, tgt, src=None, threads=None, version=2): if threads is None: threads = multiprocessing.cpu_count() // 2 if threads == 0: @@ -211,7 +211,7 @@ class BlockImageDiff(object): self.src_basenames = {} self.src_numpatterns = {} - assert version in (1, 2, 3) + assert version in (1, 2) self.tgt = tgt if src is None: @@ -295,15 +295,7 @@ class BlockImageDiff(object): next_stash_id += 1 stashes[s] = sid stashed_blocks += sr.size() - if self.version == 2: - out.append("stash %d %s\n" % (sid, sr.to_string_raw())) - else: - sh = self.HashBlocks(self.src, sr) - if sh in stashes: - stashes[sh] += 1 - else: - stashes[sh] = 1 - out.append("stash %s %s\n" % (sh, sr.to_string_raw())) + out.append("stash %d %s\n" % (sid, sr.to_string_raw())) if stashed_blocks > max_stashed_blocks: max_stashed_blocks = stashed_blocks @@ -329,7 +321,6 @@ class BlockImageDiff(object): sid = stashes.pop(s) stashed_blocks -= sr.size() unstashed_src_ranges = unstashed_src_ranges.subtract(sr) - sh = self.HashBlocks(self.src, sr) sr = xf.src_ranges.map_within(sr) mapped_stashes.append(sr) if self.version == 2: @@ -356,7 +347,7 @@ class BlockImageDiff(object): src_str = " ".join(src_str) - # all versions: + # both versions: # zero <rangeset> # new <rangeset> # erase <rangeset> @@ -430,9 +421,8 @@ class BlockImageDiff(object): else: raise ValueError("unknown transfer style '%s'\n" % xf.style) - if free_string: - out.append("".join(free_string)) - + if free_string: + out.append("".join(free_string)) # sanity check: abort if we're going to need more than 512 MB if # stash space diff --git a/tools/releasetools/build_image.py b/tools/releasetools/build_image.py index 4e78acb..33540d2 100755 --- a/tools/releasetools/build_image.py +++ b/tools/releasetools/build_image.py @@ -405,23 +405,28 @@ def main(argv): out_file = argv[2] glob_dict = LoadGlobalDict(glob_dict_file) - image_filename = os.path.basename(out_file) - mount_point = "" - if image_filename == "system.img": - mount_point = "system" - elif image_filename == "userdata.img": - mount_point = "data" - elif image_filename == "cache.img": - mount_point = "cache" - elif image_filename == "vendor.img": - mount_point = "vendor" - elif image_filename == "oem.img": - mount_point = "oem" + if "mount_point" in glob_dict: + # The caller knows the mount point and provides a dictionay needed by BuildImage(). + image_properties = glob_dict else: - print >> sys.stderr, "error: unknown image file name ", image_filename - exit(1) + image_filename = os.path.basename(out_file) + mount_point = "" + if image_filename == "system.img": + mount_point = "system" + elif image_filename == "userdata.img": + mount_point = "data" + elif image_filename == "cache.img": + mount_point = "cache" + elif image_filename == "vendor.img": + mount_point = "vendor" + elif image_filename == "oem.img": + mount_point = "oem" + else: + print >> sys.stderr, "error: unknown image file name ", image_filename + exit(1) + + image_properties = ImagePropFromGlobalDict(glob_dict, mount_point) - image_properties = ImagePropFromGlobalDict(glob_dict, mount_point) if not BuildImage(in_dir, image_properties, out_file): print >> sys.stderr, "error: failed to build %s from %s" % (out_file, in_dir) |