diff options
author | Tudor Brindus <tbrindus@chromium.org> | 2018-06-15 13:07:13 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-06-25 17:20:25 -0700 |
commit | 2d22c1a70cf41462b7564c610823543f91b37eb2 (patch) | |
tree | 2097ee4a77e7b7ff26700a07a65ed7e6764d3b20 /scripts/update_payload/payload.py | |
parent | 8d05a7e15bfcc4f551a0f59be6d0d1eb083887e9 (diff) |
update_payload: Allow specifying partition options for major version 2
This commit adds the ability to specify partition options for more than just
kernel/rootfs.
This supersedes -p/--root-part-size, -P/--kern-part-size, --dst_kern,
--dst_root, --src_kern, --src_root, --out_dst_kern, and --out_dst_root.
They are replaced by --part_names used in conjunction with --part_sizes,
--dst_part_paths, --src_part_paths, and --out_dst_part_paths.
Backwards-compatibility with the old flags is kept, so long as they are
not used alongside the new flags.
BUG=b:794404
TEST=no errors during run_unittests and test_paycheck.sh
Change-Id: Icc1118abbf89dd268be3eafe41723657c5178197
Reviewed-on: https://chromium-review.googlesource.com/1103063
Commit-Ready: Tudor Brindus <tbrindus@chromium.org>
Tested-by: Tudor Brindus <tbrindus@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Diffstat (limited to 'scripts/update_payload/payload.py')
-rw-r--r-- | scripts/update_payload/payload.py | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/scripts/update_payload/payload.py b/scripts/update_payload/payload.py index 15f66d02..2a0cb58d 100644 --- a/scripts/update_payload/payload.py +++ b/scripts/update_payload/payload.py @@ -274,8 +274,8 @@ class Payload(object): def Check(self, pubkey_file_name=None, metadata_sig_file=None, metadata_size=0, report_out_file=None, assert_type=None, - block_size=0, rootfs_part_size=0, kernel_part_size=0, - allow_unhashed=False, disabled_tests=()): + block_size=0, part_sizes=None, allow_unhashed=False, + disabled_tests=()): """Checks the payload integrity. Args: @@ -285,8 +285,7 @@ class Payload(object): report_out_file: file object to dump the report to assert_type: assert that payload is either 'full' or 'delta' block_size: expected filesystem / payload block size - rootfs_part_size: the size of (physical) rootfs partitions in bytes - kernel_part_size: the size of (physical) kernel partitions in bytes + part_sizes: map of partition label to (physical) size in bytes allow_unhashed: allow unhashed operation blobs disabled_tests: list of tests to disable @@ -302,20 +301,17 @@ class Payload(object): helper.Run(pubkey_file_name=pubkey_file_name, metadata_sig_file=metadata_sig_file, metadata_size=metadata_size, - rootfs_part_size=rootfs_part_size, - kernel_part_size=kernel_part_size, + part_sizes=part_sizes, report_out_file=report_out_file) - def Apply(self, new_kernel_part, new_rootfs_part, old_kernel_part=None, - old_rootfs_part=None, bsdiff_in_place=True, bspatch_path=None, - puffpatch_path=None, truncate_to_expected_size=True): + def Apply(self, new_parts, old_parts=None, bsdiff_in_place=True, + bspatch_path=None, puffpatch_path=None, + truncate_to_expected_size=True): """Applies the update payload. Args: - new_kernel_part: name of dest kernel partition file - new_rootfs_part: name of dest rootfs partition file - old_kernel_part: name of source kernel partition file (optional) - old_rootfs_part: name of source rootfs partition file (optional) + new_parts: map of partition name to dest partition file + old_parts: map of partition name to partition file (optional) bsdiff_in_place: whether to perform BSDIFF operations in-place (optional) bspatch_path: path to the bspatch binary (optional) puffpatch_path: path to the puffpatch binary (optional) @@ -333,6 +329,4 @@ class Payload(object): self, bsdiff_in_place=bsdiff_in_place, bspatch_path=bspatch_path, puffpatch_path=puffpatch_path, truncate_to_expected_size=truncate_to_expected_size) - helper.Run(new_kernel_part, new_rootfs_part, - old_kernel_part=old_kernel_part, - old_rootfs_part=old_rootfs_part) + helper.Run(new_parts, old_parts=old_parts) |