diff --git a/tools/releasetools/non_ab_ota.py b/tools/releasetools/non_ab_ota.py index 44bac28d1f..7078d67ef7 100644 --- a/tools/releasetools/non_ab_ota.py +++ b/tools/releasetools/non_ab_ota.py @@ -48,17 +48,12 @@ def GetBlockDifferences(target_zip, source_zip, target_info, source_info, # if the filesystem is ext4. partition_source_info = source_info["fstab"]["/" + name] check_first_block = partition_source_info.fs_type == "ext4" - # Disable using imgdiff for squashfs. 'imgdiff -z' expects input files to be - # in zip formats. However with squashfs, a) all files are compressed in LZ4; - # b) the blocks listed in block map may not contain all the bytes for a - # given file (because they're rounded to be 4K-aligned). - partition_target_info = target_info["fstab"]["/" + name] - disable_imgdiff = (partition_source_info.fs_type == "squashfs" or - partition_target_info.fs_type == "squashfs") + # Disable imgdiff because it relies on zlib to produce stable output + # across different versions, which is often not the case. return common.BlockDifference(name, partition_tgt, partition_src, check_first_block, version=blockimgdiff_version, - disable_imgdiff=disable_imgdiff) + disable_imgdiff=True) if source_zip: # See notes in common.GetUserImage() @@ -409,7 +404,7 @@ else if get_stage("%(bcb_dev)s") != "3/3" then if updating_boot: boot_type, boot_device_expr = common.GetTypeAndDeviceExpr("/boot", source_info) - d = common.Difference(target_boot, source_boot) + d = common.Difference(target_boot, source_boot, "bsdiff") _, _, d = d.ComputePatch() if d is None: include_full_boot = True