diff options
| author | 2021-01-26 17:38:07 +0000 | |
|---|---|---|
| committer | 2021-01-26 17:38:07 +0000 | |
| commit | 1cd839623e387c15e2f70a495d2931ed90db8520 (patch) | |
| tree | 8a61db45a8bdc12c2ac9aeab91e91d4cd6698fc4 | |
| parent | 5b62daa03c4be8bc38bda12cff09d153133d7d48 (diff) | |
| parent | 5f0fcee4dd323acb8b23a6de3143296bdcd927e3 (diff) | |
Merge "Emit apex_info to target_files META/apex_info.pb"
| -rw-r--r-- | tools/releasetools/Android.bp | 2 | ||||
| -rw-r--r-- | tools/releasetools/add_img_to_target_files.py | 28 | ||||
| -rw-r--r-- | tools/releasetools/ota_metadata.proto | 10 | ||||
| -rw-r--r-- | tools/releasetools/ota_metadata_pb2.py | 186 | ||||
| -rwxr-xr-x | tools/releasetools/sign_target_files_apks.py | 4 |
5 files changed, 191 insertions, 39 deletions
diff --git a/tools/releasetools/Android.bp b/tools/releasetools/Android.bp index c28c4dc462..473d85424c 100644 --- a/tools/releasetools/Android.bp +++ b/tools/releasetools/Android.bp @@ -28,6 +28,8 @@ python_defaults { "add_img_to_target_files.py", ], libs: [ + "ota_metadata_proto", + "releasetools_apex_utils", "releasetools_build_image", "releasetools_build_super_image", "releasetools_common", diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py index 5f35d78f91..7839b471f5 100644 --- a/tools/releasetools/add_img_to_target_files.py +++ b/tools/releasetools/add_img_to_target_files.py @@ -62,6 +62,9 @@ import common import rangelib import sparse_img import verity_utils +import ota_metadata_pb2 + +from apex_utils import GetApexInfoFromTargetFiles if sys.hexversion < 0x02070000: print("Python 2.7 or newer is required.", file=sys.stderr) @@ -94,13 +97,13 @@ class OutputFile(object): name: The name of the output file, regardless of the final destination. """ - def __init__(self, output_zip, input_dir, prefix, name): + def __init__(self, output_zip, input_dir, *args): # We write the intermediate output file under the given input_dir, even if # the final destination is a zip archive. - self.name = os.path.join(input_dir, prefix, name) + self.name = os.path.join(input_dir, *args) self._output_zip = output_zip if self._output_zip: - self._zip_name = os.path.join(prefix, name) + self._zip_name = os.path.join(*args) def Write(self): if self._output_zip: @@ -179,7 +182,6 @@ def AddSystem(output_zip, recovery_img=None, boot_img=None): block_list = OutputFile(output_zip, OPTIONS.input_tmp, "IMAGES", "system.map") CreateImage(OPTIONS.input_tmp, OPTIONS.info_dict, "system", img, block_list=block_list) - return img.name @@ -754,6 +756,22 @@ def HasPartition(partition_name): os.path.join(OPTIONS.input_tmp, "IMAGES", "{}.img".format(partition_name)))) +def AddApexInfo(output_zip): + apex_infos = GetApexInfoFromTargetFiles(OPTIONS.input_tmp) + apex_metadata_proto = ota_metadata_pb2.ApexMetadata() + apex_metadata_proto.apex_info.extend(apex_infos) + apex_info_bytes = apex_metadata_proto.SerializeToString() + + output_file = os.path.join(OPTIONS.input_tmp, "META", "apex_info.pb") + with open(output_file, "wb") as ofile: + ofile.write(apex_info_bytes) + if output_zip: + arc_name = "META/apex_info.pb" + if arc_name in output_zip.namelist(): + OPTIONS.replace_updated_files_list.append(arc_name) + else: + common.ZipWrite(output_zip, output_file, arc_name) + def AddImagesToTargetFiles(filename): """Creates and adds images (boot/recovery/system/...) to a target_files.zip. @@ -914,6 +932,8 @@ def AddImagesToTargetFiles(filename): banner("system_other") AddSystemOther(output_zip) + AddApexInfo(output_zip) + if not OPTIONS.is_signing: banner("userdata") AddUserdata(output_zip) diff --git a/tools/releasetools/ota_metadata.proto b/tools/releasetools/ota_metadata.proto index 1277685a34..5da8b844b8 100644 --- a/tools/releasetools/ota_metadata.proto +++ b/tools/releasetools/ota_metadata.proto @@ -16,8 +16,8 @@ // If you change this file, // Please update ota_metadata_pb2.py by executing -// protoc ota_metadata.proto --python_out $ANDROID_BUILD_TOP/build/tools/releasetools - +// protoc ota_metadata.proto --python_out +// $ANDROID_BUILD_TOP/build/tools/releasetools syntax = "proto3"; @@ -72,6 +72,12 @@ message ApexInfo { int64 decompressed_size = 4; } +// Just a container to hold repeated apex_info, so that we can easily serialize +// a list of apex_info to string. +message ApexMetadata { + repeated ApexInfo apex_info = 1; +} + // The metadata of an OTA package. It contains the information of the package // and prerequisite to install the update correctly. message OtaMetadata { diff --git a/tools/releasetools/ota_metadata_pb2.py b/tools/releasetools/ota_metadata_pb2.py index ff2b2c5706..27cc9300f9 100644 --- a/tools/releasetools/ota_metadata_pb2.py +++ b/tools/releasetools/ota_metadata_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: ota_metadata.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,7 +18,8 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='build.tools.releasetools', syntax='proto3', serialized_options=b'H\003', - serialized_pb=b'\n\x12ota_metadata.proto\x12\x18\x62uild.tools.releasetools\"X\n\x0ePartitionState\x12\x16\n\x0epartition_name\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x02 \x03(\t\x12\r\n\x05\x62uild\x18\x03 \x03(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\"\xce\x01\n\x0b\x44\x65viceState\x12\x0e\n\x06\x64\x65vice\x18\x01 \x03(\t\x12\r\n\x05\x62uild\x18\x02 \x03(\t\x12\x19\n\x11\x62uild_incremental\x18\x03 \x01(\t\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\x12\x11\n\tsdk_level\x18\x05 \x01(\t\x12\x1c\n\x14security_patch_level\x18\x06 \x01(\t\x12\x41\n\x0fpartition_state\x18\x07 \x03(\x0b\x32(.build.tools.releasetools.PartitionState\"\xe1\x03\n\x0bOtaMetadata\x12;\n\x04type\x18\x01 \x01(\x0e\x32-.build.tools.releasetools.OtaMetadata.OtaType\x12\x0c\n\x04wipe\x18\x02 \x01(\x08\x12\x11\n\tdowngrade\x18\x03 \x01(\x08\x12P\n\x0eproperty_files\x18\x04 \x03(\x0b\x32\x38.build.tools.releasetools.OtaMetadata.PropertyFilesEntry\x12;\n\x0cprecondition\x18\x05 \x01(\x0b\x32%.build.tools.releasetools.DeviceState\x12<\n\rpostcondition\x18\x06 \x01(\x0b\x32%.build.tools.releasetools.DeviceState\x12#\n\x1bretrofit_dynamic_partitions\x18\x07 \x01(\x08\x12\x16\n\x0erequired_cache\x18\x08 \x01(\x03\x1a\x34\n\x12PropertyFilesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"4\n\x07OtaType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02\x41\x42\x10\x01\x12\t\n\x05\x42LOCK\x10\x02\x12\t\n\x05\x42RICK\x10\x03\x42\x02H\x03\x62\x06proto3' + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x12ota_metadata.proto\x12\x18\x62uild.tools.releasetools\"X\n\x0ePartitionState\x12\x16\n\x0epartition_name\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x02 \x03(\t\x12\r\n\x05\x62uild\x18\x03 \x03(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\"\xce\x01\n\x0b\x44\x65viceState\x12\x0e\n\x06\x64\x65vice\x18\x01 \x03(\t\x12\r\n\x05\x62uild\x18\x02 \x03(\t\x12\x19\n\x11\x62uild_incremental\x18\x03 \x01(\t\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\x12\x11\n\tsdk_level\x18\x05 \x01(\t\x12\x1c\n\x14security_patch_level\x18\x06 \x01(\t\x12\x41\n\x0fpartition_state\x18\x07 \x03(\x0b\x32(.build.tools.releasetools.PartitionState\"c\n\x08\x41pexInfo\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12\x15\n\ris_compressed\x18\x03 \x01(\x08\x12\x19\n\x11\x64\x65\x63ompressed_size\x18\x04 \x01(\x03\"E\n\x0c\x41pexMetadata\x12\x35\n\tapex_info\x18\x01 \x03(\x0b\x32\".build.tools.releasetools.ApexInfo\"\x98\x04\n\x0bOtaMetadata\x12;\n\x04type\x18\x01 \x01(\x0e\x32-.build.tools.releasetools.OtaMetadata.OtaType\x12\x0c\n\x04wipe\x18\x02 \x01(\x08\x12\x11\n\tdowngrade\x18\x03 \x01(\x08\x12P\n\x0eproperty_files\x18\x04 \x03(\x0b\x32\x38.build.tools.releasetools.OtaMetadata.PropertyFilesEntry\x12;\n\x0cprecondition\x18\x05 \x01(\x0b\x32%.build.tools.releasetools.DeviceState\x12<\n\rpostcondition\x18\x06 \x01(\x0b\x32%.build.tools.releasetools.DeviceState\x12#\n\x1bretrofit_dynamic_partitions\x18\x07 \x01(\x08\x12\x16\n\x0erequired_cache\x18\x08 \x01(\x03\x12\x35\n\tapex_info\x18\t \x03(\x0b\x32\".build.tools.releasetools.ApexInfo\x1a\x34\n\x12PropertyFilesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"4\n\x07OtaType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02\x41\x42\x10\x01\x12\t\n\x05\x42LOCK\x10\x02\x12\t\n\x05\x42RICK\x10\x03\x42\x02H\x03\x62\x06proto3' ) @@ -28,28 +29,33 @@ _OTAMETADATA_OTATYPE = _descriptor.EnumDescriptor( full_name='build.tools.releasetools.OtaMetadata.OtaType', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='UNKNOWN', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='AB', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='BLOCK', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='BRICK', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, - serialized_start=777, - serialized_end=829, + serialized_start=1004, + serialized_end=1056, ) _sym_db.RegisterEnumDescriptor(_OTAMETADATA_OTATYPE) @@ -60,6 +66,7 @@ _PARTITIONSTATE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='partition_name', full_name='build.tools.releasetools.PartitionState.partition_name', index=0, @@ -67,28 +74,28 @@ _PARTITIONSTATE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='device', full_name='build.tools.releasetools.PartitionState.device', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='build', full_name='build.tools.releasetools.PartitionState.build', index=2, number=3, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='version', full_name='build.tools.releasetools.PartitionState.version', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -112,6 +119,7 @@ _DEVICESTATE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='device', full_name='build.tools.releasetools.DeviceState.device', index=0, @@ -119,49 +127,49 @@ _DEVICESTATE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='build', full_name='build.tools.releasetools.DeviceState.build', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='build_incremental', full_name='build.tools.releasetools.DeviceState.build_incremental', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='timestamp', full_name='build.tools.releasetools.DeviceState.timestamp', index=3, number=4, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='sdk_level', full_name='build.tools.releasetools.DeviceState.sdk_level', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='security_patch_level', full_name='build.tools.releasetools.DeviceState.security_patch_level', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='partition_state', full_name='build.tools.releasetools.DeviceState.partition_state', index=6, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -179,12 +187,98 @@ _DEVICESTATE = _descriptor.Descriptor( ) +_APEXINFO = _descriptor.Descriptor( + name='ApexInfo', + full_name='build.tools.releasetools.ApexInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='package_name', full_name='build.tools.releasetools.ApexInfo.package_name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='version', full_name='build.tools.releasetools.ApexInfo.version', index=1, + number=2, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_compressed', full_name='build.tools.releasetools.ApexInfo.is_compressed', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='decompressed_size', full_name='build.tools.releasetools.ApexInfo.decompressed_size', index=3, + number=4, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=347, + serialized_end=446, +) + + +_APEXMETADATA = _descriptor.Descriptor( + name='ApexMetadata', + full_name='build.tools.releasetools.ApexMetadata', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='apex_info', full_name='build.tools.releasetools.ApexMetadata.apex_info', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=448, + serialized_end=517, +) + + _OTAMETADATA_PROPERTYFILESENTRY = _descriptor.Descriptor( name='PropertyFilesEntry', full_name='build.tools.releasetools.OtaMetadata.PropertyFilesEntry', filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='build.tools.releasetools.OtaMetadata.PropertyFilesEntry.key', index=0, @@ -192,14 +286,14 @@ _OTAMETADATA_PROPERTYFILESENTRY = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='build.tools.releasetools.OtaMetadata.PropertyFilesEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -212,8 +306,8 @@ _OTAMETADATA_PROPERTYFILESENTRY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=723, - serialized_end=775, + serialized_start=950, + serialized_end=1002, ) _OTAMETADATA = _descriptor.Descriptor( @@ -222,6 +316,7 @@ _OTAMETADATA = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='type', full_name='build.tools.releasetools.OtaMetadata.type', index=0, @@ -229,56 +324,63 @@ _OTAMETADATA = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='wipe', full_name='build.tools.releasetools.OtaMetadata.wipe', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='downgrade', full_name='build.tools.releasetools.OtaMetadata.downgrade', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='property_files', full_name='build.tools.releasetools.OtaMetadata.property_files', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='precondition', full_name='build.tools.releasetools.OtaMetadata.precondition', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='postcondition', full_name='build.tools.releasetools.OtaMetadata.postcondition', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='retrofit_dynamic_partitions', full_name='build.tools.releasetools.OtaMetadata.retrofit_dynamic_partitions', index=6, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='required_cache', full_name='build.tools.releasetools.OtaMetadata.required_cache', index=7, number=8, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='apex_info', full_name='build.tools.releasetools.OtaMetadata.apex_info', index=8, + number=9, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -292,19 +394,23 @@ _OTAMETADATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=348, - serialized_end=829, + serialized_start=520, + serialized_end=1056, ) _DEVICESTATE.fields_by_name['partition_state'].message_type = _PARTITIONSTATE +_APEXMETADATA.fields_by_name['apex_info'].message_type = _APEXINFO _OTAMETADATA_PROPERTYFILESENTRY.containing_type = _OTAMETADATA _OTAMETADATA.fields_by_name['type'].enum_type = _OTAMETADATA_OTATYPE _OTAMETADATA.fields_by_name['property_files'].message_type = _OTAMETADATA_PROPERTYFILESENTRY _OTAMETADATA.fields_by_name['precondition'].message_type = _DEVICESTATE _OTAMETADATA.fields_by_name['postcondition'].message_type = _DEVICESTATE +_OTAMETADATA.fields_by_name['apex_info'].message_type = _APEXINFO _OTAMETADATA_OTATYPE.containing_type = _OTAMETADATA DESCRIPTOR.message_types_by_name['PartitionState'] = _PARTITIONSTATE DESCRIPTOR.message_types_by_name['DeviceState'] = _DEVICESTATE +DESCRIPTOR.message_types_by_name['ApexInfo'] = _APEXINFO +DESCRIPTOR.message_types_by_name['ApexMetadata'] = _APEXMETADATA DESCRIPTOR.message_types_by_name['OtaMetadata'] = _OTAMETADATA _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -322,6 +428,20 @@ DeviceState = _reflection.GeneratedProtocolMessageType('DeviceState', (_message. }) _sym_db.RegisterMessage(DeviceState) +ApexInfo = _reflection.GeneratedProtocolMessageType('ApexInfo', (_message.Message,), { + 'DESCRIPTOR' : _APEXINFO, + '__module__' : 'ota_metadata_pb2' + # @@protoc_insertion_point(class_scope:build.tools.releasetools.ApexInfo) + }) +_sym_db.RegisterMessage(ApexInfo) + +ApexMetadata = _reflection.GeneratedProtocolMessageType('ApexMetadata', (_message.Message,), { + 'DESCRIPTOR' : _APEXMETADATA, + '__module__' : 'ota_metadata_pb2' + # @@protoc_insertion_point(class_scope:build.tools.releasetools.ApexMetadata) + }) +_sym_db.RegisterMessage(ApexMetadata) + OtaMetadata = _reflection.GeneratedProtocolMessageType('OtaMetadata', (_message.Message,), { 'PropertyFilesEntry' : _reflection.GeneratedProtocolMessageType('PropertyFilesEntry', (_message.Message,), { diff --git a/tools/releasetools/sign_target_files_apks.py b/tools/releasetools/sign_target_files_apks.py index e8674b6f7f..176e258cbb 100755 --- a/tools/releasetools/sign_target_files_apks.py +++ b/tools/releasetools/sign_target_files_apks.py @@ -626,6 +626,10 @@ def ProcessTargetFiles(input_tf_zip, output_tf_zip, misc_info, elif filename in ["META/care_map.pb", "META/care_map.txt"]: pass + # Skip apex_info.pb because we sign/modify apexes + elif filename == "META/apex_info.pb": + pass + # Updates system_other.avbpubkey in /product/etc/. elif filename in ( "PRODUCT/etc/security/avb/system_other.avbpubkey", |