Merge tag 'android-14.0.0_r54' into leaf-3.2
Android 14.0.0 release 54
* tag 'android-14.0.0_r54':
Version bump to AP2A.240705.005.A1 [core/build_id.mk]
Version bump to AP2A.240705.005 [core/build_id.mk]
Version bump to AP2A.240605.024.A1 [core/build_id.mk]
Version bump to AP2A.240705.004 [core/build_id.mk]
Version bump to AP2A.240705.001.A1 [core/build_id.mk]
ota_from_target_files: read correct api level
Version bump to AP2A.240705.002 [core/build_id.mk]
Version bump to AP2A.240705.001 [core/build_id.mk]
Change-Id: Ifc7849eb9adb712862654d92841e0eadce435b3a
diff --git a/core/Makefile b/core/Makefile
index 084a500..ad5c85f 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -1338,10 +1338,19 @@
--os_version $(PLATFORM_VERSION_LAST_STABLE) \
--os_patch_level $(PLATFORM_SECURITY_PATCH)
+INSTALLED_DTIMAGE_TARGET := $(PRODUCT_OUT)/dt.img
+
+ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DT)),true)
+ INTERNAL_BOOTIMAGE_ARGS += --dt $(INSTALLED_DTIMAGE_TARGET)
+ BOOTIMAGE_EXTRA_DEPS := $(INSTALLED_DTIMAGE_TARGET)
+endif
+
# Define these only if we are building boot
ifdef BUILDING_BOOT_IMAGE
INSTALLED_BOOTIMAGE_TARGET := $(BUILT_BOOTIMAGE_TARGET)
+ifndef BOARD_CUSTOM_BOOTIMG_MK
+
ifeq ($(TARGET_BOOTIMAGE_USE_EXT2),true)
$(error TARGET_BOOTIMAGE_USE_EXT2 is not supported anymore)
endif # TARGET_BOOTIMAGE_USE_EXT2
@@ -1356,7 +1365,7 @@
$(call build_boot_from_kernel_avb_enabled,$(1),$(kernel))
endef
-$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(AVBTOOL) $(INTERNAL_BOOTIMAGE_FILES) $(BOARD_AVB_BOOT_KEY_PATH)
+$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(AVBTOOL) $(INTERNAL_BOOTIMAGE_FILES) $(BOARD_AVB_BOOT_KEY_PATH) $(BOOTIMAGE_EXTRA_DEPS)
$(call pretty,"Target boot image: $@")
$(call build_boot_board_avb_enabled,$@)
@@ -1379,7 +1388,7 @@
$(call assert-max-image-size,$(1),$(call get-bootimage-partition-size,$(1),boot))
endef
-$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(VBOOT_SIGNER) $(FUTILITY)
+$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(VBOOT_SIGNER) $(FUTILITY) $(BOOTIMAGE_EXTRA_DEPS)
$(call pretty,"Target boot image: $@")
$(call build_boot_supports_vboot,$@)
@@ -1401,7 +1410,7 @@
$(call assert-max-image-size,$1,$(call get-bootimage-partition-size,$(1),boot))
endef
-$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES)
+$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(BOOTIMAGE_EXTRA_DEPS)
$(call pretty,"Target boot image: $@")
$(call build_boot_novboot,$@)
@@ -1416,6 +1425,7 @@
$(foreach b,$(INSTALLED_BOOTIMAGE_TARGET),$(call build_boot_novboot,$(b)))
endif # BOARD_AVB_ENABLE
+endif # BOARD_CUSTOM_BOOTIMG_MK not defined
endif # BUILDING_BOOT_IMAGE
else # TARGET_NO_KERNEL == "true"
@@ -1428,7 +1438,7 @@
ifeq ($(BOARD_AVB_ENABLE),true)
$(INSTALLED_BOOTIMAGE_TARGET): PRIVATE_WORKING_DIR := $(call intermediates-dir-for,PACKAGING,prebuilt_bootimg)
-$(INSTALLED_BOOTIMAGE_TARGET): $(INTERNAL_PREBUILT_BOOTIMAGE) $(AVBTOOL) $(BOARD_AVB_BOOT_KEY_PATH) $(UNPACK_BOOTIMG)
+$(INSTALLED_BOOTIMAGE_TARGET): $(INTERNAL_PREBUILT_BOOTIMAGE) $(AVBTOOL) $(BOARD_AVB_BOOT_KEY_PATH) $(UNPACK_BOOTIMG) $(BOOTIMAGE_EXTRA_DEPS)
cp $(INTERNAL_PREBUILT_BOOTIMAGE) $@
$(UNPACK_BOOTIMG) --boot_img $(INTERNAL_PREBUILT_BOOTIMAGE) --out $(PRIVATE_WORKING_DIR)
chmod +w $@
@@ -2408,6 +2418,7 @@
# for the recovery image
recovery_kernel := $(firstword $(INSTALLED_KERNEL_TARGET))
recovery_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.img
+recovery_uncompressed_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.cpio
recovery_resources_common := bootable/recovery/res
# Set recovery_density to a density bucket based on TARGET_SCREEN_DENSITY, PRODUCT_AAPT_PREF_CONFIG,
@@ -2691,7 +2702,12 @@
BOARD_RECOVERY_MKBOOTIMG_ARGS := $(BOARD_MKBOOTIMG_ARGS)
endif
-$(INTERNAL_RECOVERY_RAMDISK_FILES_TIMESTAMP): $(MKBOOTFS) $(COMPRESSION_COMMAND_DEPS) \
+ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DT)),true)
+ INTERNAL_RECOVERYIMAGE_ARGS += --dt $(INSTALLED_DTIMAGE_TARGET)
+ RECOVERYIMAGE_EXTRA_DEPS := $(INSTALLED_DTIMAGE_TARGET)
+endif
+
+$(INTERNAL_RECOVERY_RAMDISK_FILES_TIMESTAMP): $(MKBOOTFS) \
$(INTERNAL_ROOT_FILES) \
$(INSTALLED_RAMDISK_TARGET) \
$(INTERNAL_RECOVERYIMAGE_FILES) \
@@ -2730,8 +2746,13 @@
$(BOARD_RECOVERY_IMAGE_PREPARE)
$(hide) touch $@
-$(recovery_ramdisk): $(INTERNAL_RECOVERY_RAMDISK_FILES_TIMESTAMP)
- $(MKBOOTFS) -d $(TARGET_OUT) $(TARGET_RECOVERY_ROOT_OUT) | $(COMPRESSION_COMMAND) > $(recovery_ramdisk)
+$(recovery_uncompressed_ramdisk): $(INTERNAL_RECOVERY_RAMDISK_FILES_TIMESTAMP)
+ @echo ----- Making uncompressed recovery ramdisk ------
+ $(MKBOOTFS) $(TARGET_RECOVERY_ROOT_OUT) > $@
+
+$(recovery_ramdisk): $(recovery_uncompressed_ramdisk) $(COMPRESSION_COMMAND_DEPS)
+ @echo ----- Making compressed recovery ramdisk ------
+ $(COMPRESSION_COMMAND) < $(recovery_uncompressed_ramdisk) > $@
# $(1): output file
# $(2): optional kernel file
@@ -2787,9 +2808,13 @@
UNMOUNTED_NOTICE_VENDOR_DEPS+= $(INSTALLED_BOOTIMAGE_TARGET)
endif # BOARD_USES_RECOVERY_AS_BOOT
-$(INSTALLED_RECOVERYIMAGE_TARGET): $(recoveryimage-deps)
+ifndef BOARD_CUSTOM_BOOTIMG_MK
+$(INSTALLED_RECOVERYIMAGE_TARGET): $(recoveryimage-deps) $(RECOVERYIMAGE_EXTRA_DEPS)
$(call build-recoveryimage-target, $@, \
$(if $(filter true, $(BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE)),, $(recovery_kernel)))
+else
+INTERNAL_RECOVERYIMAGE_ARGS += --kernel $(recovery_kernel)
+endif # BOARD_CUSTOM_BOOTIMG_MK
ifdef RECOVERY_RESOURCE_ZIP
$(RECOVERY_RESOURCE_ZIP): $(INSTALLED_RECOVERYIMAGE_TARGET) | $(ZIPTIME)
@@ -2825,6 +2850,9 @@
$(error MTD device is no longer supported and thus BOARD_NAND_SPARE_SIZE is deprecated.)
endif
+ifdef BOARD_CUSTOM_BOOTIMG_MK
+include $(BOARD_CUSTOM_BOOTIMG_MK)
+endif
# -----------------------------------------------------------------
# Build debug ramdisk and debug boot image.
@@ -6417,6 +6445,9 @@
ifdef BOARD_KERNEL_PAGESIZE
echo "$(BOARD_KERNEL_PAGESIZE)" > $(zip_root)/$(PRIVATE_RECOVERY_OUT)/pagesize
endif
+ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DT)),true)
+ $(hide) $(ACP) $(INSTALLED_DTIMAGE_TARGET) $(zip_root)/$(PRIVATE_RECOVERY_OUT)/dt
+endif
endif # not (BUILDING_VENDOR_BOOT_IMAGE and BOARD_USES_RECOVERY_AS_BOOT)
endif # INSTALLED_RECOVERYIMAGE_TARGET defined or BOARD_USES_RECOVERY_AS_BOOT is true
@# Components of the boot image
@@ -6447,6 +6478,9 @@
ifdef BOARD_KERNEL_PAGESIZE
echo "$(BOARD_KERNEL_PAGESIZE)" > $(zip_root)/BOOT/pagesize
endif
+ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DT)),true)
+ $(hide) $(ACP) $(INSTALLED_DTIMAGE_TARGET) $(zip_root)/BOOT/dt
+endif
endif # INSTALLED_VENDOR_BOOTIMAGE_TARGET == "" && BOARD_USES_GENERIC_KERNEL_IMAGE != true
endif # BOARD_USES_RECOVERY_AS_BOOT not true
$(hide) $(foreach t,$(INSTALLED_RADIOIMAGE_TARGET),\
@@ -6496,6 +6530,12 @@
echo "$(BOARD_KERNEL_PAGESIZE)" > $(zip_root)/VENDOR_KERNEL_BOOT/pagesize
endif
endif # INSTALLED_VENDOR_BOOTIMAGE_TARGET
+ifdef BOARD_CUSTOM_BOOTIMG
+ @# Prebuilt boot images
+ $(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/
+endif
ifdef BUILDING_SYSTEM_IMAGE
@# Contents of the system image
$(hide) $(call package_files-copy-root, \
diff --git a/core/binary.mk b/core/binary.mk
index 6dab49c..87e901f 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -44,6 +44,26 @@
my_soong_problems :=
+# Automatically replace the old-style kernel header include with a dependency
+# on the generated_kernel_headers header library
+ifneq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,$(LOCAL_C_INCLUDES)))
+ LOCAL_C_INCLUDES := $(patsubst $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,,$(LOCAL_C_INCLUDES))
+ LOCAL_HEADER_LIBRARIES += generated_kernel_headers
+endif
+
+# Some qcom binaries use this weird -isystem include...
+ifneq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,$(LOCAL_CFLAGS)))
+ LOCAL_CFLAGS := $(patsubst -isystem $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,,$(LOCAL_CFLAGS))
+ LOCAL_HEADER_LIBRARIES += generated_kernel_headers
+endif
+
+# Remove KERNEL_OBJ/usr from any LOCAL_ADDITIONAL_DEPENDENCIES, we will
+# just include generated_kernel_headers which already has the proper
+# dependency
+ifneq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr,$(LOCAL_ADDITIONAL_DEPENDENCIES)))
+ LOCAL_ADDITIONAL_DEPENDENCIES := $(patsubst $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr,,$(LOCAL_ADDITIONAL_DEPENDENCIES))
+endif
+
# The following LOCAL_ variables will be modified in this file.
# Because the same LOCAL_ variables may be used to define modules for both 1st arch and 2nd arch,
# we can't modify them in place.
@@ -1368,6 +1388,11 @@
$(foreach f,$(my_tracked_src_files),$(eval my_src_file_obj_$(s):=))
my_tracked_src_files :=
+## Allow a device's own headers to take precedence over global ones
+ifneq ($(TARGET_SPECIFIC_HEADER_PATH),)
+my_c_includes := $(TOPDIR)$(TARGET_SPECIFIC_HEADER_PATH) $(my_c_includes)
+endif
+
my_c_includes += $(TOPDIR)$(LOCAL_PATH) $(intermediates) $(generated_sources_dir)
my_c_includes := $(foreach inc,$(my_c_includes),$(call clean-path,$(inc)))
diff --git a/core/board_config.mk b/core/board_config.mk
index 6fa9ad9..79c99ac 100644
--- a/core/board_config.mk
+++ b/core/board_config.mk
@@ -224,6 +224,7 @@
$(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)/BoardConfig.mk \
device/generic/goldfish/board/$(TARGET_DEVICE)/BoardConfig.mk \
device/google/cuttlefish/board/$(TARGET_DEVICE)/BoardConfig.mk \
+ vendor/*/build/target/board/$(TARGET_DEVICE)/BoardConfig.mk \
$(shell test -d device && find -L device -maxdepth 4 -path '*/$(TARGET_DEVICE)/BoardConfig.mk') \
$(shell test -d vendor && find -L vendor -maxdepth 4 -path '*/$(TARGET_DEVICE)/BoardConfig.mk') \
)))
diff --git a/core/config.mk b/core/config.mk
index 546858a..304b44f 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -442,6 +442,8 @@
# See envsetup.mk for a description of SCAN_EXCLUDE_DIRS
FIND_LEAVES_EXCLUDES := $(addprefix --prune=, $(SCAN_EXCLUDE_DIRS) .repo .git)
+-include vendor/leaf/config/BoardConfigLeaf.mk
+
# The build system exposes several variables for where to find the kernel
# headers:
# TARGET_DEVICE_KERNEL_HEADERS is automatically created for the current
diff --git a/core/main.mk b/core/main.mk
index c1cafc0..9beb1ba 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -489,6 +489,9 @@
ADDITIONAL_SYSTEM_PROPERTIES += ro.force.debuggable=0
# ------------------------------------------------------------
+# Include vendor specific additions to build properties
+-include vendor/leaf/build/core/main.mk
+# ------------------------------------------------------------
# Define a function that, given a list of module tags, returns
# non-empty if that module should be installed in /system.
diff --git a/core/product.mk b/core/product.mk
index d64dde2..20a73e6 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -564,9 +564,11 @@
# Modified internally in the build system
_readonly_late_variables += \
+ PRODUCT_CFI_INCLUDE_PATHS \
PRODUCT_COPY_FILES \
PRODUCT_DEX_PREOPT_NEVER_ALLOW_STRIPPING \
PRODUCT_DEX_PREOPT_BOOT_FLAGS \
+ PRODUCT_SOONG_NAMESPACES
_readonly_early_variables := $(filter-out $(_readonly_late_variables),$(_product_var_list))
diff --git a/core/product_config.mk b/core/product_config.mk
index 63eedbf..0cb3d0a 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -496,7 +496,7 @@
# Show a warning wall of text if non-compliance-GSI products set this option.
ifdef PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT
- ifeq (,$(filter gsi_arm gsi_arm64 gsi_x86 gsi_x86_64 gsi_car_arm64 gsi_car_x86_64 gsi_tv_arm gsi_tv_arm64,$(PRODUCT_NAME)))
+ ifeq (,$(filter %gsi_arm %gsi_arm64 %gsi_x86 %gsi_x86_64 %gsi_car_arm64 %gsi_car_x86_64 %gsi_tv_arm %gsi_tv_arm64,$(PRODUCT_NAME)))
$(warning PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT is set but \
PRODUCT_NAME ($(PRODUCT_NAME)) doesn't look like a GSI for compliance \
testing. This is a special configuration for compliance GSI, so do make \
diff --git a/core/soong_config.mk b/core/soong_config.mk
index b43a952..d904c2a 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -146,6 +146,7 @@
$(call add_json_bool, ArtUseReadBarrier, $(call invert_bool,$(filter false,$(PRODUCT_ART_USE_READ_BARRIER))))
$(call add_json_str, BtConfigIncludeDir, $(BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR))
$(call add_json_list, DeviceKernelHeaders, $(TARGET_DEVICE_KERNEL_HEADERS) $(TARGET_BOARD_KERNEL_HEADERS) $(TARGET_PRODUCT_KERNEL_HEADERS))
+$(call add_json_str, TargetSpecificHeaderPath, $(TARGET_SPECIFIC_HEADER_PATH))
$(call add_json_str, VendorApiLevel, $(BOARD_API_LEVEL))
ifeq ($(KEEP_VNDK),true)
$(call add_json_str, DeviceVndkVersion, $(BOARD_VNDK_VERSION))
diff --git a/envsetup.sh b/envsetup.sh
index db21188..cd58f81 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -811,6 +811,11 @@
# Split string on the '-' character.
IFS="-" read -r product release variant <<< "$selection"
+ if [ -z "$variant" ]; then
+ variant=$release
+ release=$(ls -1 -I trunk -I root $(gettop)/build/release/aconfig/)
+ fi
+
if [[ -z "$product" ]] || [[ -z "$release" ]] || [[ -z "$variant" ]]
then
echo
diff --git a/target/board/BoardConfigMainlineCommon.mk b/target/board/BoardConfigMainlineCommon.mk
index c3878b8..91da572 100644
--- a/target/board/BoardConfigMainlineCommon.mk
+++ b/target/board/BoardConfigMainlineCommon.mk
@@ -6,8 +6,6 @@
TARGET_NO_BOOTLOADER := true
TARGET_NO_RECOVERY := true
-BOARD_EXT4_SHARE_DUP_BLOCKS := true
-
TARGET_USERIMAGES_USE_EXT4 := true
# Mainline devices must have /system_ext, /vendor and /product partitions.
diff --git a/target/product/aosp_product.mk b/target/product/aosp_product.mk
index f72f2df..2636ae4 100644
--- a/target/product/aosp_product.mk
+++ b/target/product/aosp_product.mk
@@ -39,4 +39,4 @@
# Telephony:
# Provide a APN configuration to GSI product
PRODUCT_COPY_FILES += \
- device/sample/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
+ vendor/leaf/etc/apns-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index 5969cc8..0cc02dc 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -82,7 +82,6 @@
CtsShimPrivPrebuilt \
debuggerd\
device_config \
- DeviceDiagnostics \
dmctl \
dnsmasq \
dmesgd \
@@ -438,8 +437,7 @@
PRODUCT_COPY_FILES += \
system/core/rootdir/init.usb.rc:system/etc/init/hw/init.usb.rc \
- system/core/rootdir/init.usb.configfs.rc:system/etc/init/hw/init.usb.configfs.rc \
- system/core/rootdir/etc/hosts:system/etc/hosts
+ system/core/rootdir/init.usb.configfs.rc:system/etc/init/hw/init.usb.configfs.rc
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc
PRODUCT_VENDOR_PROPERTIES += ro.zygote?=zygote32
diff --git a/target/product/base_vendor.mk b/target/product/base_vendor.mk
index ec3de75..f320c49 100644
--- a/target/product/base_vendor.mk
+++ b/target/product/base_vendor.mk
@@ -17,7 +17,6 @@
# Base modules and settings for recovery.
PRODUCT_PACKAGES += \
adbd.recovery \
- android.hardware.health@2.0-impl-default.recovery \
cgroups.recovery.json \
charger.recovery \
init_second_stage.recovery \
diff --git a/target/product/full_base_telephony.mk b/target/product/full_base_telephony.mk
index d8a54cd..bac6f42 100644
--- a/target/product/full_base_telephony.mk
+++ b/target/product/full_base_telephony.mk
@@ -24,7 +24,7 @@
ro.com.android.dataroaming?=true
PRODUCT_COPY_FILES := \
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml \
+ vendor/leaf/etc/apns-conf.xml:system/etc/apns-conf.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
diff --git a/target/product/generic_system.mk b/target/product/generic_system.mk
index 4c3702a..7aff62c 100644
--- a/target/product/generic_system.mk
+++ b/target/product/generic_system.mk
@@ -73,7 +73,6 @@
android.hardware.radio.config@1.0 \
android.hardware.radio.deprecated@1.0 \
android.hardware.secure_element@1.0 \
- android.hardware.wifi \
libaudio-resampler \
libaudiohal \
libdrm \
diff --git a/tools/releasetools/build_image.py b/tools/releasetools/build_image.py
index a7b1d8c..92e6f7f 100755
--- a/tools/releasetools/build_image.py
+++ b/tools/releasetools/build_image.py
@@ -312,7 +312,7 @@
base_fs_file = ConvertBlockMapToBaseFs(prop_dict["base_fs_file"])
build_command.extend(["-d", base_fs_file])
build_command.extend(["-L", prop_dict["mount_point"]])
- if "extfs_inode_count" in prop_dict:
+ if "extfs_inode_count" in prop_dict and int(prop_dict["extfs_inode_count"]) >= 0:
build_command.extend(["-i", prop_dict["extfs_inode_count"]])
if "extfs_rsv_pct" in prop_dict:
build_command.extend(["-M", prop_dict["extfs_rsv_pct"]])
@@ -606,19 +606,20 @@
size = common.RoundUpTo4K(size)
else:
size = ((size + block_size - 1) // block_size) * block_size
- extfs_inode_count = prop_dict["extfs_inode_count"]
- inodes = int(fs_dict.get("Inode count", extfs_inode_count))
- inodes -= int(fs_dict.get("Free inodes", "0"))
- # add .2% margin or 1 inode, whichever is greater
- spare_inodes = inodes * 2 // 1000
- min_spare_inodes = 1
- if spare_inodes < min_spare_inodes:
- spare_inodes = min_spare_inodes
- inodes += spare_inodes
- prop_dict["extfs_inode_count"] = str(inodes)
+ if int(prop_dict["extfs_inode_count"]) >= 0:
+ extfs_inode_count = prop_dict["extfs_inode_count"]
+ inodes = int(fs_dict.get("Inode count", extfs_inode_count))
+ inodes -= int(fs_dict.get("Free inodes", "0"))
+ # add .2% margin or 1 inode, whichever is greater
+ spare_inodes = inodes * 2 // 1000
+ min_spare_inodes = 1
+ if spare_inodes < min_spare_inodes:
+ spare_inodes = min_spare_inodes
+ inodes += spare_inodes
+ prop_dict["extfs_inode_count"] = str(inodes)
+ logger.info(
+ "Allocating %d Inodes for %s.", inodes, out_file)
prop_dict["partition_size"] = str(size)
- logger.info(
- "Allocating %d Inodes for %s.", inodes, out_file)
elif fs_type.startswith("f2fs") and prop_dict.get("f2fs_compress") == "true":
prop_dict["partition_size"] = str(size)
prop_dict["image_size"] = str(size)
diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py
index bf7be98..3996f13 100644
--- a/tools/releasetools/common.py
+++ b/tools/releasetools/common.py
@@ -1753,6 +1753,11 @@
cmd.append("--pagesize")
cmd.append(open(fn).read().rstrip("\n"))
+ fn = os.path.join(sourcedir, "dt")
+ if os.access(fn, os.F_OK):
+ cmd.append("--dt")
+ cmd.append(fn)
+
if partition_name == "recovery":
args = info_dict.get("recovery_mkbootimg_args")
if not args:
diff --git a/tools/releasetools/non_ab_ota.py b/tools/releasetools/non_ab_ota.py
index 667891c..4ca976a 100644
--- a/tools/releasetools/non_ab_ota.py
+++ b/tools/releasetools/non_ab_ota.py
@@ -143,9 +143,9 @@
assert HasRecoveryPatch(input_zip, info_dict=OPTIONS.info_dict)
# Assertions (e.g. downgrade check, device properties check).
- ts = target_info.GetBuildProp("ro.build.date.utc")
- ts_text = target_info.GetBuildProp("ro.build.date")
- script.AssertOlderBuild(ts, ts_text)
+ #ts = target_info.GetBuildProp("ro.build.date.utc")
+ #ts_text = target_info.GetBuildProp("ro.build.date")
+ #script.AssertOlderBuild(ts, ts_text)
target_info.WriteDeviceAssertions(script, OPTIONS.oem_no_mount)
device_specific.FullOTA_Assertions()
@@ -406,27 +406,8 @@
if updating_boot:
boot_type, boot_device_expr = common.GetTypeAndDeviceExpr("/boot",
source_info)
- d = common.Difference(target_boot, source_boot, "bsdiff")
- _, _, d = d.ComputePatch()
- if d is None:
- include_full_boot = True
- common.ZipWriteStr(output_zip, "boot.img", target_boot.data)
- else:
- include_full_boot = False
-
- logger.info(
- "boot target: %d source: %d diff: %d", target_boot.size,
- source_boot.size, len(d))
-
- common.ZipWriteStr(output_zip, "boot.img.p", d)
-
- target_expr = 'concat("{}:",{},":{}:{}")'.format(
- boot_type, boot_device_expr, target_boot.size, target_boot.sha1)
- source_expr = 'concat("{}:",{},":{}:{}")'.format(
- boot_type, boot_device_expr, source_boot.size, source_boot.sha1)
- script.PatchPartitionExprCheck(target_expr, source_expr)
-
- required_cache_sizes.append(target_boot.size)
+ include_full_boot = True
+ common.ZipWriteStr(output_zip, "boot.img", target_boot.data)
if required_cache_sizes:
script.CacheFreeSpaceCheck(max(required_cache_sizes))
diff --git a/tools/releasetools/sign_target_files_apks.py b/tools/releasetools/sign_target_files_apks.py
index bf69dec..1dd6538 100755
--- a/tools/releasetools/sign_target_files_apks.py
+++ b/tools/releasetools/sign_target_files_apks.py
@@ -261,6 +261,9 @@
def IsOtaPackage(fp):
+ if not zipfile.is_zipfile(fp):
+ return False
+
with zipfile.ZipFile(fp) as zfp:
if not PAYLOAD_BIN in zfp.namelist():
return False
@@ -644,8 +647,9 @@
print(" : %-*s payload (%s)" % (
maxsize, name, payload_key))
+ avbtool = misc_info['avb_avbtool'] if 'avb_avbtool' in misc_info else 'avbtool'
signed_apex = apex_utils.SignApex(
- misc_info['avb_avbtool'],
+ avbtool,
data,
payload_key,
container_key,
@@ -741,8 +745,9 @@
# key is specified via --avb_system_other_key.
signing_key = OPTIONS.avb_keys.get("system_other")
if signing_key:
+ avbtool = misc_info['avb_avbtool'] if 'avb_avbtool' in misc_info else 'avbtool'
public_key = common.ExtractAvbPublicKey(
- misc_info['avb_avbtool'], signing_key)
+ avbtool, signing_key)
print(" Rewriting AVB public key of system_other in /product")
common.ZipWrite(output_tf_zip, public_key, filename)
@@ -1104,6 +1109,7 @@
devkeydir + "/shared": d + "/shared",
devkeydir + "/platform": d + "/platform",
devkeydir + "/networkstack": d + "/networkstack",
+ devkeydir + "/bluetooth": d + "/bluetooth",
devkeydir + "/sdk_sandbox": d + "/sdk_sandbox",
})
else: