diff --git a/core/sysprop.mk b/core/sysprop.mk index 615025de13..7dd756a158 100644 --- a/core/sysprop.mk +++ b/core/sysprop.mk @@ -33,34 +33,26 @@ define generate-common-build-props echo "# from generate-common-build-props" >> $(2);\ echo "# These properties identify this partition image." >> $(2);\ echo "####################################" >> $(2);\ - $(if $(filter system,$(1)),\ - echo "ro.product.$(1).brand=$(PRODUCT_SYSTEM_BRAND)" >> $(2);\ - echo "ro.product.$(1).device=$(PRODUCT_SYSTEM_DEVICE)" >> $(2);\ - echo "ro.product.$(1).manufacturer=$(PRODUCT_SYSTEM_MANUFACTURER)" >> $(2);\ - echo "ro.product.$(1).model=$(PRODUCT_SYSTEM_MODEL)" >> $(2);\ - echo "ro.product.$(1).name=$(PRODUCT_SYSTEM_NAME)" >> $(2);\ - ,\ - echo "ro.product.$(1).brand=$(PRODUCT_BRAND)" >> $(2);\ - echo "ro.product.$(1).device=$(TARGET_DEVICE)" >> $(2);\ - echo "ro.product.$(1).manufacturer=$(PRODUCT_MANUFACTURER)" >> $(2);\ - echo "ro.product.$(1).model=$(PRODUCT_MODEL)" >> $(2);\ - echo "ro.product.$(1).name=$(TARGET_PRODUCT)" >> $(2);\ - if [ -n "$(strip $(PRODUCT_MODEL_FOR_ATTESTATION))" ]; then \ - echo "ro.product.model_for_attestation=$(PRODUCT_MODEL_FOR_ATTESTATION)" >> $(2);\ - fi; \ - if [ -n "$(strip $(PRODUCT_BRAND_FOR_ATTESTATION))" ]; then \ - echo "ro.product.brand_for_attestation=$(PRODUCT_BRAND_FOR_ATTESTATION)" >> $(2);\ - fi; \ - if [ -n "$(strip $(PRODUCT_NAME_FOR_ATTESTATION))" ]; then \ - echo "ro.product.name_for_attestation=$(PRODUCT_NAME_FOR_ATTESTATION)" >> $(2);\ - fi; \ - if [ -n "$(strip $(PRODUCT_DEVICE_FOR_ATTESTATION))" ]; then \ - echo "ro.product.device_for_attestation=$(PRODUCT_DEVICE_FOR_ATTESTATION)" >> $(2);\ - fi; \ - if [ -n "$(strip $(PRODUCT_MANUFACTURER_FOR_ATTESTATION))" ]; then \ - echo "ro.product.manufacturer_for_attestation=$(PRODUCT_MANUFACTURER_FOR_ATTESTATION)" >> $(2);\ - fi; \ - )\ + echo "ro.product.$(1).brand=$(PRODUCT_BRAND)" >> $(2);\ + echo "ro.product.$(1).device=$(TARGET_DEVICE)" >> $(2);\ + echo "ro.product.$(1).manufacturer=$(PRODUCT_MANUFACTURER)" >> $(2);\ + echo "ro.product.$(1).model=$(PRODUCT_MODEL)" >> $(2);\ + echo "ro.product.$(1).name=$(TARGET_PRODUCT)" >> $(2);\ + if [ -n "$(strip $(PRODUCT_MODEL_FOR_ATTESTATION))" ]; then \ + echo "ro.product.model_for_attestation=$(PRODUCT_MODEL_FOR_ATTESTATION)" >> $(2);\ + fi; \ + if [ -n "$(strip $(PRODUCT_BRAND_FOR_ATTESTATION))" ]; then \ + echo "ro.product.brand_for_attestation=$(PRODUCT_BRAND_FOR_ATTESTATION)" >> $(2);\ + fi; \ + if [ -n "$(strip $(PRODUCT_NAME_FOR_ATTESTATION))" ]; then \ + echo "ro.product.name_for_attestation=$(PRODUCT_NAME_FOR_ATTESTATION)" >> $(2);\ + fi; \ + if [ -n "$(strip $(PRODUCT_DEVICE_FOR_ATTESTATION))" ]; then \ + echo "ro.product.device_for_attestation=$(PRODUCT_DEVICE_FOR_ATTESTATION)" >> $(2);\ + fi; \ + if [ -n "$(strip $(PRODUCT_MANUFACTURER_FOR_ATTESTATION))" ]; then \ + echo "ro.product.manufacturer_for_attestation=$(PRODUCT_MANUFACTURER_FOR_ATTESTATION)" >> $(2);\ + fi; \ $(if $(filter true,$(ZYGOTE_FORCE_64)),\ $(if $(filter vendor,$(1)),\ echo "ro.$(1).product.cpu.abilist=$(TARGET_CPU_ABI_LIST_64_BIT)" >> $(2);\ @@ -226,46 +218,11 @@ KNOWN_OEM_THUMBPRINT_PROPERTIES:= # ----------------------------------------------------------------- # system/build.prop # -# Note: parts of this file that can't be generated by the build-properties -# macro are manually created as separate files and then fed into the macro - -buildinfo_prop := $(call intermediates-dir-for,ETC,buildinfo.prop)/buildinfo.prop - -system_prop_file := $(TARGET_SYSTEM_PROP) - -_prop_files_ := \ - $(buildinfo_prop) \ - $(system_prop_file) - -# Order matters here. When there are duplicates, the last one wins. -# TODO(b/117892318): don't allow duplicates so that the ordering doesn't matter -_prop_vars_ := \ - ADDITIONAL_SYSTEM_PROPERTIES \ - PRODUCT_SYSTEM_PROPERTIES - -# TODO(b/117892318): deprecate this -_prop_vars_ += \ - PRODUCT_SYSTEM_DEFAULT_PROPERTIES - -ifndef property_overrides_split_enabled -_prop_vars_ += \ - ADDITIONAL_VENDOR_PROPERTIES \ - PRODUCT_VENDOR_PROPERTIES -endif +# system/build.prop is built by Soong. See system-build.prop module in +# build/soong/Android.bp. INSTALLED_BUILD_PROP_TARGET := $(TARGET_OUT)/build.prop -$(eval $(call build-properties,\ - system,\ - $(INSTALLED_BUILD_PROP_TARGET),\ - $(_prop_files_),\ - $(_prop_vars_),\ - $(PRODUCT_SYSTEM_PROPERTY_BLACKLIST),\ - $(empty),\ - $(empty))) - -$(eval $(call declare-1p-target,$(INSTALLED_BUILD_PROP_TARGET))) - # ----------------------------------------------------------------- # vendor/build.prop # diff --git a/core/sysprop_config.mk b/core/sysprop_config.mk index f9b9d1c2ee..543b86b0e0 100644 --- a/core/sysprop_config.mk +++ b/core/sysprop_config.mk @@ -15,28 +15,7 @@ $(foreach name, $(_additional_prop_var_names),\ ) _additional_prop_var_names := -# -# ----------------------------------------------------------------- -# Add the product-defined properties to the build properties. -ifneq ($(BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED), true) - ADDITIONAL_SYSTEM_PROPERTIES += $(PRODUCT_PROPERTY_OVERRIDES) -else - ifndef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE - ADDITIONAL_SYSTEM_PROPERTIES += $(PRODUCT_PROPERTY_OVERRIDES) - endif -endif - -ADDITIONAL_SYSTEM_PROPERTIES += ro.treble.enabled=${PRODUCT_FULL_TREBLE} - -# Set ro.llndk.api_level to show the maximum vendor API level that the LLNDK in -# the system partition supports. -ifdef RELEASE_BOARD_API_LEVEL -ADDITIONAL_SYSTEM_PROPERTIES += ro.llndk.api_level=$(RELEASE_BOARD_API_LEVEL) -endif - -# Sets ro.actionable_compatible_property.enabled to know on runtime whether the -# allowed list of actionable compatible properties is enabled or not. -ADDITIONAL_SYSTEM_PROPERTIES += ro.actionable_compatible_property.enabled=true +$(KATI_obsolete_var ADDITIONAL_SYSTEM_PROPERTIES,Use build/soong/scripts/gen_build_prop.py instead) # Add the system server compiler filter if they are specified for the product. ifneq (,$(PRODUCT_SYSTEM_SERVER_COMPILER_FILTER)) @@ -56,23 +35,6 @@ else ADDITIONAL_PRODUCT_PROPERTIES += ro.product.page_size=4096 endif -# Enable core platform API violation warnings on userdebug and eng builds. -ifneq ($(TARGET_BUILD_VARIANT),user) -ADDITIONAL_SYSTEM_PROPERTIES += persist.debug.dalvik.vm.core_platform_api_policy=just-warn -endif - -# Define ro.sanitize. properties for all global sanitizers. -ADDITIONAL_SYSTEM_PROPERTIES += $(foreach s,$(SANITIZE_TARGET),ro.sanitize.$(s)=true) - -# Sets the default value of ro.postinstall.fstab.prefix to /system. -# Device board config should override the value to /product when needed by: -# -# PRODUCT_PRODUCT_PROPERTIES += ro.postinstall.fstab.prefix=/product -# -# It then uses ${ro.postinstall.fstab.prefix}/etc/fstab.postinstall to -# mount system_other partition. -ADDITIONAL_SYSTEM_PROPERTIES += ro.postinstall.fstab.prefix=/system - # Add cpu properties for bionic and ART. ADDITIONAL_VENDOR_PROPERTIES += ro.bionic.arch=$(TARGET_ARCH) ADDITIONAL_VENDOR_PROPERTIES += ro.bionic.cpu_variant=$(TARGET_CPU_VARIANT_RUNTIME) @@ -200,87 +162,6 @@ ADDITIONAL_PRODUCT_PROPERTIES += ro.product.build.no_bionic_page_size_macro=true endif user_variant := $(filter user userdebug,$(TARGET_BUILD_VARIANT)) -enable_target_debugging := true -enable_dalvik_lock_contention_logging := true -ifneq (,$(user_variant)) - # Target is secure in user builds. - ADDITIONAL_SYSTEM_PROPERTIES += ro.secure=1 - ADDITIONAL_SYSTEM_PROPERTIES += security.perf_harden=1 - - ifeq ($(user_variant),user) - ADDITIONAL_SYSTEM_PROPERTIES += ro.adb.secure=1 - endif - - ifneq ($(user_variant),userdebug) - # Disable debugging in plain user builds. - enable_target_debugging := - enable_dalvik_lock_contention_logging := - else - # Disable debugging in userdebug builds if PRODUCT_NOT_DEBUGGABLE_IN_USERDEBUG - # is set. - ifneq (,$(strip $(PRODUCT_NOT_DEBUGGABLE_IN_USERDEBUG))) - enable_target_debugging := - endif - endif - - # Disallow mock locations by default for user builds - ADDITIONAL_SYSTEM_PROPERTIES += ro.allow.mock.location=0 - -else # !user_variant - # Turn on checkjni for non-user builds. - ADDITIONAL_SYSTEM_PROPERTIES += ro.kernel.android.checkjni=1 - # Set device insecure for non-user builds. - ADDITIONAL_SYSTEM_PROPERTIES += ro.secure=0 - # Allow mock locations by default for non user builds - ADDITIONAL_SYSTEM_PROPERTIES += ro.allow.mock.location=1 -endif # !user_variant - -ifeq (true,$(strip $(enable_dalvik_lock_contention_logging))) - # Enable Dalvik lock contention logging. - ADDITIONAL_SYSTEM_PROPERTIES += dalvik.vm.lockprof.threshold=500 -endif # !enable_dalvik_lock_contention_logging - -ifeq (true,$(strip $(enable_target_debugging))) - # Target is more debuggable and adbd is on by default - ADDITIONAL_SYSTEM_PROPERTIES += ro.debuggable=1 -else # !enable_target_debugging - # Target is less debuggable and adbd is off by default - ADDITIONAL_SYSTEM_PROPERTIES += ro.debuggable=0 -endif # !enable_target_debugging - -enable_target_debugging:= -enable_dalvik_lock_contention_logging:= - -ifneq ($(filter sdk sdk_addon,$(MAKECMDGOALS)),) -_is_sdk_build := true -endif - -ifeq ($(TARGET_BUILD_VARIANT),eng) -ifneq ($(filter ro.setupwizard.mode=ENABLED, $(call collapse-pairs, $(ADDITIONAL_SYSTEM_PROPERTIES))),) - # Don't require the setup wizard on eng builds - ADDITIONAL_SYSTEM_PROPERTIES := $(filter-out ro.setupwizard.mode=%,\ - $(call collapse-pairs, $(ADDITIONAL_SYSTEM_PROPERTIES))) \ - ro.setupwizard.mode=OPTIONAL -endif -ifndef _is_sdk_build - # To speedup startup of non-preopted builds, don't verify or compile the boot image. - ADDITIONAL_SYSTEM_PROPERTIES += dalvik.vm.image-dex2oat-filter=extract -endif -# b/323566535 -ADDITIONAL_SYSTEM_PROPERTIES += init.svc_debug.no_fatal.zygote=true -endif - -ifdef _is_sdk_build -ADDITIONAL_SYSTEM_PROPERTIES += xmpp.auto-presence=true -ADDITIONAL_SYSTEM_PROPERTIES += ro.config.nocheckin=yes -endif - -_is_sdk_build := - -ADDITIONAL_SYSTEM_PROPERTIES += net.bt.name=Android - -# This property is set by flashing debug boot image, so default to false. -ADDITIONAL_SYSTEM_PROPERTIES += ro.force.debuggable=0 config_enable_uffd_gc := \ $(firstword $(OVERRIDE_ENABLE_UFFD_GC) $(PRODUCT_ENABLE_UFFD_GC) default) @@ -291,11 +172,9 @@ config_enable_uffd_gc := \ # If the value is "default", it will be mangled by post_process_props.py. ADDITIONAL_PRODUCT_PROPERTIES += ro.dalvik.vm.enable_uffd_gc=$(config_enable_uffd_gc) -ADDITIONAL_SYSTEM_PROPERTIES := $(strip $(ADDITIONAL_SYSTEM_PROPERTIES)) ADDITIONAL_PRODUCT_PROPERTIES := $(strip $(ADDITIONAL_PRODUCT_PROPERTIES)) ADDITIONAL_VENDOR_PROPERTIES := $(strip $(ADDITIONAL_VENDOR_PROPERTIES)) .KATI_READONLY += \ - ADDITIONAL_SYSTEM_PROPERTIES \ ADDITIONAL_PRODUCT_PROPERTIES \ ADDITIONAL_VENDOR_PROPERTIES diff --git a/target/product/base_system.mk b/target/product/base_system.mk index 642dcfae36..edc61dab9c 100644 --- a/target/product/base_system.mk +++ b/target/product/base_system.mk @@ -279,6 +279,7 @@ PRODUCT_PACKAGES += \ storaged \ surfaceflinger \ svc \ + system-build.prop \ task_profiles.json \ tc \ telecom \