2018-09-21 23:00:26 +02:00
# Allow vendor/extra to override any property by setting it first
$( call inherit -product -if -exists , vendor /extra /product .mk )
2016-12-19 18:22:55 +01:00
PRODUCT_BRAND ?= LineageOS
2011-11-28 17:37:47 +01:00
2011-11-27 20:56:54 +01:00
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE = 0
2013-11-06 22:55:11 +01:00
i f e q ( $( PRODUCT_GMS_CLIENTID_BASE ) , )
2018-03-02 16:21:37 +01:00
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
2013-11-06 22:55:11 +01:00
ro.com.google.clientidbase= android-google
e l s e
2018-03-02 16:21:37 +01:00
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
2013-11-06 22:55:11 +01:00
ro.com.google.clientidbase= $( PRODUCT_GMS_CLIENTID_BASE)
e n d i f
2018-09-14 14:35:14 +02:00
i f e q ( $( TARGET_BUILD_VARIANT ) , e n g )
# Disable ADB authentication
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure= 0
e l s e
2013-02-15 16:46:39 +01:00
# Enable ADB authentication
2018-03-06 16:42:15 +01:00
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure= 1
2021-06-05 11:12:50 +02:00
# Disable extra StrictMode features on all non-engineering builds
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.sys.strictmode.disable= true
2013-03-20 11:47:17 +01:00
e n d i f
2013-02-15 16:46:39 +01:00
2012-03-04 09:37:42 +01:00
# Backup Tool
2011-11-27 20:56:54 +01:00
PRODUCT_COPY_FILES += \
2017-07-06 15:21:30 +02:00
vendor/lineage/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
vendor/lineage/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
2020-02-05 09:45:15 +01:00
vendor/lineage/prebuilt/common/bin/50-lineage.sh:$( TARGET_COPY_OUT_SYSTEM) /addon.d/50-lineage.sh
2011-11-27 20:56:54 +01:00
2020-12-28 12:34:21 +01:00
i f n e q ( $( strip $ ( AB_OTA_PARTITIONS ) $ ( AB_OTA_POSTINSTALL_CONFIG ) ) , )
2017-01-17 02:26:50 +01:00
PRODUCT_COPY_FILES += \
2019-09-15 15:32:33 +02:00
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
2020-03-26 08:15:14 +01:00
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.ota.allow_downgrade= true
e n d i f
2017-01-17 02:26:50 +01:00
e n d i f
2016-07-07 00:18:29 +02:00
# Backup Services whitelist
PRODUCT_COPY_FILES += \
2019-09-15 15:32:33 +02:00
vendor/lineage/config/permissions/backup.xml:$( TARGET_COPY_OUT_SYSTEM) /etc/sysconfig/backup.xml
2016-07-07 00:18:29 +02:00
2017-10-16 10:37:03 +02:00
# Lineage-specific broadcast actions whitelist
PRODUCT_COPY_FILES += \
2019-09-15 15:32:33 +02:00
vendor/lineage/config/permissions/lineage-sysconfig.xml:$( TARGET_COPY_OUT_SYSTEM) /etc/sysconfig/lineage-sysconfig.xml
2017-10-16 10:37:03 +02:00
2021-11-14 17:10:56 +01:00
# Lineage-specific init rc file
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init/init.lineage-system.rc:$( TARGET_COPY_OUT_PRODUCT) /etc/init/init.lineage-system.rc
2012-10-18 17:38:25 +02:00
2019-10-24 02:33:34 +02:00
# Enable Android Beam on all targets
PRODUCT_COPY_FILES += \
vendor/lineage/config/permissions/android.software.nfc.beam.xml:$( TARGET_COPY_OUT_SYSTEM) /etc/permissions/android.software.nfc.beam.xml
2011-11-27 20:56:54 +01:00
# Enable SIP+VoIP on all targets
PRODUCT_COPY_FILES += \
2019-09-15 15:32:33 +02:00
frameworks/native/data/etc/android.software.sip.voip.xml:$( TARGET_COPY_OUT_SYSTEM) /etc/permissions/android.software.sip.voip.xml
2011-11-27 20:56:54 +01:00
2013-01-30 21:45:20 +01:00
# Enable wireless Xbox 360 controller support
PRODUCT_COPY_FILES += \
2019-09-15 15:32:33 +02:00
frameworks/base/data/keyboards/Vendor_045e_Product_028e.kl:$( TARGET_COPY_OUT_SYSTEM) /usr/keylayout/Vendor_045e_Product_0719.kl
2013-01-30 21:45:20 +01:00
2017-08-17 19:28:48 +02:00
# This is Lineage!
2012-03-26 02:21:32 +02:00
PRODUCT_COPY_FILES += \
2020-05-06 14:57:40 +02:00
vendor/lineage/config/permissions/org.lineageos.android.xml:$( TARGET_COPY_OUT_SYSTEM) /etc/permissions/org.lineageos.android.xml
2012-03-26 02:21:32 +02:00
2019-07-25 18:05:40 +02:00
# Enforce privapp-permissions whitelist
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.control_privapp_permissions= enforce
2019-04-12 01:08:21 +02:00
# Include AOSP audio files
i n c l u d e v e n d o r / l i n e a g e / c o n f i g / a o s p _ a u d i o . m k
2017-08-17 19:28:48 +02:00
# Include Lineage audio files
i n c l u d e v e n d o r / l i n e a g e / c o n f i g / l i n e a g e _ a u d i o . m k
2016-09-09 00:04:09 +02:00
2017-09-19 06:05:19 +02:00
i f n e q ( $( TARGET_DISABLE_LINEAGE_SDK ) , t r u e )
# Lineage SDK
i n c l u d e v e n d o r / l i n e a g e / c o n f i g / l i n e a g e _ s d k _ c o m m o n . m k
2016-08-27 00:44:50 +02:00
e n d i f
2016-03-15 22:17:47 +01:00
2019-01-05 11:46:23 +01:00
# 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
2017-08-17 21:43:22 +02:00
# Disable vendor restrictions
PRODUCT_RESTRICT_VENDOR_FILES := false
2016-12-29 05:59:21 +01:00
# Bootanimation
2021-03-09 18:15:41 +01:00
TARGET_SCREEN_WIDTH ?= 1080
TARGET_SCREEN_HEIGHT ?= 1920
2017-01-17 04:52:24 +01:00
PRODUCT_PACKAGES += \
bootanimation.zip
2016-12-29 05:59:21 +01:00
2019-09-13 19:58:35 +02:00
# Lineage packages
2011-12-14 23:02:19 +01:00
PRODUCT_PACKAGES += \
2019-09-13 19:58:35 +02:00
LineageParts \
2017-09-19 06:05:19 +02:00
LineageSettingsProvider \
2017-02-11 20:39:59 +01:00
LineageSetupWizard \
2020-02-22 08:25:46 +01:00
Updater
2019-11-01 22:01:21 +01:00
2021-11-14 17:10:56 +01:00
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init/init.lineage-updater.rc:$( TARGET_COPY_OUT_SYSTEM_EXT) /etc/init/init.lineage-updater.rc
2019-11-01 22:01:21 +01:00
# Themes
PRODUCT_PACKAGES += \
LineageThemesStub \
2019-11-01 21:34:55 +01:00
ThemePicker
2018-01-20 14:06:47 +01:00
2020-11-04 07:47:28 +01:00
# Config
PRODUCT_PACKAGES += \
SimpleDeviceConfig
2017-08-17 19:28:48 +02:00
# Extra tools in Lineage
2012-04-15 11:39:25 +02:00
PRODUCT_PACKAGES += \
2016-10-13 20:37:08 +02:00
7z \
bash \
curl \
2019-03-22 10:42:33 +01:00
getcap \
2016-10-13 20:37:08 +02:00
htop \
lib7z \
2013-11-24 13:05:59 +01:00
libsepol \
2019-10-09 01:45:33 +02:00
nano \
2016-09-09 00:04:09 +02:00
pigz \
2019-03-22 10:42:33 +01:00
setcap \
2016-09-09 00:04:09 +02:00
unrar \
vim \
zip
2012-04-15 11:39:25 +02:00
2012-07-19 12:34:25 +02:00
# Openssh
PRODUCT_PACKAGES += \
scp \
sftp \
ssh \
sshd \
sshd_config \
ssh-keygen \
2012-08-19 14:00:04 +02:00
start-ssh
2021-11-14 17:10:56 +01:00
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init/init.openssh.rc:$( TARGET_COPY_OUT_PRODUCT) /etc/init/init.openssh.rc
2012-08-19 14:00:04 +02:00
# rsync
PRODUCT_PACKAGES += \
rsync
2012-07-19 12:34:25 +02:00
2016-11-23 21:19:00 +01:00
# Storage manager
2018-03-02 16:21:37 +01:00
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
2016-11-23 21:19:00 +01:00
ro.storage_manager.enabled= true
2013-09-25 18:13:25 +02:00
# These packages are excluded from user builds
2018-07-25 11:11:41 +02:00
PRODUCT_PACKAGES_DEBUG += \
2019-10-07 13:12:25 +02:00
procmem
2016-12-28 07:30:35 +01:00
2020-03-13 23:15:16 +01:00
# Root
2019-11-03 00:06:45 +01:00
PRODUCT_PACKAGES += \
adb_root
2020-03-13 23:15:16 +01:00
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
2016-12-28 07:30:35 +01:00
i f e q ( $( WITH_SU ) , t r u e )
PRODUCT_PACKAGES += \
2013-09-25 18:13:25 +02:00
su
2014-12-30 00:52:04 +01:00
e n d i f
2016-12-28 07:30:35 +01:00
e n d i f
2013-09-25 18:13:25 +02:00
2018-02-02 22:01:38 +01:00
# Dex preopt
PRODUCT_DEXPREOPT_SPEED_APPS += \
2020-12-01 22:22:46 +01:00
SystemUI
2018-02-02 22:01:38 +01:00
2018-08-12 19:51:27 +02:00
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay
2021-08-03 18:18:42 +02:00
PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/common
2011-11-28 16:44:23 +01:00
2021-10-05 21:45:26 +02:00
PRODUCT_VERSION_MAJOR = 19
PRODUCT_VERSION_MINOR = 0
2016-08-24 17:19:50 +02:00
PRODUCT_VERSION_MAINTENANCE := 0
2016-08-06 21:47:23 +02:00
2016-08-05 21:24:19 +02:00
i f e q ( $( TARGET_VENDOR_SHOW_MAINTENANCE_VERSION ) , t r u e )
2017-08-17 19:28:48 +02:00
LINEAGE_VERSION_MAINTENANCE := $( PRODUCT_VERSION_MAINTENANCE)
2016-08-05 21:24:19 +02:00
e l s e
2017-08-17 19:28:48 +02:00
LINEAGE_VERSION_MAINTENANCE := 0
2016-08-05 21:24:19 +02:00
e n d i f
2011-11-28 16:44:23 +01:00
2017-08-17 19:28:48 +02:00
# Set LINEAGE_BUILDTYPE from the env RELEASE_TYPE, for jenkins compat
2013-09-24 18:58:56 +02:00
2017-08-17 19:28:48 +02:00
i f n d e f L I N E A G E _ B U I L D T Y P E
2013-09-24 18:58:56 +02:00
ifdef RELEASE_TYPE
2017-08-17 19:28:48 +02:00
# Starting with "LINEAGE_" is optional
RELEASE_TYPE := $( shell echo $( RELEASE_TYPE) | sed -e 's|^LINEAGE_||g' )
LINEAGE_BUILDTYPE := $( RELEASE_TYPE)
2013-09-24 18:58:56 +02:00
endif
2012-05-07 07:49:33 +02:00
e n d i f
2013-09-24 18:58:56 +02:00
# Filter out random types, so it'll reset to UNOFFICIAL
2017-08-17 19:28:48 +02:00
i f e q ( $( filter RELEASE NIGHTLY SNAPSHOT EXPERIMENTAL ,$ ( LINEAGE_BUILDTYPE ) ) , )
LINEAGE_BUILDTYPE :=
2012-05-07 07:49:33 +02:00
e n d i f
2017-08-17 19:28:48 +02:00
i f d e f L I N E A G E _ B U I L D T Y P E
ifneq ( $( LINEAGE_BUILDTYPE) , SNAPSHOT)
ifdef LINEAGE_EXTRAVERSION
2013-09-24 18:58:56 +02:00
# Force build type to EXPERIMENTAL
2017-08-17 19:28:48 +02:00
LINEAGE_BUILDTYPE := EXPERIMENTAL
# Remove leading dash from LINEAGE_EXTRAVERSION
LINEAGE_EXTRAVERSION := $( shell echo $( LINEAGE_EXTRAVERSION) | sed 's/-//' )
# Add leading dash to LINEAGE_EXTRAVERSION
LINEAGE_EXTRAVERSION := -$( LINEAGE_EXTRAVERSION)
2013-09-24 18:58:56 +02:00
endif
else
2017-08-17 19:28:48 +02:00
ifndef LINEAGE_EXTRAVERSION
2013-09-24 18:58:56 +02:00
# Force build type to EXPERIMENTAL, SNAPSHOT mandates a tag
2017-08-17 19:28:48 +02:00
LINEAGE_BUILDTYPE := EXPERIMENTAL
2013-09-24 18:58:56 +02:00
else
2017-08-17 19:28:48 +02:00
# Remove leading dash from LINEAGE_EXTRAVERSION
LINEAGE_EXTRAVERSION := $( shell echo $( LINEAGE_EXTRAVERSION) | sed 's/-//' )
# Add leading dash to LINEAGE_EXTRAVERSION
LINEAGE_EXTRAVERSION := -$( LINEAGE_EXTRAVERSION)
2013-09-24 18:58:56 +02:00
endif
2012-06-08 12:08:15 +02:00
endif
e l s e
2017-08-17 19:28:48 +02:00
# If LINEAGE_BUILDTYPE is not defined, set to UNOFFICIAL
LINEAGE_BUILDTYPE := UNOFFICIAL
LINEAGE_EXTRAVERSION :=
2012-05-07 07:49:33 +02:00
e n d i f
2017-08-17 19:28:48 +02:00
i f e q ( $( LINEAGE_BUILDTYPE ) , U N O F F I C I A L )
2013-12-13 18:04:14 +01:00
ifneq ( $( TARGET_UNOFFICIAL_BUILD_ID) ,)
2017-08-17 19:28:48 +02:00
LINEAGE_EXTRAVERSION := -$( TARGET_UNOFFICIAL_BUILD_ID)
2013-12-13 18:04:14 +01:00
endif
e n d i f
2017-08-17 19:28:48 +02:00
i f e q ( $( LINEAGE_BUILDTYPE ) , R E L E A S E )
2013-11-11 01:55:51 +01:00
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
2017-08-17 19:28:48 +02:00
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( PRODUCT_VERSION_MAINTENANCE) $( PRODUCT_VERSION_DEVICE_SPECIFIC) -$( LINEAGE_BUILD)
2013-11-11 01:55:51 +01:00
else
ifeq ( $( TARGET_BUILD_VARIANT) ,user)
2017-08-17 19:28:48 +02:00
ifeq ( $( LINEAGE_VERSION_MAINTENANCE) ,0)
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( LINEAGE_BUILD)
2016-07-15 00:42:08 +02:00
else
2017-08-17 19:28:48 +02:00
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( LINEAGE_VERSION_MAINTENANCE) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( LINEAGE_BUILD)
2016-07-15 00:42:08 +02:00
endif
2013-11-11 01:55:51 +01:00
else
2017-08-17 19:28:48 +02:00
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( PRODUCT_VERSION_MAINTENANCE) $( PRODUCT_VERSION_DEVICE_SPECIFIC) -$( LINEAGE_BUILD)
2013-11-11 01:55:51 +01:00
endif
endif
2011-11-28 16:44:23 +01:00
e l s e
2017-08-17 19:28:48 +02:00
ifeq ( $( LINEAGE_VERSION_MAINTENANCE) ,0)
2017-12-24 03:08:07 +01:00
ifeq ( $( LINEAGE_VERSION_APPEND_TIME_OF_DAY) ,true)
2017-10-21 04:41:20 +02:00
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( shell date -u +%Y%m%d_%H%M%S) -$( LINEAGE_BUILDTYPE) $( LINEAGE_EXTRAVERSION) -$( LINEAGE_BUILD)
else
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( shell date -u +%Y%m%d) -$( LINEAGE_BUILDTYPE) $( LINEAGE_EXTRAVERSION) -$( LINEAGE_BUILD)
endif
2016-07-15 00:42:08 +02:00
else
2017-12-24 03:08:07 +01:00
ifeq ( $( LINEAGE_VERSION_APPEND_TIME_OF_DAY) ,true)
2017-10-21 04:41:20 +02:00
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( LINEAGE_VERSION_MAINTENANCE) -$( shell date -u +%Y%m%d_%H%M%S) -$( LINEAGE_BUILDTYPE) $( LINEAGE_EXTRAVERSION) -$( LINEAGE_BUILD)
else
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( LINEAGE_VERSION_MAINTENANCE) -$( shell date -u +%Y%m%d) -$( LINEAGE_BUILDTYPE) $( LINEAGE_EXTRAVERSION) -$( LINEAGE_BUILD)
endif
2016-07-15 00:42:08 +02:00
endif
2011-11-28 16:44:23 +01:00
e n d i f
2012-02-23 23:07:44 +01:00
2017-01-07 07:29:06 +01:00
PRODUCT_EXTRA_RECOVERY_KEYS += \
2017-07-06 15:21:30 +02:00
vendor/lineage/build/target/product/security/lineage
2017-01-07 07:29:06 +01:00
2017-08-17 19:28:48 +02:00
- i n c l u d e v e n d o r / l i n e a g e - p r i v / k e y s / k e y s . m k
2013-10-23 21:56:56 +02:00
2017-08-17 19:28:48 +02:00
LINEAGE_DISPLAY_VERSION := $( LINEAGE_VERSION)
2014-01-09 11:25:31 +01:00
2014-01-24 18:58:36 +01:00
i f n e q ( $( PRODUCT_DEFAULT_DEV_CERTIFICATE ) , )
i f n e q ( $( PRODUCT_DEFAULT_DEV_CERTIFICATE ) , b u i l d / t a r g e t / p r o d u c t / s e c u r i t y / t e s t k e y )
2017-08-17 19:28:48 +02:00
ifneq ( $( LINEAGE_BUILDTYPE) , UNOFFICIAL)
2017-01-07 08:55:35 +01:00
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
2017-08-17 19:28:48 +02:00
ifneq ( $( LINEAGE_EXTRAVERSION) ,)
# Remove leading dash from LINEAGE_EXTRAVERSION
LINEAGE_EXTRAVERSION := $( shell echo $( LINEAGE_EXTRAVERSION) | sed 's/-//' )
TARGET_VENDOR_RELEASE_BUILD_ID := $( LINEAGE_EXTRAVERSION)
2017-01-07 08:55:35 +01:00
else
TARGET_VENDOR_RELEASE_BUILD_ID := $( shell date -u +%Y%m%d)
endif
else
TARGET_VENDOR_RELEASE_BUILD_ID := $( TARGET_VENDOR_RELEASE_BUILD_ID)
endif
2017-08-17 19:28:48 +02:00
ifeq ( $( LINEAGE_VERSION_MAINTENANCE) ,0)
LINEAGE_DISPLAY_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( LINEAGE_BUILD)
2017-01-07 08:55:35 +01:00
else
2017-08-17 19:28:48 +02:00
LINEAGE_DISPLAY_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( LINEAGE_VERSION_MAINTENANCE) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( LINEAGE_BUILD)
2017-01-07 08:55:35 +01:00
endif
2016-07-15 00:42:08 +02:00
endif
e n d i f
2014-01-09 11:25:31 +01:00
e n d i f
2014-01-31 20:59:56 +01:00
- i n c l u d e $( WORKSPACE ) / b u i l d _ e n v / i m a g e - a u t o - b i t s . m k
2017-07-06 15:21:30 +02:00
- i n c l u d e v e n d o r / l i n e a g e / c o n f i g / p a r t n e r _ g m s . m k