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 (cherry picked from https://android-review.googlesource.com/q/commit:c4baa3aa7240e1b0cb013f853669aa419e55ee1e) Merged-In: I7c4a1f291bb426ad599e1dc937e6ecd3889b5820 Change-Id: I7c4a1f291bb426ad599e1dc937e6ecd3889b5820
This commit is contained in:
parent
36777736f4
commit
b9da7e704e
3 changed files with 20 additions and 8 deletions
|
@ -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,
|
||||||
|
|
Loading…
Reference in a new issue