Add a CLI option to enable/disable puffdiff
For fast OTA generation during development
Test: th
Change-Id: Idadace48a9533ba8597a826510dedc2ab3ac9d90
diff --git a/payload_generator/generate_delta_main.cc b/payload_generator/generate_delta_main.cc
index 6daa36c..8fa86f0 100644
--- a/payload_generator/generate_delta_main.cc
+++ b/payload_generator/generate_delta_main.cc
@@ -445,6 +445,11 @@
false,
"Whether to enable LZ4diff feature when processing EROFS images.");
+DEFINE_bool(enable_puffdiff,
+ true,
+ "Whether to enable puffdiff feature. Enabling puffdiff will take "
+ "longer but generated OTA will be smaller.");
+
DEFINE_bool(
enable_zucchini,
true,
@@ -612,6 +617,7 @@
payload_config.enable_vabc_xor = FLAGS_enable_vabc_xor;
payload_config.enable_lz4diff = FLAGS_enable_lz4diff;
payload_config.enable_zucchini = FLAGS_enable_zucchini;
+ payload_config.enable_puffdiff = FLAGS_enable_puffdiff;
payload_config.ParseCompressorTypes(FLAGS_compressor_types);
diff --git a/payload_generator/payload_generation_config.cc b/payload_generator/payload_generation_config.cc
index f8469ea..a974180 100644
--- a/payload_generator/payload_generation_config.cc
+++ b/payload_generator/payload_generation_config.cc
@@ -38,6 +38,7 @@
#include "update_engine/payload_generator/mapfile_filesystem.h"
#include "update_engine/payload_generator/raw_filesystem.h"
#include "update_engine/payload_generator/squashfs_filesystem.h"
+#include "update_engine/update_metadata.pb.h"
using std::string;
@@ -393,6 +394,8 @@
case InstallOperation::LZ4DIFF_BSDIFF:
case InstallOperation::LZ4DIFF_PUFFDIFF:
return enable_lz4diff;
+ case InstallOperation::PUFFDIFF:
+ return enable_puffdiff;
default:
return true;
}
diff --git a/payload_generator/payload_generation_config.h b/payload_generator/payload_generation_config.h
index 225237a..0256a9d 100644
--- a/payload_generator/payload_generation_config.h
+++ b/payload_generator/payload_generation_config.h
@@ -261,6 +261,9 @@
// Whether to enable zucchini ops
bool enable_zucchini = true;
+ // Whether to enable puffdiff ops
+ bool enable_puffdiff = true;
+
std::string security_patch_level;
uint32_t max_threads = 0;