Add brillow_update_payload option to enable lz4diff
Test: th
Bug: 206729162
Change-Id: If155b7d59b2e6b32da16a7f227f32f7e5e1d801a
diff --git a/scripts/brillo_update_payload b/scripts/brillo_update_payload
index 2628286..f9c70f3 100755
--- a/scripts/brillo_update_payload
+++ b/scripts/brillo_update_payload
@@ -214,6 +214,10 @@
"Optional: allowed compressor types. Colon separated, allowe values are bz2 and brotli"
DEFINE_string enable_zucchini "" \
"Optional: Whether to enable zucchini diffing"
+ DEFINE_string enable_lz4diff "" \
+ "Optional: Whether to enable lz4 diffing for EROFS"
+ DEFINE_string liblz4_path "" \
+ "Required if --enabled_lz4diff true is passed. Path to liblz4.so. delta_generator will use this copy of liblz4.so for compression. It is important that this copy of liblz4.so is the same as the one on source build."
fi
if [[ "${COMMAND}" == "hash" || "${COMMAND}" == "sign" ]]; then
DEFINE_string unsigned_payload "" "Path to the input unsigned payload."
@@ -729,6 +733,14 @@
GENERATOR_ARGS+=(
--enable_zucchini="${FLAGS_enable_zucchini}" )
fi
+ if [[ -n "${FLAGS_enable_lz4diff}" ]]; then
+ if [[ "${FLAGS_enable_lz4diff}" == "true" && -z "${FLAGS_liblz4_path}" ]]; then
+ echo "--liblz4_path is required when enable_lz4diff is set to true."
+ exit 1
+ fi
+ GENERATOR_ARGS+=(
+ --enable_lz4diff="${FLAGS_enable_lz4diff}" )
+ fi
fi
if [[ -n "${FLAGS_enable_vabc_xor}" ]]; then
@@ -780,7 +792,11 @@
fi
echo "Running delta_generator with args: ${GENERATOR_ARGS[@]}"
- "${GENERATOR}" "${GENERATOR_ARGS[@]}"
+ if [[ -n "${FLAGS_enable_lz4diff}" ]]; then
+ LD_PRELOAD=${LD_PRELOAD}:${FLAGS_liblz4_path} "${GENERATOR}" "${GENERATOR_ARGS[@]}"
+ else
+ "${GENERATOR}" "${GENERATOR_ARGS[@]}"
+ fi
echo "Done generating ${payload_type} update."
}