Files
vendor_lineage/config/common.mk
Danny Lin 449abcdaca config: Disable RescueParty
RescueParty's aggressive approach to error recovery almost never helps
with the problems we're likely to face, and its risk of data loss is far
too high. Force-disable it entirely and remove all other conditions,
especially those that depend on data integrity in the first place, to
reduce the risk of RescueParty triggering falsely and causing data loss.

Note that it is still possible to force-enable RescueParty for testing
purposes using the persist.sys.enable_rescue property.

Change-Id: I62c86782965ecdfcc8181112eca300169b4cca56
2025-11-04 20:29:48 +00:00

274 lines
7.6 KiB
Makefile

# Allow vendor/extra to override any property by setting it first
$(call inherit-product-if-exists, vendor/extra/product.mk)
PRODUCT_BRAND ?= MistOS
ifeq ($(PRODUCT_GMS_CLIENTID_BASE),)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.com.google.clientidbase=android-google
else
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.com.google.clientidbase=$(PRODUCT_GMS_CLIENTID_BASE)
endif
ifeq ($(PRODUCT_IS_ATV),true)
ifeq ($(PRODUCT_ATV_CLIENTID_BASE),)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.oem.key1=ATV00100020
else
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.oem.key1=$(PRODUCT_ATV_CLIENTID_BASE)
endif
endif
DONT_DEXPREOPT_PREBUILTS := true
ifeq ($(TARGET_BUILD_VARIANT),eng)
# Disable ADB authentication
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=0
else
ifdef WITH_ADB_INSECURE
# Forcebly disable ADB authentication
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=0
else
# Enable ADB authentication
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=1
endif
# Disable extra StrictMode features on all non-engineering builds
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.sys.strictmode.disable=true
endif
# Backup Tool
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
vendor/lineage/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
vendor/lineage/prebuilt/common/bin/50-lineage.sh:$(TARGET_COPY_OUT_SYSTEM)/addon.d/50-lineage.sh
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/addon.d/50-lineage.sh
ifneq ($(strip $(AB_OTA_PARTITIONS) $(AB_OTA_POSTINSTALL_CONFIG)),)
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/bin/backuptool_ab.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_ab.sh \
vendor/lineage/prebuilt/common/bin/backuptool_ab.functions:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_ab.functions \
vendor/lineage/prebuilt/common/bin/backuptool_postinstall.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_postinstall.sh
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/bin/backuptool_ab.sh \
system/bin/backuptool_ab.functions \
system/bin/backuptool_postinstall.sh
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.ota.allow_downgrade=true
endif
# Lineage-specific broadcast actions whitelist
PRODUCT_COPY_FILES += \
vendor/lineage/config/permissions/lineage-sysconfig.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/lineage-sysconfig.xml
# Lineage-specific init rc file
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init/init.lineage-system_ext.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.lineage-system_ext.rc
# Enable SIP+VoIP on all targets
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.software.sip.voip.xml
# Credential storage
PRODUCT_PACKAGES += \
android.software.credentials.prebuilt.xml
# Enable wireless Xbox 360 controller support
PRODUCT_COPY_FILES += \
frameworks/base/data/keyboards/Vendor_045e_Product_028e.kl:$(TARGET_COPY_OUT_PRODUCT)/usr/keylayout/Vendor_045e_Product_0719.kl
# Component overrides
PRODUCT_PACKAGES += \
lineage-component-overrides.xml
# This is Lineage!
PRODUCT_COPY_FILES += \
vendor/lineage/config/permissions/org.lineageos.android.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/org.lineageos.android.xml
#Enable transitional log for Privileged permissions
PRODUCT_PRODUCT_PROPERTIES += \
ro.control_privapp_permissions=log
ifneq ($(TARGET_DISABLE_LINEAGE_SDK), true)
# Lineage SDK
include vendor/lineage/config/lineage_sdk_common.mk
endif
# Do not include art debug targets
PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false
# 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
# leave less information available via JDWP.
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
# Disable vendor restrictions
PRODUCT_RESTRICT_VENDOR_FILES := false
ifneq ($(TARGET_DISABLE_EPPE),true)
# Require all requested packages to exist
$(call enforce-product-packages-exist-internal,$(wildcard device/*/$(LINEAGE_BUILD)/$(TARGET_PRODUCT).mk),product_manifest.xml rild Calendar android.hidl.memory@1.0-impl.vendor vndk_apex_snapshot_package)
endif
# Bootanimation
$(call inherit-product, vendor/lineage/bootanimation/Android.mk)
# Build Manifest
PRODUCT_PACKAGES += \
build-manifest
# Lineage packages
ifeq ($(PRODUCT_IS_ATV),)
PRODUCT_PACKAGES += \
ExactCalculator \
Jelly
endif
ifeq ($(PRODUCT_IS_AUTOMOTIVE),)
PRODUCT_PACKAGES += \
LineageParts \
LineageSetupWizard
endif
PRODUCT_PACKAGES += \
LineageSettingsProvider
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init/init.lineage-updater.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.lineage-updater.rc
# Config
PRODUCT_PACKAGES += \
SimpleDeviceConfig \
SimpleSettingsConfig
# Disable default frame rate limit for games
PRODUCT_PRODUCT_PROPERTIES += \
debug.graphics.game_default_frame_rate.disabled=true
# Disable RescueParty due to high risk of data loss
PRODUCT_PRODUCT_PROPERTIES += \
persist.sys.disable_rescue=true
PRODUCT_PACKAGES += \
nano_recovery
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/bin/curl \
system/bin/getcap \
system/bin/setcap
# Filesystems tools
PRODUCT_PACKAGES += \
fsck.ntfs \
mkfs.ntfs \
mount.ntfs
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/bin/fsck.ntfs \
system/bin/mkfs.ntfs \
system/bin/mount.ntfs \
system/%/libfuse-lite.so \
system/%/libntfs-3g.so
# FRP
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/bin/wipe-frp.sh:$(TARGET_COPY_OUT_RECOVERY)/root/system/bin/wipe-frp
# Openssh
PRODUCT_PACKAGES += \
scp \
sftp \
ssh \
sshd \
sshd_config \
ssh-keygen \
start-ssh
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init/init.openssh.rc:$(TARGET_COPY_OUT_PRODUCT)/etc/init/init.openssh.rc
# Storage manager
PRODUCT_SYSTEM_PROPERTIES += \
ro.storage_manager.enabled=true
# Default wifi country code
PRODUCT_SYSTEM_PROPERTIES += \
ro.boot.wificountrycode?=00
# These packages are excluded from user builds
PRODUCT_PACKAGES_DEBUG += \
procmem
ifneq ($(TARGET_BUILD_VARIANT),user)
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/bin/procmem
endif
# Root
PRODUCT_PACKAGES += \
adb_root
ifneq ($(TARGET_BUILD_VARIANT),user)
ifeq ($(WITH_SU),true)
PRODUCT_PACKAGES += \
su
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/xbin/su
endif
endif
# SystemUI
PRODUCT_DEXPREOPT_SPEED_APPS += \
Launcher3QuickStep \
Settings \
CarSystemUI \
SystemUI
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
dalvik.vm.systemuicompilerfilter=speed
ifeq ($(TARGET_BUILD_VARIANT),userdebug)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
debug.sf.enable_transaction_tracing=false
endif
# SetupWizard
PRODUCT_PRODUCT_PROPERTIES += \
setupwizard.theme=glif_v4 \
setupwizard.feature.day_night_mode_enabled=true
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/no-rro
PRODUCT_PACKAGE_OVERLAYS += \
vendor/lineage/overlay/common \
vendor/lineage/overlay/no-rro
PRODUCT_PACKAGES += \
DocumentsUIOverlay \
NetworkStackOverlay \
PermissionControllerOverlay
# Translations
CUSTOM_LOCALES += \
ast_ES \
gd_GB \
cy_GB \
fur_IT
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/crowdin/overlay
PRODUCT_PACKAGE_OVERLAYS += vendor/crowdin/overlay
PRODUCT_EXTRA_RECOVERY_KEYS += \
vendor/lineage/build/target/product/security/lineage
include vendor/lineage/config/version.mk
-include vendor/lineage-priv/keys/keys.mk
-include $(WORKSPACE)/build_env/image-auto-bits.mk