diff options
author | 2024-08-15 07:38:17 +0000 | |
---|---|---|
committer | 2024-08-15 07:38:17 +0000 | |
commit | 1e45baff6bf048e90adcdf00a568b424d7bf1662 (patch) | |
tree | 63b6bfd189593e1a1755d584f4bdb2d0bf493f3c | |
parent | f55902f65fe2289dc69024f39753df8782560f13 (diff) |
Add /odm/apex/ support.
We now allow APEXes in /odm.
Bug: 162049873
Change-Id: I2af97504a8d6159e778f8f833335db49beee6873
-rw-r--r-- | core/Makefile | 3 | ||||
-rw-r--r-- | tools/releasetools/Android.bp | 1 | ||||
-rw-r--r-- | tools/releasetools/apex_utils.py | 4 | ||||
-rwxr-xr-x | tools/releasetools/check_target_files_vintf.py | 3 |
4 files changed, 9 insertions, 2 deletions
diff --git a/core/Makefile b/core/Makefile index 1e7e3f2b1c..1eb5cab963 100644 --- a/core/Makefile +++ b/core/Makefile @@ -5136,6 +5136,7 @@ apex_dirs := \ $(TARGET_OUT)/apex/% \ $(TARGET_OUT_SYSTEM_EXT)/apex/% \ $(TARGET_OUT_VENDOR)/apex/% \ + $(TARGET_OUT_ODM)/apex/% \ $(TARGET_OUT_PRODUCT)/apex/% \ apex_files := $(sort $(filter $(apex_dirs), $(INTERNAL_ALLIMAGES_FILES))) @@ -5188,6 +5189,7 @@ apex_dirs := \ $(TARGET_OUT_PRODUCT)/apex/% \ $(TARGET_OUT_SYSTEM_EXT)/apex/% \ $(TARGET_OUT_VENDOR)/apex/% \ + $(TARGET_OUT_ODM)/apex/% \ apex_files := $(sort $(filter $(apex_dirs), $(INTERNAL_ALLIMAGES_FILES))) @@ -5206,6 +5208,7 @@ $(APEX_INFO_FILE): $(HOST_OUT_EXECUTABLES)/apexd_host $(apex_files) --system_ext_path $(TARGET_OUT_SYSTEM_EXT) \ --product_path $(TARGET_OUT_PRODUCT) \ --vendor_path $(TARGET_OUT_VENDOR) \ + --odm_path $(TARGET_OUT_ODM) \ --apex_path $(APEX_OUT) apex_files := diff --git a/tools/releasetools/Android.bp b/tools/releasetools/Android.bp index 9b134f22d4..56af60f166 100644 --- a/tools/releasetools/Android.bp +++ b/tools/releasetools/Android.bp @@ -96,6 +96,7 @@ python_defaults { ], libs: [ "apex_manifest", + "releasetools_apex_utils", "releasetools_common", ], required: [ diff --git a/tools/releasetools/apex_utils.py b/tools/releasetools/apex_utils.py index 3abef3bece..54df955e9f 100644 --- a/tools/releasetools/apex_utils.py +++ b/tools/releasetools/apex_utils.py @@ -36,6 +36,8 @@ APEX_PAYLOAD_IMAGE = 'apex_payload.img' APEX_PUBKEY = 'apex_pubkey' +# Partitions supporting APEXes +PARTITIONS = ['system', 'system_ext', 'product', 'vendor', 'odm'] class ApexInfoError(Exception): """An Exception raised during Apex Information command.""" @@ -550,7 +552,7 @@ def GetApexInfoFromTargetFiles(input_file): if not isinstance(input_file, str): raise RuntimeError("must pass filepath to target-files zip or directory") apex_infos = [] - for partition in ['system', 'system_ext', 'product', 'vendor']: + for partition in PARTITIONS: apex_infos.extend(GetApexInfoForPartition(input_file, partition)) return apex_infos diff --git a/tools/releasetools/check_target_files_vintf.py b/tools/releasetools/check_target_files_vintf.py index b8dcd8465c..dc123efb46 100755 --- a/tools/releasetools/check_target_files_vintf.py +++ b/tools/releasetools/check_target_files_vintf.py @@ -30,6 +30,7 @@ import subprocess import sys import zipfile +import apex_utils import common from apex_manifest import ParseApexManifest @@ -229,7 +230,7 @@ def PrepareApexDirectory(inp, dirmap): apex_host = os.path.join(OPTIONS.search_path, 'bin', 'apexd_host') cmd = [apex_host, '--tool_path', OPTIONS.search_path] cmd += ['--apex_path', dirmap['/apex']] - for p in ['system', 'system_ext', 'product', 'vendor']: + for p in apex_utils.PARTITIONS: if '/' + p in dirmap: cmd += ['--' + p + '_path', dirmap['/' + p]] common.RunAndCheckOutput(cmd) |