diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-03-14 07:21:58 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-03-14 07:21:58 +0000 |
commit | e5d1deba6185ba59da0345cb970d2d60c312ab76 (patch) | |
tree | e82132086d7c3c2ae1498eeff2272eade63d43ae | |
parent | 70741e492de9efb7495efd3ea5cbf14db40d24b0 (diff) | |
parent | da851450dfc625719754af022c38f91a97838c93 (diff) | |
download | update_engine-e5d1deba6185ba59da0345cb970d2d60c312ab76.tar.gz |
Snap for 4653471 from da851450dfc625719754af022c38f91a97838c93 to pi-releaseandroid-wear-9.0.0_r9android-wear-9.0.0_r8android-wear-9.0.0_r7android-wear-9.0.0_r6android-wear-9.0.0_r5android-wear-9.0.0_r4android-wear-9.0.0_r34android-wear-9.0.0_r33android-wear-9.0.0_r32android-wear-9.0.0_r31android-wear-9.0.0_r30android-wear-9.0.0_r3android-wear-9.0.0_r29android-wear-9.0.0_r28android-wear-9.0.0_r27android-wear-9.0.0_r26android-wear-9.0.0_r25android-wear-9.0.0_r24android-wear-9.0.0_r23android-wear-9.0.0_r22android-wear-9.0.0_r21android-wear-9.0.0_r20android-wear-9.0.0_r2android-wear-9.0.0_r19android-wear-9.0.0_r18android-wear-9.0.0_r17android-wear-9.0.0_r16android-wear-9.0.0_r15android-wear-9.0.0_r14android-wear-9.0.0_r13android-wear-9.0.0_r12android-wear-9.0.0_r11android-wear-9.0.0_r10android-wear-9.0.0_r1android-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r6android-9.0.0_r5android-9.0.0_r3android-9.0.0_r2android-9.0.0_r18android-9.0.0_r17android-9.0.0_r10android-9.0.0_r1pie-vts-releasepie-s2-releasepie-release-2pie-releasepie-r2-s2-releasepie-r2-s1-releasepie-r2-releasepie-cts-release
Change-Id: Ieb6c13044360cbae83d37a5ca190d913af8d5236
-rw-r--r-- | payload_consumer/delta_performer.cc | 2 | ||||
-rw-r--r-- | payload_consumer/payload_constants.cc | 3 | ||||
-rw-r--r-- | payload_consumer/payload_constants.h | 3 | ||||
-rw-r--r-- | payload_generator/payload_generation_config.cc | 9 | ||||
-rw-r--r-- | scripts/update_payload/applier.py | 1 | ||||
-rw-r--r-- | scripts/update_payload/checker.py | 7 | ||||
-rwxr-xr-x | scripts/update_payload/checker_unittest.py | 9 | ||||
-rw-r--r-- | scripts/update_payload/common.py | 3 | ||||
-rw-r--r-- | update_engine.conf | 2 | ||||
-rw-r--r-- | update_metadata.proto | 4 |
10 files changed, 29 insertions, 14 deletions
diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc index c2c43db2..a619d1d9 100644 --- a/payload_consumer/delta_performer.cc +++ b/payload_consumer/delta_performer.cc @@ -65,7 +65,7 @@ using std::vector; namespace chromeos_update_engine { const uint64_t DeltaPerformer::kSupportedMajorPayloadVersion = 2; -const uint32_t DeltaPerformer::kSupportedMinorPayloadVersion = 4; +const uint32_t DeltaPerformer::kSupportedMinorPayloadVersion = 5; const unsigned DeltaPerformer::kProgressLogMaxChunks = 10; const unsigned DeltaPerformer::kProgressLogTimeoutSeconds = 30; diff --git a/payload_consumer/payload_constants.cc b/payload_consumer/payload_constants.cc index 9338d29d..e679316a 100644 --- a/payload_consumer/payload_constants.cc +++ b/payload_consumer/payload_constants.cc @@ -25,7 +25,8 @@ const uint32_t kFullPayloadMinorVersion = 0; const uint32_t kInPlaceMinorPayloadVersion = 1; const uint32_t kSourceMinorPayloadVersion = 2; const uint32_t kOpSrcHashMinorPayloadVersion = 3; -const uint32_t kPuffdiffMinorPayloadVersion = 4; +const uint32_t kBrotliBsdiffMinorPayloadVersion = 4; +const uint32_t kPuffdiffMinorPayloadVersion = 5; const uint64_t kMaxPayloadHeaderSize = 24; diff --git a/payload_consumer/payload_constants.h b/payload_consumer/payload_constants.h index b3bd5e7c..ac3e8824 100644 --- a/payload_consumer/payload_constants.h +++ b/payload_consumer/payload_constants.h @@ -43,6 +43,9 @@ extern const uint32_t kSourceMinorPayloadVersion; // The minor version that allows per-operation source hash. extern const uint32_t kOpSrcHashMinorPayloadVersion; +// The minor version that allows BROTLI_BSDIFF, ZERO and DISCARD operation. +extern const uint32_t kBrotliBsdiffMinorPayloadVersion; + // The minor version that allows PUFFDIFF operation. extern const uint32_t kPuffdiffMinorPayloadVersion; diff --git a/payload_generator/payload_generation_config.cc b/payload_generator/payload_generation_config.cc index 2c5d6d68..15d4ab5b 100644 --- a/payload_generator/payload_generation_config.cc +++ b/payload_generator/payload_generation_config.cc @@ -128,6 +128,7 @@ bool PayloadVersion::Validate() const { minor == kInPlaceMinorPayloadVersion || minor == kSourceMinorPayloadVersion || minor == kOpSrcHashMinorPayloadVersion || + minor == kBrotliBsdiffMinorPayloadVersion || minor == kPuffdiffMinorPayloadVersion); return true; } @@ -151,7 +152,7 @@ bool PayloadVersion::OperationAllowed(InstallOperation_Type operation) const { // The implementation of these operations had a bug in earlier versions // that prevents them from being used in any payload. We will enable // them for delta payloads for now. - return minor >= kPuffdiffMinorPayloadVersion; + return minor >= kBrotliBsdiffMinorPayloadVersion; // Delta operations: case InstallOperation::MOVE: @@ -166,10 +167,10 @@ bool PayloadVersion::OperationAllowed(InstallOperation_Type operation) const { return minor >= kSourceMinorPayloadVersion; case InstallOperation::BROTLI_BSDIFF: - return minor >= kPuffdiffMinorPayloadVersion; - // TODO(*) Revert the disablement of puffdiff after we fix b/72815313. + return minor >= kBrotliBsdiffMinorPayloadVersion; + case InstallOperation::PUFFDIFF: - return false; + return minor >= kPuffdiffMinorPayloadVersion; } return false; } diff --git a/scripts/update_payload/applier.py b/scripts/update_payload/applier.py index e470ac4e..6db76647 100644 --- a/scripts/update_payload/applier.py +++ b/scripts/update_payload/applier.py @@ -557,6 +557,7 @@ class PayloadApplier(object): shutil.copyfile(old_part_file_name, new_part_file_name) elif (self.minor_version == common.SOURCE_MINOR_PAYLOAD_VERSION or self.minor_version == common.OPSRCHASH_MINOR_PAYLOAD_VERSION or + self.minor_version == common.BROTLI_BSDIFF_MINOR_PAYLOAD_VERSION or self.minor_version == common.PUFFDIFF_MINOR_PAYLOAD_VERSION): # In minor version >= 2, we don't want to copy the partitions, so # instead just make the new partition file. diff --git a/scripts/update_payload/checker.py b/scripts/update_payload/checker.py index e4cb845f..21d99a0e 100644 --- a/scripts/update_payload/checker.py +++ b/scripts/update_payload/checker.py @@ -57,6 +57,7 @@ _SUPPORTED_MINOR_VERSIONS = { 2: (_TYPE_DELTA,), 3: (_TYPE_DELTA,), 4: (_TYPE_DELTA,), + 5: (_TYPE_DELTA,), } _OLD_DELTA_USABLE_PART_SIZE = 2 * 1024 * 1024 * 1024 @@ -1010,8 +1011,10 @@ class PayloadChecker(object): elif op.type == common.OpType.SOURCE_BSDIFF and self.minor_version >= 2: self._CheckAnyDiffOperation(op, data_length, total_dst_blocks, op_name) self._CheckAnySourceOperation(op, total_src_blocks, op_name) - elif (op.type in (common.OpType.PUFFDIFF, common.OpType.BROTLI_BSDIFF) and - self.minor_version >= 4): + elif op.type == common.OpType.BROTLI_BSDIFF and self.minor_version >= 4: + self._CheckAnyDiffOperation(op, data_length, total_dst_blocks, op_name) + self._CheckAnySourceOperation(op, total_src_blocks, op_name) + elif op.type == common.OpType.PUFFDIFF and self.minor_version >= 5: self._CheckAnyDiffOperation(op, data_length, total_dst_blocks, op_name) self._CheckAnySourceOperation(op, total_src_blocks, op_name) else: diff --git a/scripts/update_payload/checker_unittest.py b/scripts/update_payload/checker_unittest.py index 974519d5..a21c2bae 100755 --- a/scripts/update_payload/checker_unittest.py +++ b/scripts/update_payload/checker_unittest.py @@ -849,8 +849,10 @@ class PayloadCheckerTest(mox.MoxTestBase): elif op_type in (common.OpType.SOURCE_COPY, common.OpType.SOURCE_BSDIFF): payload_checker.minor_version = 1 if fail_bad_minor_version else 2 elif op_type in (common.OpType.ZERO, common.OpType.DISCARD, - common.OpType.PUFFDIFF, common.OpType.BROTLI_BSDIFF): + common.OpType.BROTLI_BSDIFF): payload_checker.minor_version = 3 if fail_bad_minor_version else 4 + elif op_type == common.OpType.PUFFDIFF: + payload_checker.minor_version = 4 if fail_bad_minor_version else 5 if op_type not in (common.OpType.MOVE, common.OpType.SOURCE_COPY): if not fail_mismatched_data_offset_length: @@ -1065,7 +1067,8 @@ class PayloadCheckerTest(mox.MoxTestBase): (minor_version == 1 and payload_type == checker._TYPE_DELTA) or (minor_version == 2 and payload_type == checker._TYPE_DELTA) or (minor_version == 3 and payload_type == checker._TYPE_DELTA) or - (minor_version == 4 and payload_type == checker._TYPE_DELTA)) + (minor_version == 4 and payload_type == checker._TYPE_DELTA) or + (minor_version == 5 and payload_type == checker._TYPE_DELTA)) args = (report,) if should_succeed: @@ -1289,7 +1292,7 @@ def AddAllParametricTests(): # Add all _CheckManifestMinorVersion() test cases. AddParametricTests('CheckManifestMinorVersion', - {'minor_version': (None, 0, 1, 2, 3, 4, 555), + {'minor_version': (None, 0, 1, 2, 3, 4, 5, 555), 'payload_type': (checker._TYPE_FULL, checker._TYPE_DELTA)}) diff --git a/scripts/update_payload/common.py b/scripts/update_payload/common.py index 231c5041..ac05ccdc 100644 --- a/scripts/update_payload/common.py +++ b/scripts/update_payload/common.py @@ -27,7 +27,8 @@ BRILLO_MAJOR_PAYLOAD_VERSION = 2 INPLACE_MINOR_PAYLOAD_VERSION = 1 SOURCE_MINOR_PAYLOAD_VERSION = 2 OPSRCHASH_MINOR_PAYLOAD_VERSION = 3 -PUFFDIFF_MINOR_PAYLOAD_VERSION = 4 +BROTLI_BSDIFF_MINOR_PAYLOAD_VERSION = 4 +PUFFDIFF_MINOR_PAYLOAD_VERSION = 5 # # Payload operation types. diff --git a/update_engine.conf b/update_engine.conf index e3f246fb..33584114 100644 --- a/update_engine.conf +++ b/update_engine.conf @@ -1,2 +1,2 @@ PAYLOAD_MAJOR_VERSION=2 -PAYLOAD_MINOR_VERSION=4 +PAYLOAD_MINOR_VERSION=5 diff --git a/update_metadata.proto b/update_metadata.proto index b5d6c59b..99b74229 100644 --- a/update_metadata.proto +++ b/update_metadata.proto @@ -169,8 +169,10 @@ message InstallOperation { // On minor version 4 or newer, these operations are supported: ZERO = 6; // Write zeros in the destination. DISCARD = 7; // Discard the destination blocks, reading as undefined. - PUFFDIFF = 9; // The data is in puffdiff format. BROTLI_BSDIFF = 10; // Like SOURCE_BSDIFF, but compressed with brotli. + + // On minor version 5 or newer, these operations are supported: + PUFFDIFF = 9; // The data is in puffdiff format. } required Type type = 1; // The offset into the delta file (after the protobuf) |