Merge "Update Keymaster AIDL to V2 in VNDK list"
diff --git a/Changes.md b/Changes.md
index 2720a0f..453ea6c 100644
--- a/Changes.md
+++ b/Changes.md
@@ -1,5 +1,18 @@
# Build System Changes for Android.mk Writers
+## ELF prebuilts in PRODUCT_COPY_FILES
+
+ELF prebuilts in PRODUCT_COPY_FILES that are installed into these paths are an
+error:
+
+* `<partition>/bin/*`
+* `<partition>/lib/*`
+* `<partition>/lib64/*`
+
+Define prebuilt modules and add them to PRODUCT_PACKAGES instead.
+To temporarily relax this check and restore the behavior prior to this change,
+set `BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true` in `BoardConfig.mk`.
+
## COPY_HEADERS usage now produces warnings {#copy_headers}
We've considered `BUILD_COPY_HEADERS`/`LOCAL_COPY_HEADERS` to be deprecated for
diff --git a/core/Makefile b/core/Makefile
index 69ee80f..f09c75b 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -40,11 +40,9 @@
)
endef
-# TODO(b/140560012): Flip BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES to default
-# false after all problematic devices are tagged.
-check_elf_prebuilt_product_copy_files :=
-ifneq (,$(filter false,$(BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES)))
check_elf_prebuilt_product_copy_files := true
+ifneq (,$(filter true,$(BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES)))
+check_elf_prebuilt_product_copy_files :=
endif
check_elf_prebuilt_product_copy_files_hint := \
found ELF prebuilt in PRODUCT_COPY_FILES, use cc_prebuilt_binary / cc_prebuilt_library_shared instead.
diff --git a/core/base_rules.mk b/core/base_rules.mk
index e5b4e8f..f5e8e35 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -197,6 +197,7 @@
endif
my_module_path := $(patsubst %/,%,$(my_module_path))
my_module_relative_path := $(strip $(LOCAL_MODULE_RELATIVE_PATH))
+
ifdef LOCAL_IS_HOST_MODULE
partition_tag :=
actual_partition_tag :=
@@ -345,16 +346,16 @@
ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))
# Apk and its attachments reside in its own subdir.
ifeq ($(LOCAL_MODULE_CLASS),APPS)
- # framework-res.apk doesn't like the additional layer.
- ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
- # Neither do Runtime Resource Overlay apks, which contain just the overlaid resources.
- else ifeq ($(LOCAL_IS_RUNTIME_RESOURCE_OVERLAY),true)
- else
- ifneq ($(use_testcase_folder),true)
- my_module_path := $(my_module_path)/$(LOCAL_MODULE)
+ # framework-res.apk doesn't like the additional layer.
+ ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
+ # Neither do Runtime Resource Overlay apks, which contain just the overlaid resources.
+ else ifeq ($(LOCAL_IS_RUNTIME_RESOURCE_OVERLAY),true)
+ else
+ ifneq ($(use_testcase_folder),true)
+ my_module_path := $(my_module_path)/$(LOCAL_MODULE)
+ endif
endif
endif
- endif
LOCAL_INSTALLED_MODULE := $(my_module_path)/$(my_installed_module_stem)
endif
diff --git a/core/config.mk b/core/config.mk
index 8910c11..3d08ba4 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -863,6 +863,7 @@
27.0 \
28.0 \
29.0 \
+ 30.0 \
.KATI_READONLY := \
PLATFORM_SEPOLICY_COMPAT_VERSIONS \
diff --git a/core/envsetup.mk b/core/envsetup.mk
index 7dd19cf..2a97acf 100644
--- a/core/envsetup.mk
+++ b/core/envsetup.mk
@@ -261,7 +261,6 @@
ART_APEX_JARS := \
com.android.art:core-oj \
com.android.art:core-libart \
- com.android.art:core-icu4j \
com.android.art:okhttp \
com.android.art:bouncycastle \
com.android.art:apache-xml
diff --git a/core/line_coverage.mk b/core/line_coverage.mk
index a32eea6..9b0b528 100644
--- a/core/line_coverage.mk
+++ b/core/line_coverage.mk
@@ -35,6 +35,7 @@
libvold \
libyuv
+# Format is <module_name> or <module_name>:<apex_name>
critical_components_shared := \
libaudioprocessing \
libbinder \
@@ -47,7 +48,7 @@
libopus \
libstagefright \
libunwind \
- libvixl
+ libvixl:com.android.art.debug
# Use the intermediates directory to avoid installing libraries to the device.
intermediates := $(call intermediates-dir-for,PACKAGING,haiku-line-coverage)
@@ -60,7 +61,9 @@
$(call intermediates-dir-for,STATIC_LIBRARIES,$(lib))/$(lib).a)
critical_components_shared_inputs := $(foreach lib,$(critical_components_shared), \
- $(call intermediates-dir-for,SHARED_LIBRARIES,$(lib))/$(lib).so)
+ $(eval filename := $(call word-colon,1,$(lib))) \
+ $(eval modulename := $(subst :,.,$(lib))) \
+ $(call intermediates-dir-for,SHARED_LIBRARIES,$(modulename))/$(filename).so)
fuzz_target_inputs := $(foreach fuzz,$(fuzz_targets), \
$(call intermediates-dir-for,EXECUTABLES,$(fuzz))/$(fuzz))
diff --git a/core/soong_app_prebuilt.mk b/core/soong_app_prebuilt.mk
index a3de688..4197c58 100644
--- a/core/soong_app_prebuilt.mk
+++ b/core/soong_app_prebuilt.mk
@@ -110,7 +110,7 @@
# Copy test suite files.
ifdef LOCAL_COMPATIBILITY_SUITE
-my_apks_to_install := $(foreach f,$(filter %.apk,$(LOCAL_SOONG_BUILT_INSTALLED)),$(call word-colon,1,$(f)))
+my_apks_to_install := $(foreach f,$(filter %.apk %.idsig,$(LOCAL_SOONG_BUILT_INSTALLED)),$(call word-colon,1,$(f)))
$(foreach suite, $(LOCAL_COMPATIBILITY_SUITE), \
$(eval my_compat_dist_$(suite) := $(foreach dir, $(call compatibility_suite_dirs,$(suite)), \
$(foreach a,$(my_apks_to_install),\
diff --git a/core/soong_rust_prebuilt.mk b/core/soong_rust_prebuilt.mk
index 4a9eb4a..804e37e 100644
--- a/core/soong_rust_prebuilt.mk
+++ b/core/soong_rust_prebuilt.mk
@@ -75,6 +75,23 @@
endif
endif
+
+ifeq ($(NATIVE_COVERAGE),true)
+ ifneq (,$(strip $(LOCAL_PREBUILT_COVERAGE_ARCHIVE)))
+ $(eval $(call copy-one-file,$(LOCAL_PREBUILT_COVERAGE_ARCHIVE),$(intermediates)/$(LOCAL_MODULE).zip))
+ ifneq ($(LOCAL_UNINSTALLABLE_MODULE),true)
+ ifdef LOCAL_IS_HOST_MODULE
+ my_coverage_path := $($(my_prefix)OUT_COVERAGE)/$(patsubst $($(my_prefix)OUT)/%,%,$(my_module_path))
+ else
+ my_coverage_path := $(TARGET_OUT_COVERAGE)/$(patsubst $(PRODUCT_OUT)/%,%,$(my_module_path))
+ endif
+ my_coverage_path := $(my_coverage_path)/$(patsubst %.so,%,$(my_installed_module_stem)).zip
+ $(eval $(call copy-one-file,$(LOCAL_PREBUILT_COVERAGE_ARCHIVE),$(my_coverage_path)))
+ $(LOCAL_BUILT_MODULE): $(my_coverage_path)
+ endif
+ endif
+endif
+
# A product may be configured to strip everything in some build variants.
# We do the stripping as a post-install command so that LOCAL_BUILT_MODULE
# is still with the symbols and we don't need to clean it (and relink) when
diff --git a/core/tasks/vts-core-tests.mk b/core/tasks/vts-core-tests.mk
index 4e83de5..a3247da 100644
--- a/core/tasks/vts-core-tests.mk
+++ b/core/tasks/vts-core-tests.mk
@@ -12,15 +12,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+-include external/linux-kselftest/android/kselftest_test_list.mk
+-include external/ltp/android/ltp_package_list.mk
+
test_suite_name := vts
test_suite_tradefed := vts-tradefed
test_suite_readme := test/vts/tools/vts-core-tradefed/README
-# TODO(b/149249068): Clean up after all VTS tests are converted.
-vts_test_artifact_paths :=
-# Some repo may not include vts project.
--include test/vts/tools/build/tasks/framework/vts_for_core_suite.mk
-
# Copy kernel test modules to testcases directories
kernel_test_host_out := $(HOST_OUT_TESTCASES)/vts_kernel_tests
kernel_test_vts_out := $(HOST_OUT)/$(test_suite_name)/android-$(test_suite_name)/testcases/vts_kernel_tests
@@ -44,7 +42,6 @@
$(compatibility_zip): $(copy_kernel_tests)
.PHONY: vts
-$(compatibility_zip): $(vts_test_artifact_paths)
vts: $(compatibility_zip)
$(call dist-for-goals, vts, $(compatibility_zip))
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index 3e5d3a3..a3ca2a5 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -41,6 +41,7 @@
bmgr \
bootanimation \
bootstat \
+ boringssl_self_test \
bpfloader \
bu \
bugreport \
@@ -320,6 +321,7 @@
$(ART_APEX_JARS) \
framework-minus-apex \
ext \
+ com.android.i18n:core-icu4j \
telephony-common \
voip-common \
ims-common \
diff --git a/target/product/go_defaults_common.mk b/target/product/go_defaults_common.mk
index f931f4a..3e42b68 100644
--- a/target/product/go_defaults_common.mk
+++ b/target/product/go_defaults_common.mk
@@ -40,7 +40,7 @@
# Do not spin up a separate process for the network stack on go devices, use an in-process APK.
PRODUCT_PACKAGES += InProcessNetworkStack
PRODUCT_PACKAGES += CellBroadcastAppPlatform
-PRODUCT_PACKAGES += InProcessTethering
+PRODUCT_PACKAGES += com.android.tethering.inprocess
# Strip the local variable table and the local variable type table to reduce
# the size of the system image. This has no bearing on stack traces, but will