Merge "build_mixed script has '-s' option for product.img"

This commit is contained in:
Treehugger Robot
2018-11-20 08:53:25 +00:00
committed by Gerrit Code Review

View File

@@ -4,9 +4,9 @@ usage () {
echo echo
echo "Usage: $0 [-v <vendor_version>] [-m <modify_system_image_path>]" echo "Usage: $0 [-v <vendor_version>] [-m <modify_system_image_path>]"
echo " [-t <prebuilt_otatools_path>] [-p <override_vbmeta_image_path>]" echo " [-t <prebuilt_otatools_path>] [-p <override_vbmeta_image_path>]"
echo " system_build_dir device_build_dir out_dir [check_tool]" echo " [-s] system_build_dir device_build_dir out_dir [check_tool]"
echo echo
echo "Options -v, -m, -t, -p must precede positional arguments." echo "Options -v, -m, -t, -p, -s must precede positional arguments."
echo echo
echo "vendor_version is the version of the vendor image when Keymaster v3" echo "vendor_version is the version of the vendor image when Keymaster v3"
echo " related modifications to the system image is necessary. Optional." echo " related modifications to the system image is necessary. Optional."
@@ -17,6 +17,10 @@ usage () {
echo " required host binaries to modify system image. Optional." echo " required host binaries to modify system image. Optional."
echo "override_vbmeta_image_path is the path to a vbmeta.img to use" echo "override_vbmeta_image_path is the path to a vbmeta.img to use"
echo " to override the existing vbmeta.img of device. Optional." echo " to override the existing vbmeta.img of device. Optional."
echo "-s is used to fetch and flash both product.img and system.img from"
echo " the system_build_dir for devices with a product partition."
echo " By default, only system.img is flashed to the target device for"
echo " independent system update. No parameter required. Optional"
echo "system_build_dir is the path to the system build" echo "system_build_dir is the path to the system build"
echo " eg. aosp_arm64_ab-userdebug." echo " eg. aosp_arm64_ab-userdebug."
echo "device_build_dir is the path to the device build" echo "device_build_dir is the path to the device build"
@@ -44,7 +48,7 @@ cleanup_and_exit () {
trap cleanup_and_exit EXIT trap cleanup_and_exit EXIT
while getopts :v:m:p:t: opt; do while getopts :v:m:p:t:s opt; do
case "$opt" in case "$opt" in
v) v)
readonly VENDOR_VERSION="$OPTARG" readonly VENDOR_VERSION="$OPTARG"
@@ -58,6 +62,9 @@ while getopts :v:m:p:t: opt; do
t) t)
readonly OTATOOLS_ZIP="$OPTARG" readonly OTATOOLS_ZIP="$OPTARG"
;; ;;
s)
readonly INCLUDE_PRODUCT=true
;;
\?) \?)
exit_badparam "Invalid options: -"$OPTARG"" exit_badparam "Invalid options: -"$OPTARG""
;; ;;
@@ -117,11 +124,23 @@ readonly SYSTEM_BUILD_PROP="SYSTEM/build.prop"
### ###
# Uncompress the archives. # Uncompress the archives.
declare -a EXTRACT_FILE_LIST
EXTRACT_FILE_LIST=(
IMAGES/system.img \
IMAGES/vbmeta.img \
META/system_matrix.xml \
META/system_manifest.xml \
"$SYSTEM_BUILD_PROP" \
)
if [[ "$INCLUDE_PRODUCT" == true ]]; then
EXTRACT_FILE_LIST+=(IMAGES/product.img)
fi
mkdir -p "$SYSTEM_ARTIFACTS_DIR" mkdir -p "$SYSTEM_ARTIFACTS_DIR"
# Get the system images and meta data. # Get the system images and meta data.
unzip "$SYSTEM_TARGET_FILES_ARCHIVE" \ # ${EXTRACT_FILE_LIST[*]} cannot be quoted to list each file for unzipping
IMAGES/system.img IMAGES/vbmeta.img META/system_matrix.xml META/system_manifest.xml "$SYSTEM_BUILD_PROP" \ unzip "$SYSTEM_TARGET_FILES_ARCHIVE" ${EXTRACT_FILE_LIST[*]} -d "$SYSTEM_ARTIFACTS_DIR"
-d "$SYSTEM_ARTIFACTS_DIR"
mkdir -p "$DEVICE_IMAGES_DIR" mkdir -p "$DEVICE_IMAGES_DIR"
# Get the device images. # Get the device images.
@@ -180,6 +199,9 @@ fi
### ###
# Overwrite artifacts in the device archive to create the Mixed Build artifacts. # Overwrite artifacts in the device archive to create the Mixed Build artifacts.
cp "$SYSTEM_IMAGES_DIR"/system.img "$DEVICE_IMAGES_DIR"/ cp "$SYSTEM_IMAGES_DIR"/system.img "$DEVICE_IMAGES_DIR"/
if [[ "$INCLUDE_PRODUCT" == true ]]; then
cp "$SYSTEM_IMAGES_DIR"/product.img "$DEVICE_IMAGES_DIR"/
fi
# Only override vbmeta if it is already present since fastboot update will try # Only override vbmeta if it is already present since fastboot update will try
# to flash whatever is in the archive. # to flash whatever is in the archive.