Switch supported minor version to 3.
Bug: 23182225
TEST=cros_workon_make update_engine --test
Change-Id: Ide798f89bd0e3f662d2deac96035780892bbfa08
diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc
index 0949f3d..6261cb1 100644
--- a/payload_consumer/delta_performer.cc
+++ b/payload_consumer/delta_performer.cc
@@ -64,7 +64,7 @@
const uint64_t DeltaPerformer::kDeltaMetadataSignatureSizeSize = 4;
const uint64_t DeltaPerformer::kMaxPayloadHeaderSize = 24;
const uint64_t DeltaPerformer::kSupportedMajorPayloadVersion = 2;
-const uint32_t DeltaPerformer::kSupportedMinorPayloadVersion = 2;
+const uint32_t DeltaPerformer::kSupportedMinorPayloadVersion = 3;
const unsigned DeltaPerformer::kProgressLogMaxChunks = 10;
const unsigned DeltaPerformer::kProgressLogTimeoutSeconds = 30;
@@ -290,9 +290,9 @@
return false;
const PartitionUpdate& partition = partitions_[current_partition_];
- // Open source fds if we have a delta payload with minor version 2.
+ // Open source fds if we have a delta payload with minor version >= 2.
if (!install_plan_->is_full_update &&
- GetMinorVersion() == kSourceMinorPayloadVersion) {
+ GetMinorVersion() != kInPlaceMinorPayloadVersion) {
source_path_ = install_plan_->partitions[current_partition_].source_path;
int err;
source_fd_ = OpenFile(source_path_.c_str(), O_RDONLY, &err);
diff --git a/payload_consumer/delta_performer_unittest.cc b/payload_consumer/delta_performer_unittest.cc
index 97f7892..8192632 100644
--- a/payload_consumer/delta_performer_unittest.cc
+++ b/payload_consumer/delta_performer_unittest.cc
@@ -111,6 +111,14 @@
brillo::Blob GeneratePayload(const brillo::Blob& blob_data,
const vector<AnnotatedOperation>& aops,
+ bool sign_payload) {
+ return GeneratePayload(blob_data, aops, sign_payload,
+ DeltaPerformer::kSupportedMajorPayloadVersion,
+ DeltaPerformer::kSupportedMinorPayloadVersion);
+ }
+
+ brillo::Blob GeneratePayload(const brillo::Blob& blob_data,
+ const vector<AnnotatedOperation>& aops,
bool sign_payload,
uint64_t major_version,
uint32_t minor_version) {
@@ -370,9 +378,7 @@
aop.op.set_type(InstallOperation::REPLACE);
aops.push_back(aop);
- brillo::Blob payload_data = GeneratePayload(expected_data, aops, false,
- kChromeOSMajorPayloadVersion,
- kSourceMinorPayloadVersion);
+ brillo::Blob payload_data = GeneratePayload(expected_data, aops, false);
EXPECT_EQ(expected_data, ApplyPayload(payload_data, "/dev/null", true));
}
@@ -392,9 +398,7 @@
aop.op.set_type(InstallOperation::REPLACE_BZ);
aops.push_back(aop);
- brillo::Blob payload_data = GeneratePayload(bz_data, aops, false,
- kChromeOSMajorPayloadVersion,
- kSourceMinorPayloadVersion);
+ brillo::Blob payload_data = GeneratePayload(bz_data, aops, false);
EXPECT_EQ(expected_data, ApplyPayload(payload_data, "/dev/null", true));
}
@@ -414,9 +418,7 @@
aop.op.set_type(InstallOperation::REPLACE_XZ);
vector<AnnotatedOperation> aops = {aop};
- brillo::Blob payload_data = GeneratePayload(xz_data, aops, false,
- kChromeOSMajorPayloadVersion,
- kSourceMinorPayloadVersion);
+ brillo::Blob payload_data = GeneratePayload(xz_data, aops, false);
EXPECT_EQ(expected_data, ApplyPayload(payload_data, "/dev/null", true));
}
@@ -437,9 +439,7 @@
aop.op.set_type(InstallOperation::ZERO);
vector<AnnotatedOperation> aops = {aop};
- brillo::Blob payload_data = GeneratePayload(brillo::Blob(), aops, false,
- kChromeOSMajorPayloadVersion,
- kSourceMinorPayloadVersion);
+ brillo::Blob payload_data = GeneratePayload(brillo::Blob(), aops, false);
EXPECT_EQ(expected_data,
ApplyPayloadToData(payload_data, "/dev/null", existing_data, true));
@@ -457,9 +457,8 @@
EXPECT_TRUE(HashCalculator::RawHashOfData(expected_data, &src_hash));
aop.op.set_src_sha256_hash(src_hash.data(), src_hash.size());
- brillo::Blob payload_data =
- GeneratePayload(brillo::Blob(), {aop}, false,
- kChromeOSMajorPayloadVersion, kSourceMinorPayloadVersion);
+ brillo::Blob payload_data = GeneratePayload(brillo::Blob(), {aop}, false);
+
string source_path;
EXPECT_TRUE(utils::MakeTempFile("Source-XXXXXX",
&source_path, nullptr));
@@ -485,9 +484,8 @@
EXPECT_TRUE(HashCalculator::RawHashOfData(expected_data, &src_hash));
aop.op.set_src_sha256_hash(src_hash.data(), src_hash.size());
- brillo::Blob payload_data =
- GeneratePayload(brillo::Blob(), {aop}, false,
- kChromeOSMajorPayloadVersion, kSourceMinorPayloadVersion);
+ brillo::Blob payload_data = GeneratePayload(brillo::Blob(), {aop}, false);
+
string source_path;
EXPECT_TRUE(utils::MakeTempFile("Source-XXXXXX", &source_path, nullptr));
ScopedPathUnlinker path_unlinker(source_path);
diff --git a/update_engine.conf b/update_engine.conf
index 981887d..449e669 100644
--- a/update_engine.conf
+++ b/update_engine.conf
@@ -1,2 +1,2 @@
PAYLOAD_MAJOR_VERSION=2
-PAYLOAD_MINOR_VERSION=2
+PAYLOAD_MINOR_VERSION=3