Allow PLATFORM_BASE_OS override from product config
PLATFORM_BASE_OS is used to set value for ro.build.version.base_os which is used to qualify a device build as SMR (Security Maintenance Release) during APFE (Android Partner Approval) to optimize the test span. See ag/26859560 on how we plan to use this variable. Add PRODUCT_BASE_OS that can be used to override PLATFORM_BASE_OS value before making it read_only. Plan is to set the value for PRODUCT_BASE_OS using build flags. This way, it can be easily set per device when making on-demand SMR releases. In future, move it to be set via soong variable during build process once build system side is ready. Test: None Bug: 155105803 Change-Id: I7c4a1f291bb426ad599e1dc937e6ecd3889b5820
This commit is contained in:
committed by
Cole Faust
parent
7575d3f967
commit
c4baa3aa72
@@ -26,6 +26,7 @@ _product_single_value_vars += PRODUCT_NAME
|
|||||||
_product_single_value_vars += PRODUCT_MODEL
|
_product_single_value_vars += PRODUCT_MODEL
|
||||||
_product_single_value_vars += PRODUCT_NAME_FOR_ATTESTATION
|
_product_single_value_vars += PRODUCT_NAME_FOR_ATTESTATION
|
||||||
_product_single_value_vars += PRODUCT_MODEL_FOR_ATTESTATION
|
_product_single_value_vars += PRODUCT_MODEL_FOR_ATTESTATION
|
||||||
|
_product_single_value_vars += PRODUCT_BASE_OS
|
||||||
|
|
||||||
# Defines the ELF segment alignment for binaries (executables and shared libraries).
|
# Defines the ELF segment alignment for binaries (executables and shared libraries).
|
||||||
# The ELF segment alignment has to be a PAGE_SIZE multiple. For example, if
|
# The ELF segment alignment has to be a PAGE_SIZE multiple. For example, if
|
||||||
|
@@ -311,6 +311,14 @@ endif
|
|||||||
|
|
||||||
TARGET_DEVICE := $(PRODUCT_DEVICE)
|
TARGET_DEVICE := $(PRODUCT_DEVICE)
|
||||||
|
|
||||||
|
# Allow overriding PLATFORM_BASE_OS when PRODUCT_BASE_OS is defined
|
||||||
|
ifdef PRODUCT_BASE_OS
|
||||||
|
PLATFORM_BASE_OS := $(PRODUCT_BASE_OS)
|
||||||
|
else
|
||||||
|
PLATFORM_BASE_OS := $(PLATFORM_BASE_OS_ENV_INPUT)
|
||||||
|
endif
|
||||||
|
.KATI_READONLY := PLATFORM_BASE_OS
|
||||||
|
|
||||||
# TODO: also keep track of things like "port", "land" in product files.
|
# TODO: also keep track of things like "port", "land" in product files.
|
||||||
|
|
||||||
# Figure out which resoure configuration options to use for this
|
# Figure out which resoure configuration options to use for this
|
||||||
|
@@ -183,14 +183,17 @@ ifndef PLATFORM_SECURITY_PATCH_TIMESTAMP
|
|||||||
endif
|
endif
|
||||||
.KATI_READONLY := PLATFORM_SECURITY_PATCH_TIMESTAMP
|
.KATI_READONLY := PLATFORM_SECURITY_PATCH_TIMESTAMP
|
||||||
|
|
||||||
ifndef PLATFORM_BASE_OS
|
# PLATFORM_BASE_OS is used to indicate the base os applied
|
||||||
# Used to indicate the base os applied to the device.
|
# to the device. Can be an arbitrary string, but must be a
|
||||||
# Can be an arbitrary string, but must be a single word.
|
# single word.
|
||||||
#
|
#
|
||||||
# If there is no $PLATFORM_BASE_OS set, keep it empty.
|
# If there is no $PLATFORM_BASE_OS set, keep it empty.
|
||||||
PLATFORM_BASE_OS :=
|
#
|
||||||
endif
|
# PLATFORM_BASE_OS can either be set via an enviornment
|
||||||
.KATI_READONLY := PLATFORM_BASE_OS
|
# variable, or set via the PRODUCT_BASE_OS product variable.
|
||||||
|
PLATFORM_BASE_OS_ENV_INPUT := $(PLATFORM_BASE_OS)
|
||||||
|
.KATI_READONLY := PLATFORM_BASE_OS_ENV_INPUT
|
||||||
|
PLATFORM_BASE_OS :=
|
||||||
|
|
||||||
ifndef BUILD_ID
|
ifndef BUILD_ID
|
||||||
# Used to signify special builds. E.g., branches and/or releases,
|
# Used to signify special builds. E.g., branches and/or releases,
|
||||||
|
Reference in New Issue
Block a user