From 09de31418fef6b7e62b968aea6aca0d2ea56855a Mon Sep 17 00:00:00 2001 From: Po Hu Date: Wed, 26 Apr 2023 08:49:42 +0800 Subject: [PATCH] Fix merge_target_files in GRF case aosp/2525591 remove SYSTEM/build.prop from vendor target_files, and cause the same error reported in aosp/1836120. Bug: 192422274 Change-Id: I3af33e44e395002a9cf26cf93677ff84c2c26207 --- tools/releasetools/merge/merge_target_files.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tools/releasetools/merge/merge_target_files.py b/tools/releasetools/merge/merge_target_files.py index ba2b14f014..d8f7b15a51 100755 --- a/tools/releasetools/merge/merge_target_files.py +++ b/tools/releasetools/merge/merge_target_files.py @@ -165,17 +165,24 @@ def remove_file_if_exists(file_name): pass -def include_meta_in_list(item_list): - """Include all `META/*` files in the item list. +def include_extra_in_list(item_list): + """ + 1. Include all `META/*` files in the item list. To ensure that `AddImagesToTargetFiles` can still be used with vendor item list that do not specify all of the required META/ files, those files should be included by default. This preserves the backward compatibility of `rebuild_image_with_sepolicy`. + + 2. Include `SYSTEM/build.prop` file in the item list. + + To ensure that `AddImagesToTargetFiles` for GRF vendor images, can still + access SYSTEM/build.prop to pass GetPartitionFingerprint check in BuildInfo + constructor. """ if not item_list: return None - return list(item_list) + ['META/*'] + return list(item_list) + ['META/*'] + ['SYSTEM/build.prop'] def create_merged_package(temp_dir): @@ -289,7 +296,7 @@ def rebuild_image_with_sepolicy(target_files_dir): merge_utils.CollectTargetFiles( input_zipfile_or_dir=OPTIONS.vendor_target_files, output_dir=vendor_target_files_dir, - item_list=include_meta_in_list(OPTIONS.vendor_item_list)) + item_list=include_extra_in_list(OPTIONS.vendor_item_list)) # Copy the partition contents from the merged target-files archive to the # vendor target-files archive.