Add install op types for lz4diff am: f67dc4974d
Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1915660
Change-Id: Ic908c38445a730fb385fdccab61874c3b554331e
diff --git a/payload_consumer/payload_constants.cc b/payload_consumer/payload_constants.cc
index f25bd4c..4719be8 100644
--- a/payload_consumer/payload_constants.cc
+++ b/payload_consumer/payload_constants.cc
@@ -37,7 +37,7 @@
const uint32_t kZucchiniMinorPayloadVersion = 8;
const uint32_t kMinSupportedMinorPayloadVersion = kSourceMinorPayloadVersion;
-const uint32_t kMaxSupportedMinorPayloadVersion = kZucchiniMinorPayloadVersion;
+const uint32_t kMaxSupportedMinorPayloadVersion = kLZ4DIFFMinorPayloadVersion;
const uint64_t kMaxPayloadHeaderSize = 24;
@@ -68,6 +68,10 @@
return "BROTLI_BSDIFF";
case InstallOperation::ZUCCHINI:
return "ZUCCHINI";
+ case InstallOperation::LZ4DIFF_BSDIFF:
+ return "LZ4DIFF_BSDIFF";
+ case InstallOperation::LZ4DIFF_PUFFDIFF:
+ return "LZ4DIFF_PUFFIDFF";
case InstallOperation::BSDIFF:
case InstallOperation::MOVE:
NOTREACHED();
diff --git a/payload_consumer/payload_constants.h b/payload_consumer/payload_constants.h
index 28edf4e..31e24f7 100644
--- a/payload_consumer/payload_constants.h
+++ b/payload_consumer/payload_constants.h
@@ -62,6 +62,9 @@
// The minor version that allows ZUCCHINI operation.
extern const uint32_t kZucchiniMinorPayloadVersion;
+// THe minor version that allows LZ4DIFF operation
+constexpr uint32_t kLZ4DIFFMinorPayloadVersion = 9;
+
// The minimum and maximum supported minor version.
extern const uint32_t kMinSupportedMinorPayloadVersion;
extern const uint32_t kMaxSupportedMinorPayloadVersion;
diff --git a/payload_generator/payload_generation_config.cc b/payload_generator/payload_generation_config.cc
index 178261e..cbdecef 100644
--- a/payload_generator/payload_generation_config.cc
+++ b/payload_generator/payload_generation_config.cc
@@ -26,6 +26,7 @@
#include <libsnapshot/cow_format.h>
#include "bsdiff/constants.h"
+#include "payload_consumer/payload_constants.h"
#include "update_engine/common/utils.h"
#include "update_engine/payload_consumer/delta_performer.h"
#include "update_engine/payload_generator/boot_img_filesystem.h"
@@ -240,7 +241,8 @@
minor == kPuffdiffMinorPayloadVersion ||
minor == kVerityMinorPayloadVersion ||
minor == kPartialUpdateMinorPayloadVersion ||
- minor == kZucchiniMinorPayloadVersion);
+ minor == kZucchiniMinorPayloadVersion ||
+ minor == kLZ4DIFFMinorPayloadVersion);
return true;
}
@@ -274,6 +276,9 @@
case InstallOperation::ZUCCHINI:
return minor >= kZucchiniMinorPayloadVersion;
+ case InstallOperation::LZ4DIFF_BSDIFF:
+ case InstallOperation::LZ4DIFF_PUFFDIFF:
+ return minor >= kLZ4DIFFMinorPayloadVersion;
case InstallOperation::MOVE:
case InstallOperation::BSDIFF:
diff --git a/update_metadata.proto b/update_metadata.proto
index 6164a4d..d318a62 100644
--- a/update_metadata.proto
+++ b/update_metadata.proto
@@ -190,6 +190,10 @@
// On minor version 8 or newer, these operations are supported:
ZUCCHINI = 11;
+
+ // On minor version 9 or newer, these operations are supported:
+ LZ4DIFF_BSDIFF = 12;
+ LZ4DIFF_PUFFDIFF = 13;
}
required Type type = 1;