PRODUCT_BRAND ?= LineageOS
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE = 0
i f e q ( $( PRODUCT_GMS_CLIENTID_BASE ) , )
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase= android-google
e l s e
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase= $( PRODUCT_GMS_CLIENTID_BASE)
e n d i f
PRODUCT_PROPERTY_OVERRIDES += \
keyguard.no_require_sim= true
PRODUCT_PROPERTY_OVERRIDES += \
ro.build.selinux= 1
# Default notification/alarm sounds
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.notification_sound= Argon.ogg \
ro.config.alarm_alert= Hassium.ogg
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
# Thank you, please drive thru!
PRODUCT_PROPERTY_OVERRIDES += persist.sys.dun.override= 0
e n d i f
i f n e q ( $( TARGET_BUILD_VARIANT ) , e n g )
# Enable ADB authentication
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure= 1
e n d i f
i f e q ( $( BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE ) , )
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.device.cache_dir= /data/cache
e l s e
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.device.cache_dir= /cache
e n d i f
# 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:system/addon.d/50-lineage.sh \
vendor/lineage/prebuilt/common/bin/blacklist:system/addon.d/blacklist
# Backup Services whitelist
PRODUCT_COPY_FILES += \
vendor/lineage/config/permissions/backup.xml:system/etc/sysconfig/backup.xml
# Signature compatibility validation
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/bin/otasigcheck.sh:install/bin/otasigcheck.sh
# init.d support
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init.d/00banner:system/etc/init.d/00banner \
vendor/lineage/prebuilt/common/bin/sysinit:system/bin/sysinit
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
# userinit support
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init.d/90userinit:system/etc/init.d/90userinit
e n d i f
# Lineage-specific init file
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init.local.rc:root/init.lineage.rc
# Copy over added mimetype supported in libcore.net.MimeUtils
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/lib/content-types.properties:system/lib/content-types.properties
# Enable SIP+VoIP on all targets
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
# Enable wireless Xbox 360 controller support
PRODUCT_COPY_FILES += \
frameworks/base/data/keyboards/Vendor_045e_Product_028e.kl:system/usr/keylayout/Vendor_045e_Product_0719.kl
# This is Lineage!
PRODUCT_COPY_FILES += \
vendor/lineage/config/permissions/com.cyanogenmod.android.xml:system/etc/permissions/com.cyanogenmod.android.xml
# 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
i f n e q ( $( TARGET_DISABLE_CMSDK ) , t r u e )
# CMSDK
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 / c m s d k _ c o m m o n . m k
e n d i f
# TWRP
i f e q ( $( WITH_TWRP ) , t r u e )
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 / t w r p . m k
e n d i f
# Bootanimation
PRODUCT_PACKAGES += \
bootanimation.zip
# Required Lineage packages
PRODUCT_PACKAGES += \
BluetoothExt \
CMAudioService \
CMParts \
Development \
Profiles \
WeatherManagerService
# Optional packages
PRODUCT_PACKAGES += \
libemoji \
LiveWallpapersPicker \
PhotoTable \
Terminal
# Include explicitly to work around GMS issues
PRODUCT_PACKAGES += \
libprotobuf-cpp-full \
librsjni
# Custom Lineage packages
PRODUCT_PACKAGES += \
AudioFX \
CMSettingsProvider \
LineageSetupWizard \
Eleven \
ExactCalculator \
Jelly \
LockClock \
Trebuchet \
Updater \
WallpaperPicker \
WeatherProvider
# Exchange support
PRODUCT_PACKAGES += \
Exchange2
# Extra tools in Lineage
PRODUCT_PACKAGES += \
7z \
bash \
bzip2 \
curl \
fsck.ntfs \
gdbserver \
htop \
lib7z \
libsepol \
micro_bench \
mke2fs \
mkfs.ntfs \
mount.ntfs \
oprofiled \
pigz \
powertop \
sqlite3 \
strace \
tune2fs \
unrar \
unzip \
vim \
wget \
zip
# Custom off-mode charger
i f n e q ( $( WITH_LINEAGE_CHARGER ) , f a l s e )
PRODUCT_PACKAGES += \
charger_res_images \
lineage_charger_res_images \
font_log.png \
libhealthd.lineage
e n d i f
# ExFAT support
WITH_EXFAT ?= true
i f e q ( $( WITH_EXFAT ) , t r u e )
TARGET_USES_EXFAT := true
PRODUCT_PACKAGES += \
mount.exfat \
fsck.exfat \
mkfs.exfat
e n d i f
# Openssh
PRODUCT_PACKAGES += \
scp \
sftp \
ssh \
sshd \
sshd_config \
ssh-keygen \
start-ssh
# rsync
PRODUCT_PACKAGES += \
rsync
# Stagefright FFMPEG plugin
PRODUCT_PACKAGES += \
libffmpeg_extractor \
libffmpeg_omx \
media_codecs_ffmpeg.xml
PRODUCT_PROPERTY_OVERRIDES += \
media.sf.omx-plugin= libffmpeg_omx.so \
media.sf.extractor-plugin= libffmpeg_extractor.so
# Storage manager
PRODUCT_PROPERTY_OVERRIDES += \
ro.storage_manager.enabled= true
# These packages are excluded from user builds
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
PRODUCT_PACKAGES += \
procmem \
procrank
# Conditionally build in su
i f e q ( $( WITH_SU ) , t r u e )
PRODUCT_PACKAGES += \
su
e n d i f
e n d i f
DEVICE_PACKAGE_OVERLAYS += vendor/lineage/overlay/common
PRODUCT_VERSION_MAJOR = 15
PRODUCT_VERSION_MINOR = 0
PRODUCT_VERSION_MAINTENANCE := 0
i f e q ( $( TARGET_VENDOR_SHOW_MAINTENANCE_VERSION ) , t r u e )
LINEAGE_VERSION_MAINTENANCE := $( PRODUCT_VERSION_MAINTENANCE)
e l s e
LINEAGE_VERSION_MAINTENANCE := 0
e n d i f
# Set LINEAGE_BUILDTYPE from the env RELEASE_TYPE, for jenkins compat
i f n d e f L I N E A G E _ B U I L D T Y P E
ifdef RELEASE_TYPE
# Starting with "LINEAGE_" is optional
RELEASE_TYPE := $( shell echo $( RELEASE_TYPE) | sed -e 's|^LINEAGE_||g' )
LINEAGE_BUILDTYPE := $( RELEASE_TYPE)
endif
e n d i f
# Filter out random types, so it'll reset to UNOFFICIAL
i f e q ( $( filter RELEASE NIGHTLY SNAPSHOT EXPERIMENTAL ,$ ( LINEAGE_BUILDTYPE ) ) , )
LINEAGE_BUILDTYPE :=
e n d i f
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
# Force build type to EXPERIMENTAL
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)
endif
else
ifndef LINEAGE_EXTRAVERSION
# Force build type to EXPERIMENTAL, SNAPSHOT mandates a tag
LINEAGE_BUILDTYPE := EXPERIMENTAL
else
# Remove leading dash from LINEAGE_EXTRAVERSION
LINEAGE_EXTRAVERSION := $( shell echo $( LINEAGE_EXTRAVERSION) | sed 's/-//' )
# Add leading dash to LINEAGE_EXTRAVERSION
LINEAGE_EXTRAVERSION := -$( LINEAGE_EXTRAVERSION)
endif
endif
e l s e
# If LINEAGE_BUILDTYPE is not defined, set to UNOFFICIAL
LINEAGE_BUILDTYPE := UNOFFICIAL
LINEAGE_EXTRAVERSION :=
e n d i f
i f e q ( $( LINEAGE_BUILDTYPE ) , U N O F F I C I A L )
ifneq ( $( TARGET_UNOFFICIAL_BUILD_ID) ,)
LINEAGE_EXTRAVERSION := -$( TARGET_UNOFFICIAL_BUILD_ID)
endif
e n d i f
i f e q ( $( LINEAGE_BUILDTYPE ) , R E L E A S E )
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( PRODUCT_VERSION_MAINTENANCE) $( PRODUCT_VERSION_DEVICE_SPECIFIC) -$( LINEAGE_BUILD)
else
ifeq ( $( TARGET_BUILD_VARIANT) ,user)
ifeq ( $( LINEAGE_VERSION_MAINTENANCE) ,0)
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( LINEAGE_BUILD)
else
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( LINEAGE_VERSION_MAINTENANCE) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( LINEAGE_BUILD)
endif
else
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( PRODUCT_VERSION_MAINTENANCE) $( PRODUCT_VERSION_DEVICE_SPECIFIC) -$( LINEAGE_BUILD)
endif
endif
e l s e
ifeq ( $( LINEAGE_VERSION_MAINTENANCE) ,0)
LINEAGE_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( shell date -u +%Y%m%d) -$( 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
e n d i f
PRODUCT_PROPERTY_OVERRIDES += \
ro.lineage.version= $( LINEAGE_VERSION) \
ro.lineage.releasetype= $( LINEAGE_BUILDTYPE) \
ro.lineage.build.version= $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) \
ro.modversion= $( LINEAGE_VERSION) \
ro.lineagelegal.url= https://lineageos.org/legal
PRODUCT_EXTRA_RECOVERY_KEYS += \
vendor/lineage/build/target/product/security/lineage
- 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
LINEAGE_DISPLAY_VERSION := $( LINEAGE_VERSION)
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 )
ifneq ( $( LINEAGE_BUILDTYPE) , UNOFFICIAL)
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
ifneq ( $( LINEAGE_EXTRAVERSION) ,)
# Remove leading dash from LINEAGE_EXTRAVERSION
LINEAGE_EXTRAVERSION := $( shell echo $( LINEAGE_EXTRAVERSION) | sed 's/-//' )
TARGET_VENDOR_RELEASE_BUILD_ID := $( LINEAGE_EXTRAVERSION)
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
ifeq ( $( LINEAGE_VERSION_MAINTENANCE) ,0)
LINEAGE_DISPLAY_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( LINEAGE_BUILD)
else
LINEAGE_DISPLAY_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( LINEAGE_VERSION_MAINTENANCE) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( LINEAGE_BUILD)
endif
endif
e n d i f
e n d i f
PRODUCT_PROPERTY_OVERRIDES += \
ro.lineage.display.version= $( LINEAGE_DISPLAY_VERSION)
- 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
- 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
- i n c l u d e v e n d o r / c y n g n / p r o d u c t . m k
$( call prepend -product -if -exists , vendor /extra /product .mk )