Merge "Allow rebuild sepolicy even though the image does not exist."
diff --git a/tools/releasetools/merge/merge_target_files.py b/tools/releasetools/merge/merge_target_files.py
index c95cead..54122b0 100755
--- a/tools/releasetools/merge/merge_target_files.py
+++ b/tools/releasetools/merge/merge_target_files.py
@@ -156,6 +156,15 @@
shutil.move(source, destination)
+def remove_file_if_exists(file_name):
+ """Remove the file if it exists and skip otherwise."""
+
+ try:
+ os.remove(file_name)
+ except FileNotFoundError:
+ pass
+
+
def create_merged_package(temp_dir):
"""Merges two target files packages into one target files structure.
@@ -210,8 +219,7 @@
If odm is present then odm is preferred -- otherwise vendor is used.
"""
partition = 'vendor'
- if os.path.exists(os.path.join(target_files_dir, 'ODM')) or os.path.exists(
- os.path.join(target_files_dir, 'IMAGES/odm.img')):
+ if os.path.exists(os.path.join(target_files_dir, 'ODM')):
partition = 'odm'
partition_img = '{}.img'.format(partition)
partition_map = '{}.map'.format(partition)
@@ -245,7 +253,8 @@
if not OPTIONS.vendor_otatools:
# Remove the partition from the merged target-files archive. It will be
# rebuilt later automatically by generate_missing_images().
- os.remove(os.path.join(target_files_dir, 'IMAGES', partition_img))
+ remove_file_if_exists(
+ os.path.join(target_files_dir, 'IMAGES', partition_img))
return
# TODO(b/192253131): Remove the need for vendor_otatools by fixing
@@ -274,7 +283,8 @@
symlinks=True)
# Delete then rebuild the partition.
- os.remove(os.path.join(vendor_target_files_dir, 'IMAGES', partition_img))
+ remove_file_if_exists(
+ os.path.join(vendor_target_files_dir, 'IMAGES', partition_img))
rebuild_partition_command = [
os.path.join(vendor_otatools_dir, 'bin', 'add_img_to_target_files'),
'--verbose',