anestisb / android-prepare-vendor

Set of scripts to automate AOSP compatible vendor blobs generation from factory images
347 stars 156 forks source link

Doesn't work with Python3.7 #178

Closed ConradGyllenhaal closed 2 years ago

ConradGyllenhaal commented 2 years ago

Hello there,

I did update python3 to Python3.7 to be able to build Chromium for Android (it needs the new dataclasses stuff) but since then, I get error with android-prepare-vendor.

Here is the error:

--{ Google Terms and Conditions [1]                                                                                                                                                                                                          
Downloading of the system image and use of the device software is subject to the                                                                                                                                                             
Google Terms of Service [2]. By continuing, you agree to the Google Terms of                                                                                                                                                                 
Service [2] and Privacy Policy [3]. Your downloading of the system image and use                                                                                                                                                             
of the device software may also be subject to certain third-party terms of                                                                                                                                                                   
service, which can be found in Settings > About phone > Legal information, or as                                                                                                                                                             
otherwise provided.                                                                                                                                                                                                                          

[1] https://developers.google.com/android/images#legal                                                                                                                                                                                       
[2] https://www.google.com/intl/en/policies/terms/                                                                                                                                                                                           
[3] https://www.google.com/intl/en/policies/privacy/                                                                                                                                                                                         

[?] I have read and agree with the above terms and conditions - ACKNOWLEDGE [y|n]: yes                                                                                                                                                       
[*] Downloading image from 'https://dl.google.com/dl/android/aosp/sunfish-ota-rq3a.210905.001-82bd167c.zip'                                                                                                                                  
** Resuming transfer from byte position 1635187842                                                                                                                                                                                           
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                                                                                                                                              
                                 Dload  Upload   Total   Spent    Left  Speed                                                                                                                                                                
100  1471  100  1471    0     0  15648      0 --:--:-- --:--:-- --:--:-- 15484                                                                                                                                                               
[*] Downloading carrier list from 'https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/latest_carrier_id/carrier_list.pb?format=TEXT'                                                             
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                                                                                                                                              
                                 Dload  Upload   Total   Spent    Left  Speed                                                                                                                                                                
100 72776    0 72776    0     0   181k      0 --:--:-- --:--:-- --:--:--  181k                                                                                                                                                               
[*] Using debugfs for image mounts                                                                                                                                                                                                           
[*] Extracting '/mnt/storage/chaosp/aosp/vendor/android-prepare-vendor/sunfish/rq3a.210905.001/sunfish-rq3a.210905.001-factory-c4484e41.zip'                                                                                                 
[*] Unzipping 'image-sunfish-rq3a.210905.001.zip'                                                                                                                                                                                            
[*] Extracting '/mnt/storage/chaosp/aosp/vendor/android-prepare-vendor/sunfish/rq3a.210905.001/sunfish-ota-rq3a.210905.001-82bd167c.zip'                                                                                                     
Traceback (most recent call last):                                                                                                                                                                                                           
  File "/mnt/storage/chaosp/aosp/vendor/android-prepare-vendor/scripts/extract_android_ota_payload/extract_android_ota_payload.py", line 13, in <module>                                                                                     
    import update_metadata_pb2                 
  File "/mnt/storage/chaosp/aosp/vendor/android-prepare-vendor/scripts/extract_android_ota_payload/update_metadata_pb2.py", line 23, in <module>
    serialized_pb=_b('\n\x15update_metadata.proto\x12\x16\x63hromeos_update_engine\"1\n\x06\x45xtent\x12\x13\n\x0bstart_block\x18\x01 \x01(\x04\x12\x12\n\nnum_blocks\x18\x02 \x01(\x04\"z\n\nSignatures\x12@\n\nsignatures\x18\x01 \x03(\x0$
\x32,.chromeos_update_engine.Signatures.Signature\x1a*\n\tSignature\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"+\n\rPartitionInfo\x12\x0c\n\x04size\x18\x01 \x01(\x04\x12\x0c\n\x04hash\x18\x02 \x01(\x$
c\"w\n\tImageInfo\x12\r\n\x05\x62oard\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x15\n\rbuild_channel\x18\x05 \x01(\t\x12\x15\n\rbuild_version\x18\x0$
 \x01(\t\"\xee\x03\n\x10InstallOperation\x12;\n\x04type\x18\x01 \x02(\x0e\x32-.chromeos_update_engine.InstallOperation.Type\x12\x13\n\x0b\x64\x61ta_offset\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_length\x18\x03 \x01(\x04\x12\x33\n\x0bs$
c_extents\x18\x04 \x03(\x0b\x32\x1e.chromeos_update_engine.Extent\x12\x12\n\nsrc_length\x18\x05 \x01(\x04\x12\x33\n\x0b\x64st_extents\x18\x06 \x03(\x0b\x32\x1e.chromeos_update_engine.Extent\x12\x12\n\ndst_length\x18\x07 \x01(\x04\x12\x1$
\n\x10\x64\x61ta_sha256_hash\x18\x08 \x01(\x0c\x12\x17\n\x0fsrc_sha256_hash\x18\t \x01(\x0c\"\xad\x01\n\x04Type\x12\x0b\n\x07REPLACE\x10\x00\x12\x0e\n\nREPLACE_BZ\x10\x01\x12\x0c\n\x04MOVE\x10\x02\x1a\x02\x08\x01\x12\x0e\n\x06\x42SDIFF\x
10\x03\x1a\x02\x08\x01\x12\x0f\n\x0bSOURCE_COPY\x10\x04\x12\x11\n\rSOURCE_BSDIFF\x10\x05\x12\x0e\n\nREPLACE_XZ\x10\x08\x12\x08\n\x04ZERO\x10\x06\x12\x0b\n\x07\x44ISCARD\x10\x07\x12\x11\n\rBROTLI_BSDIFF\x10\n\x12\x0c\n\x08PUFFDIFF\x10\t\"
\xd7\x05\n\x0fPartitionUpdate\x12\x16\n\x0epartition_name\x18\x01 \x02(\t\x12\x17\n\x0frun_postinstall\x18\x02 \x01(\x08\x12\x18\n\x10postinstall_path\x18\x03 \x01(\t\x12\x17\n\x0f\x66ilesystem_type\x18\x04 \x01(\t\x12M\n\x17new_partitio
n_signature\x18\x05 \x03(\x0b\x32,.chromeos_update_engine.Signatures.Signature\x12\x41\n\x12old_partition_info\x18\x06 \x01(\x0b\x32%.chromeos_update_engine.PartitionInfo\x12\x41\n\x12new_partition_info\x18\x07 \x01(\x0b\x32%.chromeos_up
date_engine.PartitionInfo\x12<\n\noperations\x18\x08 \x03(\x0b\x32(.chromeos_update_engine.InstallOperation\x12\x1c\n\x14postinstall_optional\x18\t \x01(\x08\x12=\n\x15hash_tree_data_extent\x18\n \x01(\x0b\x32\x1e.chromeos_update_engine.
Extent\x12\x38\n\x10hash_tree_extent\x18\x0b \x01(\x0b\x32\x1e.chromeos_update_engine.Extent\x12\x1b\n\x13hash_tree_algorithm\x18\x0c \x01(\t\x12\x16\n\x0ehash_tree_salt\x18\r \x01(\x0c\x12\x37\n\x0f\x66\x65\x63_data_extent\x18\x0e \x01(
\x0b\x32\x1e.chromeos_update_engine.Extent\x12\x32\n\nfec_extent\x18\x0f \x01(\x0b\x32\x1e.chromeos_update_engine.Extent\x12\x14\n\tfec_roots\x18\x10 \x01(\r:\x01\x32\"L\n\x15\x44ynamicPartitionGroup\x12\x0c\n\x04name\x18\x01 \x02(\t\x12
\x0c\n\x04size\x18\x02 \x01(\x04\x12\x17\n\x0fpartition_names\x18\x03 \x03(\t\"s\n\x18\x44ynamicPartitionMetadata\x12=\n\x06groups\x18\x01 \x03(\x0b\x32-.chromeos_update_engine.DynamicPartitionGroup\x12\x18\n\x10snapshot_enabled\x18\x02
\x01(\x08\"\xb1\x06\n\x14\x44\x65ltaArchiveManifest\x12\x44\n\x12install_operations\x18\x01 \x03(\x0b\x32(.chromeos_update_engine.InstallOperation\x12K\n\x19kernel_install_operations\x18\x02 \x03(\x0b\x32(.chromeos_update_engine.InstallO
peration\x12\x18\n\nblock_size\x18\x03 \x01(\r:\x04\x34\x30\x39\x36\x12\x19\n\x11signatures_offset\x18\x04 \x01(\x04\x12\x17\n\x0fsignatures_size\x18\x05 \x01(\x04\x12>\n\x0fold_kernel_info\x18\x06 \x01(\x0b\x32%.chromeos_update_engine.P
artitionInfo\x12>\n\x0fnew_kernel_info\x18\x07 \x01(\x0b\x32%.chromeos_update_engine.PartitionInfo\x12>\n\x0fold_rootfs_info\x18\x08 \x01(\x0b\x32%.chromeos_update_engine.PartitionInfo\x12>\n\x0fnew_rootfs_info\x18\t \x01(\x0b\x32%.chrom
eos_update_engine.PartitionInfo\x12\x39\n\x0eold_image_info\x18\n \x01(\x0b\x32!.chromeos_update_engine.ImageInfo\x12\x39\n\x0enew_image_info\x18\x0b \x01(\x0b\x32!.chromeos_update_engine.ImageInfo\x12\x18\n\rminor_version\x18\x0c \x01(\
r:\x01\x30\x12;\n\npartitions\x18\r \x03(\x0b\x32\'.chromeos_update_engine.PartitionUpdate\x12\x15\n\rmax_timestamp\x18\x0e \x01(\x03\x12T\n\x1a\x64ynamic_partition_metadata\x18\x0f \x01(\x0b\x32\x30.chromeos_update_engine.DynamicPartiti
onMetadataB\x02H\x03')
TypeError: __init__() got an unexpected keyword argument 'serialized_options'
[-] OTA data extract failed

If I switch back to Python3.6, android-prepare-vendor is working as intended.

I know this project is stale, but the fork of RattlesnakeOS doesn't allow issues to be created.

Here you go @dan-v @chirayudesai :o

dan-v commented 2 years ago

@ConradGyllenhaal - feel free to throw the issue in https://github.com/AOSPAlliance/android-prepare-vendor. that's where we have been maintaining android-prepare-vendor.

ConradGyllenhaal commented 2 years ago

Ok thanks! It's done.