Fix non-AB ota generation failure

Test: ota generation on pinot target
Bug: 308615740
Change-Id: I8b540516c0ba9e3acb23eebad8569a6dbf2ef9f3
This commit is contained in:
Kelvin Zhang
2023-10-31 19:33:55 -07:00
parent d22a5558f4
commit 782b752889
2 changed files with 18 additions and 19 deletions

View File

@@ -16,6 +16,15 @@ import re
import common
# map recovery.fstab's fs_types to mount/format "partition types"
PARTITION_TYPES = {
"ext4": "EMMC",
"emmc": "EMMC",
"f2fs": "EMMC",
"squashfs": "EMMC",
"erofs": "EMMC"
}
class ErrorCode(object):
"""Define error_codes for failures that happen during the actual
@@ -268,7 +277,7 @@ class EdifyGenerator(object):
if p.context is not None:
mount_flags = p.context + ("," + mount_flags if mount_flags else "")
self.script.append('mount("%s", "%s", %s, "%s", "%s");' % (
p.fs_type, common.PARTITION_TYPES[p.fs_type],
p.fs_type, PARTITION_TYPES[p.fs_type],
self._GetSlotSuffixDeviceForEntry(p),
p.mount_point, mount_flags))
self.mounts.add(p.mount_point)
@@ -304,7 +313,7 @@ class EdifyGenerator(object):
if fstab:
p = fstab[partition]
self.script.append('format("%s", "%s", %s, "%s", "%s");' %
(p.fs_type, common.PARTITION_TYPES[p.fs_type],
(p.fs_type, PARTITION_TYPES[p.fs_type],
self._GetSlotSuffixDeviceForEntry(p),
p.length, p.mount_point))
@@ -418,7 +427,7 @@ class EdifyGenerator(object):
fstab = self.fstab
if fstab:
p = fstab[mount_point]
partition_type = common.PARTITION_TYPES[p.fs_type]
partition_type = PARTITION_TYPES[p.fs_type]
device = self._GetSlotSuffixDeviceForEntry(p)
args = {'device': device, 'fn': fn}
if partition_type == "EMMC":

View File

@@ -26,7 +26,7 @@ import shlex
import common
import edify_generator
from edify_generator import ErrorCode
from edify_generator import ErrorCode, PARTITION_TYPES
from check_target_files_vintf import CheckVintfIfTrebleEnabled, HasPartition
from common import OPTIONS, Run, MakeTempDir, RunAndCheckOutput, ZipWrite, MakeTempFile
from ota_utils import UNZIP_PATTERN, FinalizeMetadata, GetPackageMetadata, PropertyFiles
@@ -60,9 +60,9 @@ def GetBlockDifferences(target_zip, source_zip, target_info, source_info,
# Disable imgdiff because it relies on zlib to produce stable output
# across different versions, which is often not the case.
return BlockDifference(name, partition_tgt, partition_src,
check_first_block,
version=blockimgdiff_version,
disable_imgdiff=True)
check_first_block,
version=blockimgdiff_version,
disable_imgdiff=True)
if source_zip:
# See notes in common.GetUserImage()
@@ -85,7 +85,7 @@ def GetBlockDifferences(target_zip, source_zip, target_info, source_info,
info_dict=target_info,
reset_file_map=True)
block_diff_dict[partition] = BlockDifference(partition, tgt,
src=None)
src=None)
# Incremental OTA update.
else:
block_diff_dict[partition] = GetIncrementalBlockDifferenceForPartition(
@@ -413,7 +413,7 @@ else if get_stage("%(bcb_dev)s") != "3/3" then
block_diff_dict.values()]
if updating_boot:
boot_type, boot_device_expr = GetTypeAndDeviceExpr("/boot",
source_info)
source_info)
d = Difference(target_boot, source_boot, "bsdiff")
_, _, d = d.ComputePatch()
if d is None:
@@ -1544,16 +1544,6 @@ class DynamicPartitionsDifference(object):
append('move %s %s' % (p, u.tgt_group))
# map recovery.fstab's fs_types to mount/format "partition types"
PARTITION_TYPES = {
"ext4": "EMMC",
"emmc": "EMMC",
"f2fs": "EMMC",
"squashfs": "EMMC",
"erofs": "EMMC"
}
def GetTypeAndDevice(mount_point, info, check_no_slot=True):
"""
Use GetTypeAndDeviceExpr whenever possible. This function is kept for