89 lines
3.5 KiB
Diff
89 lines
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Tad <tad@spotco.us>
|
|
Date: Tue, 6 Apr 2021 05:04:32 -0400
|
|
Subject: [PATCH] Allow setting OTA public keys from environment variable
|
|
|
|
Change-Id: Ib2a00de63b0c7a8790640462d13a84daf2076fa7
|
|
---
|
|
core/product_config.mk | 5 +++++
|
|
target/product/security/Android.mk | 21 +++++++++++++++++----
|
|
tools/buildinfo.sh | 4 ++--
|
|
3 files changed, 24 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/core/product_config.mk b/core/product_config.mk
|
|
index 37146d3a9..7dc8113f5 100644
|
|
--- a/core/product_config.mk
|
|
+++ b/core/product_config.mk
|
|
@@ -395,6 +395,11 @@ PRODUCT_OTA_PUBLIC_KEYS := $(sort $(PRODUCT_OTA_PUBLIC_KEYS))
|
|
PRODUCT_EXTRA_OTA_KEYS := $(sort $(PRODUCT_EXTRA_OTA_KEYS))
|
|
PRODUCT_EXTRA_RECOVERY_KEYS := $(sort $(PRODUCT_EXTRA_RECOVERY_KEYS))
|
|
|
|
+ifneq ($(OTA_KEY_OVERRIDE_DIR),)
|
|
+ PRODUCT_OTA_PUBLIC_KEYS := $(OTA_KEY_OVERRIDE_DIR)/releasekey.x509.pem
|
|
+ PRODUCT_EXTRA_RECOVERY_KEYS := $(OTA_KEY_OVERRIDE_DIR)/extra
|
|
+endif
|
|
+
|
|
# Resolve and setup per-module dex-preopt configs.
|
|
DEXPREOPT_DISABLED_MODULES :=
|
|
# If a module has multiple setups, the first takes precedence.
|
|
diff --git a/target/product/security/Android.mk b/target/product/security/Android.mk
|
|
index ad25a9261..c2dca4dc4 100644
|
|
--- a/target/product/security/Android.mk
|
|
+++ b/target/product/security/Android.mk
|
|
@@ -70,11 +70,17 @@ include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
extra_ota_keys := $(addsuffix .x509.pem,$(PRODUCT_EXTRA_OTA_KEYS))
|
|
|
|
-$(LOCAL_BUILT_MODULE): PRIVATE_CERT := $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem
|
|
+OTA_PUBLIC_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem
|
|
+
|
|
+ifneq ($(OTA_KEY_OVERRIDE_DIR),)
|
|
+ OTA_PUBLIC_KEYS := $(OTA_KEY_OVERRIDE_DIR)/releasekey.x509.pem
|
|
+endif
|
|
+
|
|
+$(LOCAL_BUILT_MODULE): PRIVATE_CERT := $(OTA_PUBLIC_KEYS)
|
|
$(LOCAL_BUILT_MODULE): PRIVATE_EXTRA_OTA_KEYS := $(extra_ota_keys)
|
|
$(LOCAL_BUILT_MODULE): \
|
|
$(SOONG_ZIP) \
|
|
- $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem \
|
|
+ $(OTA_PUBLIC_KEYS) \
|
|
$(extra_ota_keys)
|
|
$(SOONG_ZIP) -o $@ -j -symlinks=false \
|
|
$(addprefix -f ,$(PRIVATE_CERT) $(PRIVATE_EXTRA_OTA_KEYS))
|
|
@@ -95,11 +101,18 @@ include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
extra_recovery_keys := $(addsuffix .x509.pem,$(PRODUCT_EXTRA_RECOVERY_KEYS))
|
|
|
|
-$(LOCAL_BUILT_MODULE): PRIVATE_CERT := $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem
|
|
+OTA_PUBLIC_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem
|
|
+
|
|
+ifneq ($(OTA_KEY_OVERRIDE_DIR),)
|
|
+ OTA_PUBLIC_KEYS := $(OTA_KEY_OVERRIDE_DIR)/releasekey.x509.pem
|
|
+ extra_recovery_keys := $(OTA_KEY_OVERRIDE_DIR)/extra.x509.pem
|
|
+endif
|
|
+
|
|
+$(LOCAL_BUILT_MODULE): PRIVATE_CERT := $(OTA_PUBLIC_KEYS)
|
|
$(LOCAL_BUILT_MODULE): PRIVATE_EXTRA_RECOVERY_KEYS := $(extra_recovery_keys)
|
|
$(LOCAL_BUILT_MODULE): \
|
|
$(SOONG_ZIP) \
|
|
- $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem \
|
|
+ $(OTA_PUBLIC_KEYS) \
|
|
$(extra_recovery_keys)
|
|
$(SOONG_ZIP) -o $@ -j -symlinks=false \
|
|
$(addprefix -f ,$(PRIVATE_CERT) $(PRIVATE_EXTRA_RECOVERY_KEYS))
|
|
diff --git a/tools/buildinfo.sh b/tools/buildinfo.sh
|
|
index c00e1e98b..8145794e1 100755
|
|
--- a/tools/buildinfo.sh
|
|
+++ b/tools/buildinfo.sh
|
|
@@ -26,8 +26,8 @@ echo "ro.build.version.min_supported_target_sdk=$PLATFORM_MIN_SUPPORTED_TARGET_S
|
|
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"
|
|
+echo "ro.build.user=emy"
|
|
+echo "ro.build.host=dosbm"
|
|
echo "ro.build.tags=$BUILD_VERSION_TAGS"
|
|
echo "ro.build.flavor=$TARGET_BUILD_FLAVOR"
|
|
if [ -n "$BOARD_BUILD_SYSTEM_ROOT_IMAGE" ] ; then
|