Merge "Move bootimage props to vendor/build.prop"
diff --git a/core/Makefile b/core/Makefile
index 040b8e1..90f2722 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -2286,19 +2286,6 @@
$(INSTALLED_SYSTEMIMAGE_TARGET): $(BUILT_SYSTEMIMAGE) $(RECOVERY_FROM_BOOT_PATCH)
@echo "Install system fs image: $@"
$(copy-file-to-target)
-ifdef RECOVERY_FROM_BOOT_PATCH
-ifeq ($(PRODUCT_USE_DYNAMIC_PARTITION_SIZE),true)
-ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_SIZE),)
- # system image size is dynamic, hence system_size in generated_system_image_info.txt does not
- # have room for recovery from boot patch. Increase system_size so that check-all-partition-sizes
- # accounts for the size of the patch.
- sed -i'.bak' -e 's/^system_size=.*$$/system_size='"$$(( \
- $(call read-image-prop-dictionary,$(systemimage_intermediates)/generated_system_image_info.txt,system_size) + \
- $$($(call get-file-size,$(RECOVERY_FROM_BOOT_PATCH))) ))"'/' \
- $(systemimage_intermediates)/generated_system_image_info.txt
-endif
-endif
-endif
$(hide) $(call assert-max-image-size,$@ $(RECOVERY_FROM_BOOT_PATCH),\
$(call read-image-prop-dictionary,\
$(systemimage_intermediates)/generated_system_image_info.txt,system_size))
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index 6923698..28d0be8 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -252,7 +252,7 @@
# It must be of the form "YYYY-MM-DD" on production devices.
# It must match one of the Android Security Patch Level strings of the Public Security Bulletins.
# If there is no $PLATFORM_SECURITY_PATCH set, keep it empty.
- PLATFORM_SECURITY_PATCH := 2019-03-05
+ PLATFORM_SECURITY_PATCH := 2019-04-05
endif
.KATI_READONLY := PLATFORM_SECURITY_PATCH
diff --git a/target/board/BoardConfigMainlineCommon.mk b/target/board/BoardConfigMainlineCommon.mk
index 8d2957c..6c56671 100644
--- a/target/board/BoardConfigMainlineCommon.mk
+++ b/target/board/BoardConfigMainlineCommon.mk
@@ -41,3 +41,6 @@
# Enable system property split for Treble
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
+
+# Generate an APEX image for experiment b/119800099.
+DEXPREOPT_GENERATE_APEX_IMAGE := true
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index a728068..87076a9 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -329,7 +329,8 @@
# Add the compatibility library that is needed when android.test.base
# is removed from the bootclasspath.
-ifeq ($(REMOVE_ATB_FROM_BCP),true)
+# Default to excluding android.test.base from the bootclasspath.
+ifneq ($(REMOVE_ATB_FROM_BCP),false)
PRODUCT_PACKAGES += framework-atb-backward-compatibility
PRODUCT_BOOT_JARS += framework-atb-backward-compatibility
else
diff --git a/tools/releasetools/build_super_image.py b/tools/releasetools/build_super_image.py
index 0105960..045ad55 100755
--- a/tools/releasetools/build_super_image.py
+++ b/tools/releasetools/build_super_image.py
@@ -58,16 +58,8 @@
UNZIP_PATTERN = ["IMAGES/*", "META/*"]
-def GetPartitionSizeFromImage(img):
- try:
- simg = sparse_img.SparseImage(img)
- return simg.blocksize * simg.total_blocks
- except ValueError:
- return os.path.getsize(img)
-
-
def GetArgumentsForImage(partition, group, image=None):
- image_size = GetPartitionSizeFromImage(image) if image else 0
+ image_size = sparse_img.GetImagePartitionSize(image) if image else 0
cmd = ["--partition",
"{}:readonly:{}:{}".format(partition, image_size, group)]
diff --git a/tools/releasetools/sparse_img.py b/tools/releasetools/sparse_img.py
old mode 100644
new mode 100755
index 7919ba4..3367896
--- a/tools/releasetools/sparse_img.py
+++ b/tools/releasetools/sparse_img.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python
+#
# Copyright (C) 2014 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,6 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import print_function
+
+import argparse
import bisect
import logging
import os
@@ -344,3 +349,21 @@
"""Throw away the file map and treat the entire image as
undifferentiated data."""
self.file_map = {"__DATA": self.care_map}
+
+
+def GetImagePartitionSize(img):
+ try:
+ simg = SparseImage(img, build_map=False)
+ return simg.blocksize * simg.total_blocks
+ except ValueError:
+ return os.path.getsize(img)
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('image')
+ parser.add_argument('--get_partition_size', action='store_true',
+ help='Return partition size of the image')
+ args = parser.parse_args()
+ if args.get_partition_size:
+ print(GetImagePartitionSize(args.image))