Migrate buildinfo.sh script into Soong
To build system.img in Soong, we need all artifacts including build.prop. This fully migrates buildinfo.prop file into Soong as a first step to build build.prop on Soong. Bug: 322090587 Test: compare build.prop before and after Test: build multiple times and see build.prop isn't rebuilt Change-Id: I0d5aab21a825cfe22f97a6834209f9df196625d9
This commit is contained in:
parent
b0dfb70381
commit
6a35810856
3 changed files with 16 additions and 145 deletions
|
@ -31,7 +31,11 @@ $(call add_json_str, Make_suffix, -$(TARGET_PRODUCT))
|
|||
|
||||
$(call add_json_str, BuildId, $(BUILD_ID))
|
||||
$(call add_json_str, BuildNumberFile, build_number.txt)
|
||||
$(call add_json_str, BuildHostnameFile, build_hostname.txt)
|
||||
$(call add_json_str, BuildThumbprintFile, build_thumbprint.txt)
|
||||
$(call add_json_bool, DisplayBuildNumber, $(filter true,$(DISPLAY_BUILD_NUMBER)))
|
||||
|
||||
$(call add_json_str, Platform_display_version_name, $(PLATFORM_DISPLAY_VERSION))
|
||||
$(call add_json_str, Platform_version_name, $(PLATFORM_VERSION))
|
||||
$(call add_json_val, Platform_sdk_version, $(PLATFORM_SDK_VERSION))
|
||||
$(call add_json_str, Platform_sdk_codename, $(PLATFORM_VERSION_CODENAME))
|
||||
|
@ -58,6 +62,7 @@ $(call add_json_bool, Always_use_prebuilt_sdks, $(TARGET_BUILD_USE_PREB
|
|||
|
||||
$(call add_json_bool, Debuggable, $(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
|
||||
$(call add_json_bool, Eng, $(filter eng,$(TARGET_BUILD_VARIANT)))
|
||||
$(call add_json_str, BuildType, $(TARGET_BUILD_TYPE))
|
||||
|
||||
$(call add_json_str, DeviceName, $(TARGET_DEVICE))
|
||||
$(call add_json_str, DeviceProduct, $(TARGET_PRODUCT))
|
||||
|
@ -323,7 +328,6 @@ $(call add_json_list, AfdoProfiles, $(ALL_AFDO_PROFILES))
|
|||
|
||||
$(call add_json_str, ProductManufacturer, $(PRODUCT_MANUFACTURER))
|
||||
$(call add_json_str, ProductBrand, $(PRODUCT_BRAND))
|
||||
$(call add_json_list, BuildVersionTags, $(BUILD_VERSION_TAGS))
|
||||
|
||||
$(call add_json_str, ReleaseVersion, $(_RELEASE_VERSION))
|
||||
$(call add_json_list, ReleaseAconfigValueSets, $(RELEASE_ACONFIG_VALUE_SETS))
|
||||
|
@ -406,6 +410,14 @@ $(call add_json_bool, ExportRuntimeApis, $(filter true,$(PRODUCT_EXPORT_RUNTIME_
|
|||
|
||||
$(call add_json_str, AconfigContainerValidation, $(ACONFIG_CONTAINER_VALIDATION))
|
||||
|
||||
$(call add_json_list, ProductLocales, $(subst _,-,$(PRODUCT_LOCALES)))
|
||||
|
||||
$(call add_json_list, ProductDefaultWifiChannels, $(PRODUCT_DEFAULT_WIFI_CHANNELS))
|
||||
|
||||
$(call add_json_bool, BoardUseVbmetaDigestInFingerprint, $(filter true,$(BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT)))
|
||||
|
||||
$(call add_json_list, OemProperties, $(PRODUCT_OEM_PROPERTIES))
|
||||
|
||||
$(call json_end)
|
||||
|
||||
$(file >$(SOONG_VARIABLES).tmp,$(json_contents))
|
||||
|
|
|
@ -23,7 +23,6 @@ ifeq ($(BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED), true)
|
|||
property_overrides_split_enabled := true
|
||||
endif
|
||||
|
||||
BUILDINFO_SH := build/make/tools/buildinfo.sh
|
||||
POST_PROCESS_PROPS := $(HOST_OUT_EXECUTABLES)/post_process_props$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
# Emits a set of sysprops common to all partitions to a file.
|
||||
|
@ -212,44 +211,10 @@ endif
|
|||
ifneq (,$(shell mkdir -p $(PRODUCT_OUT) && echo $(BUILD_THUMBPRINT) >$(BUILD_THUMBPRINT_FILE) && grep " " $(BUILD_THUMBPRINT_FILE)))
|
||||
$(error BUILD_THUMBPRINT cannot contain spaces: "$(file <$(BUILD_THUMBPRINT_FILE))")
|
||||
endif
|
||||
BUILD_THUMBPRINT_FROM_FILE := $$(cat $(BUILD_THUMBPRINT_FILE))
|
||||
# unset it for safety.
|
||||
BUILD_THUMBPRINT_FILE :=
|
||||
BUILD_THUMBPRINT :=
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# Define human readable strings that describe this build
|
||||
#
|
||||
|
||||
# BUILD_ID: detail info; has the same info as the build fingerprint
|
||||
BUILD_DESC := $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT) $(PLATFORM_VERSION) $(BUILD_ID) $(BUILD_NUMBER_FROM_FILE) $(BUILD_VERSION_TAGS)
|
||||
|
||||
# BUILD_DISPLAY_ID is shown under Settings -> About Phone
|
||||
ifeq ($(TARGET_BUILD_VARIANT),user)
|
||||
# User builds should show:
|
||||
# release build number or branch.buld_number non-release builds
|
||||
|
||||
# Dev. branches should have DISPLAY_BUILD_NUMBER set
|
||||
ifeq (true,$(DISPLAY_BUILD_NUMBER))
|
||||
BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER_FROM_FILE) $(BUILD_KEYS)
|
||||
else
|
||||
BUILD_DISPLAY_ID := $(BUILD_ID) $(BUILD_KEYS)
|
||||
endif
|
||||
else
|
||||
# Non-user builds should show detailed build information
|
||||
BUILD_DISPLAY_ID := $(BUILD_DESC)
|
||||
endif
|
||||
|
||||
# TARGET_BUILD_FLAVOR and ro.build.flavor are used only by the test
|
||||
# harness to distinguish builds. Only add _asan for a sanitized build
|
||||
# if it isn't already a part of the flavor (via a dedicated lunch
|
||||
# config for example).
|
||||
TARGET_BUILD_FLAVOR := $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT)
|
||||
ifneq (, $(filter address, $(SANITIZE_TARGET)))
|
||||
ifeq (,$(findstring _asan,$(TARGET_BUILD_FLAVOR)))
|
||||
TARGET_BUILD_FLAVOR := $(TARGET_BUILD_FLAVOR)_asan
|
||||
endif
|
||||
endif
|
||||
|
||||
KNOWN_OEM_THUMBPRINT_PROPERTIES := \
|
||||
ro.product.brand \
|
||||
ro.product.name \
|
||||
|
@ -264,54 +229,7 @@ KNOWN_OEM_THUMBPRINT_PROPERTIES:=
|
|||
# Note: parts of this file that can't be generated by the build-properties
|
||||
# macro are manually created as separate files and then fed into the macro
|
||||
|
||||
# Accepts a whitespace separated list of product locales such as
|
||||
# (en_US en_AU en_GB...) and returns the first locale in the list with
|
||||
# underscores replaced with hyphens. In the example above, this will
|
||||
# return "en-US".
|
||||
define get-default-product-locale
|
||||
$(strip $(subst _,-, $(firstword $(1))))
|
||||
endef
|
||||
|
||||
gen_from_buildinfo_sh := $(call intermediates-dir-for,PACKAGING,system_build_prop)/buildinfo.prop
|
||||
|
||||
ifeq ($(strip $(HAS_BUILD_NUMBER)),true)
|
||||
$(gen_from_buildinfo_sh): $(BUILD_NUMBER_FILE)
|
||||
endif
|
||||
$(gen_from_buildinfo_sh): $(INTERNAL_BUILD_ID_MAKEFILE) $(API_FINGERPRINT) $(BUILD_HOSTNAME_FILE) | $(BUILD_DATETIME_FILE)
|
||||
$(hide) TARGET_BUILD_TYPE="$(TARGET_BUILD_VARIANT)" \
|
||||
TARGET_BUILD_FLAVOR="$(TARGET_BUILD_FLAVOR)" \
|
||||
TARGET_DEVICE="$(TARGET_DEVICE)" \
|
||||
PRODUCT_DEFAULT_LOCALE="$(call get-default-product-locale,$(PRODUCT_LOCALES))" \
|
||||
PRODUCT_DEFAULT_WIFI_CHANNELS="$(PRODUCT_DEFAULT_WIFI_CHANNELS)" \
|
||||
PRIVATE_BUILD_DESC="$(BUILD_DESC)" \
|
||||
BUILD_ID="$(BUILD_ID)" \
|
||||
BUILD_DISPLAY_ID="$(BUILD_DISPLAY_ID)" \
|
||||
DATE="$(DATE_FROM_FILE)" \
|
||||
BUILD_USERNAME="$(BUILD_USERNAME)" \
|
||||
BUILD_HOSTNAME="$(BUILD_HOSTNAME_FROM_FILE)" \
|
||||
BUILD_NUMBER="$(BUILD_NUMBER_FROM_FILE)" \
|
||||
BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT="$(BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT)" \
|
||||
PLATFORM_VERSION="$(PLATFORM_VERSION)" \
|
||||
PLATFORM_DISPLAY_VERSION="$(PLATFORM_DISPLAY_VERSION)" \
|
||||
PLATFORM_VERSION_LAST_STABLE="$(PLATFORM_VERSION_LAST_STABLE)" \
|
||||
PLATFORM_SECURITY_PATCH="$(PLATFORM_SECURITY_PATCH)" \
|
||||
PLATFORM_BASE_OS="$(PLATFORM_BASE_OS)" \
|
||||
PLATFORM_SDK_VERSION="$(PLATFORM_SDK_VERSION)" \
|
||||
PLATFORM_PREVIEW_SDK_VERSION="$(PLATFORM_PREVIEW_SDK_VERSION)" \
|
||||
PLATFORM_PREVIEW_SDK_FINGERPRINT="$$(cat $(API_FINGERPRINT))" \
|
||||
PLATFORM_VERSION_CODENAME="$(PLATFORM_VERSION_CODENAME)" \
|
||||
PLATFORM_VERSION_ALL_CODENAMES="$(PLATFORM_VERSION_ALL_CODENAMES)" \
|
||||
PLATFORM_VERSION_KNOWN_CODENAMES="$(PLATFORM_VERSION_KNOWN_CODENAMES)" \
|
||||
PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION="$(PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION)" \
|
||||
BUILD_VERSION_TAGS="$(BUILD_VERSION_TAGS)" \
|
||||
$(if $(OEM_THUMBPRINT_PROPERTIES),BUILD_THUMBPRINT="$(BUILD_THUMBPRINT_FROM_FILE)") \
|
||||
TARGET_CPU_ABI_LIST="$(TARGET_CPU_ABI_LIST)" \
|
||||
TARGET_CPU_ABI_LIST_32_BIT="$(TARGET_CPU_ABI_LIST_32_BIT)" \
|
||||
TARGET_CPU_ABI_LIST_64_BIT="$(TARGET_CPU_ABI_LIST_64_BIT)" \
|
||||
TARGET_CPU_ABI="$(TARGET_CPU_ABI)" \
|
||||
TARGET_CPU_ABI2="$(TARGET_CPU_ABI2)" \
|
||||
ZYGOTE_FORCE_64_BIT="$(ZYGOTE_FORCE_64_BIT)" \
|
||||
bash $(BUILDINFO_SH) > $@
|
||||
buildinfo_prop := $(call intermediates-dir-for,ETC,buildinfo.prop)/buildinfo.prop
|
||||
|
||||
ifdef TARGET_SYSTEM_PROP
|
||||
system_prop_file := $(TARGET_SYSTEM_PROP)
|
||||
|
@ -320,7 +238,7 @@ system_prop_file := $(wildcard $(TARGET_DEVICE_DIR)/system.prop)
|
|||
endif
|
||||
|
||||
_prop_files_ := \
|
||||
$(gen_from_buildinfo_sh) \
|
||||
$(buildinfo_prop) \
|
||||
$(system_prop_file)
|
||||
|
||||
# Order matters here. When there are duplicates, the last one wins.
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "# begin build properties"
|
||||
echo "# autogenerated by buildinfo.sh"
|
||||
|
||||
# The ro.build.id will be set dynamically by init, by appending the unique vbmeta digest.
|
||||
if [ "$BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT" = "true" ] ; then
|
||||
echo "ro.build.legacy.id=$BUILD_ID"
|
||||
else
|
||||
echo "ro.build.id?=$BUILD_ID"
|
||||
fi
|
||||
echo "ro.build.display.id?=$BUILD_DISPLAY_ID"
|
||||
echo "ro.build.version.incremental=$BUILD_NUMBER"
|
||||
echo "ro.build.version.sdk=$PLATFORM_SDK_VERSION"
|
||||
echo "ro.build.version.preview_sdk=$PLATFORM_PREVIEW_SDK_VERSION"
|
||||
echo "ro.build.version.preview_sdk_fingerprint=$PLATFORM_PREVIEW_SDK_FINGERPRINT"
|
||||
echo "ro.build.version.codename=$PLATFORM_VERSION_CODENAME"
|
||||
echo "ro.build.version.all_codenames=$PLATFORM_VERSION_ALL_CODENAMES"
|
||||
echo "ro.build.version.known_codenames=$PLATFORM_VERSION_KNOWN_CODENAMES"
|
||||
echo "ro.build.version.release=$PLATFORM_VERSION_LAST_STABLE"
|
||||
echo "ro.build.version.release_or_codename=$PLATFORM_VERSION"
|
||||
echo "ro.build.version.release_or_preview_display=$PLATFORM_DISPLAY_VERSION"
|
||||
echo "ro.build.version.security_patch=$PLATFORM_SECURITY_PATCH"
|
||||
echo "ro.build.version.base_os=$PLATFORM_BASE_OS"
|
||||
echo "ro.build.version.min_supported_target_sdk=$PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION"
|
||||
echo "ro.build.date=`$DATE`"
|
||||
echo "ro.build.date.utc=`$DATE +%s`"
|
||||
echo "ro.build.type=$TARGET_BUILD_TYPE"
|
||||
echo "ro.build.user=$BUILD_USERNAME"
|
||||
echo "ro.build.host=$BUILD_HOSTNAME"
|
||||
# TODO: Remove any tag-related optional property declarations once the goals
|
||||
# from go/arc-android-sigprop-changes have been achieved.
|
||||
echo "ro.build.tags?=$BUILD_VERSION_TAGS"
|
||||
echo "ro.build.flavor=$TARGET_BUILD_FLAVOR"
|
||||
|
||||
# These values are deprecated, use "ro.product.cpu.abilist"
|
||||
# instead (see below).
|
||||
echo "# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,"
|
||||
echo "# use ro.product.cpu.abilist instead."
|
||||
echo "ro.product.cpu.abi=$TARGET_CPU_ABI"
|
||||
if [ -n "$TARGET_CPU_ABI2" ] ; then
|
||||
echo "ro.product.cpu.abi2=$TARGET_CPU_ABI2"
|
||||
fi
|
||||
|
||||
if [ -n "$PRODUCT_DEFAULT_LOCALE" ] ; then
|
||||
echo "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"
|
||||
fi
|
||||
echo "ro.wifi.channels=$PRODUCT_DEFAULT_WIFI_CHANNELS"
|
||||
|
||||
echo "# ro.build.product is obsolete; use ro.product.device"
|
||||
echo "ro.build.product=$TARGET_DEVICE"
|
||||
|
||||
echo "# Do not try to parse description or thumbprint"
|
||||
echo "ro.build.description?=$PRIVATE_BUILD_DESC"
|
||||
if [ -n "$BUILD_THUMBPRINT" ] ; then
|
||||
echo "ro.build.thumbprint=$BUILD_THUMBPRINT"
|
||||
fi
|
||||
|
||||
echo "# end build properties"
|
Loading…
Reference in a new issue