Allow disable_vabc flag in full OTA
Previously, brillo_update_payload only honors --disable_vabc flag for
incremental OTA. Respect this flag for full OTA as well.
Test: Generate a full OTA with --disable_vabc
Change-Id: Ic18dfdffd3e43ab139d1ea0704679ea38dd082c2
diff --git a/payload_generator/generate_delta_main.cc b/payload_generator/generate_delta_main.cc
index 7288eca..b04fec0 100644
--- a/payload_generator/generate_delta_main.cc
+++ b/payload_generator/generate_delta_main.cc
@@ -599,7 +599,6 @@
if (FLAGS_is_partial_update) {
payload_config.is_partial_update = true;
}
- payload_config.disable_vabc = FLAGS_disable_vabc;
if (!FLAGS_in_file.empty()) {
return ApplyPayload(FLAGS_in_file, payload_config) ? 0 : 1;
@@ -627,6 +626,12 @@
CHECK(store.Load(base::FilePath(FLAGS_dynamic_partition_info_file)));
CHECK(payload_config.target.LoadDynamicPartitionMetadata(store));
CHECK(payload_config.target.ValidateDynamicPartitionMetadata());
+ if (FLAGS_disable_vabc) {
+ LOG(INFO) << "Disabling VABC";
+ payload_config.target.dynamic_partition_metadata->set_vabc_enabled(false);
+ payload_config.target.dynamic_partition_metadata
+ ->set_vabc_compression_param("");
+ }
}
CHECK(!FLAGS_out_file.empty());
diff --git a/payload_generator/payload_file.cc b/payload_generator/payload_file.cc
index d303cfb..6ec219f 100644
--- a/payload_generator/payload_file.cc
+++ b/payload_generator/payload_file.cc
@@ -72,11 +72,6 @@
*(manifest_.mutable_dynamic_partition_metadata()) =
*(config.target.dynamic_partition_metadata);
- if (config.disable_vabc) {
- manifest_.mutable_dynamic_partition_metadata()->set_vabc_enabled(false);
- manifest_.mutable_dynamic_partition_metadata()->set_vabc_compression_param(
- "");
- }
if (config.is_partial_update) {
manifest_.set_partial_update(true);
}
diff --git a/payload_generator/payload_generation_config.cc b/payload_generator/payload_generation_config.cc
index 73c9ab3..d45de6a 100644
--- a/payload_generator/payload_generation_config.cc
+++ b/payload_generator/payload_generation_config.cc
@@ -177,7 +177,9 @@
store.GetBoolean("virtual_ab", &snapshot_enabled);
metadata->set_snapshot_enabled(snapshot_enabled);
bool vabc_enabled = false;
- if (store.GetBoolean("virtual_ab_compression", &vabc_enabled)) {
+ if (store.GetBoolean("virtual_ab_compression", &vabc_enabled) &&
+ vabc_enabled) {
+ LOG(INFO) << "Target build supports VABC";
metadata->set_vabc_enabled(vabc_enabled);
}
// We use "gz" compression by default for VABC.
diff --git a/payload_generator/payload_generation_config.h b/payload_generator/payload_generation_config.h
index f7d0b6b..9c8c59f 100644
--- a/payload_generator/payload_generation_config.h
+++ b/payload_generator/payload_generation_config.h
@@ -231,11 +231,6 @@
// The maximum timestamp of the OS allowed to apply this payload.
int64_t max_timestamp = 0;
- // Permit use of VABC by default. Even if this is set to true, the device must
- // support VABC in order to use it. If this is set to false, device must not
- // use VABC regardless.
- bool disable_vabc = false;
-
// Path to apex_info.pb, extracted from target_file.zip
std::string apex_info_file;
};
diff --git a/scripts/brillo_update_payload b/scripts/brillo_update_payload
index c510148..d1a1781 100755
--- a/scripts/brillo_update_payload
+++ b/scripts/brillo_update_payload
@@ -706,10 +706,11 @@
GENERATOR_ARGS+=(
--disable_verity_computation="${FLAGS_disable_verity_computation}" )
fi
- if [[ -n "${FLAGS_disable_vabc}" ]]; then
- GENERATOR_ARGS+=(
- --disable_vabc="${FLAGS_disable_vabc}" )
- fi
+ fi
+
+ if [[ -n "${FLAGS_disable_vabc}" ]]; then
+ GENERATOR_ARGS+=(
+ --disable_vabc="${FLAGS_disable_vabc}" )
fi
# minor version is set only for delta or partial payload.