dotfiles/.local/bin/sign-omni.sh

75 lines
2.6 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Copyright (C) 2018-20 Akhil Narang
# SPDX-License-Identifier: GPL-3.0-only
# AOSiP upload script
# shellcheck disable=SC2086,SC2029
# SC2086: Double quote to prevent globbing and word splitting
# SC2029: Note that, unescaped, this expands on the client side.
export TZ=UTC
DATE="$(date +%Y%m%d)"
OMNI_VERSION="omni-13-${DATE}-cheetah-gapps"
SIGNED_OTAPACKAGE="${OMNI_VERSION}.zip"
INSTALLIMG=("boot.img" "dtbo.img" "init_boot.img" "vendor_boot.img" "vendor_kernel_boot.img")
INSTALLZIP="${OMNI_VERSION}-bootkit.zip"
SIGNED_TARGET_FILES="signed-target_files.zip"
SIGNED_IMAGE_PACKAGE="${OMNI_VERSION}-fastboot.zip"
OUT="out/target/product/cheetah"
TEMP_DIR=$(mktemp -d)
UPLOAD="./upload_assets"
mkdir -pv "$UPLOAD"
if [[ $WITH_GAPPS ]]; then
SIGNING_FLAGS="-e CronetDynamite.apk= -e DynamiteLoader.apk= -e DynamiteModulesA.apk= -e AdsDynamite.apk= -e DynamiteModulesC.apk= -e MapsDynamite.apk= -e GoogleCertificates.apk= -e AndroidPlatformServices.apk= -e PrebuiltGmsCoreSc.apk= -e MlkitBarcodeUIPrebuilt.apk= -e VisionBarcodePrebuilt.apk="
fi
echo "Signing target_files APKs"
sign_target_files_apks -o -d ~/.android-certs $SIGNING_FLAGS "$OUT"/obj/PACKAGING/target_files_intermediates/omni_cheetah-target_files-eng.*.zip "$UPLOAD/$SIGNED_TARGET_FILES" || exit 1
if [[ $WITH_OTA ]]; then
echo "Generating signed otapackage"
ota_from_target_files -k ~/.android-certs/releasekey "$UPLOAD/$SIGNED_TARGET_FILES" "$UPLOAD/$SIGNED_OTAPACKAGE" || exit 1
fi
echo "Generating signed images package"
img_from_target_files "$UPLOAD/$SIGNED_TARGET_FILES" "$UPLOAD/$SIGNED_IMAGE_PACKAGE" || exit 1
if [[ $WITH_BOOTKIT ]]; then
echo "Setting up bootkit"
TEMP_DIR=$(mktemp -d)
for IMAGE in "${INSTALLIMG[@]}"; do
7z e "$UPLOAD/$SIGNED_TARGET_FILES" IMAGES/"$IMAGE" -so > "$TEMP_DIR/$IMAGE"
done
find "$TEMP_DIR" -print | zip -j "$UPLOAD/$INSTALLZIP" -@
rm -vrf "${TEMP_DIR:?}/"*
fi
cd $UPLOAD || exit
if [[ $WITH_MD5 ]]; then
echo "Generating MD5 checksums"
md5sum {"$SIGNED_OTAPACKAGE","$SIGNED_IMAGE_PACKAGE","$INSTALLZIP"} >> "$OMNI_VERSION-md5sums.txt"
fi
echo "Removing old zips from webserver"
ssh oizys 'rm -rf /srv/www/cheetah/omni-*.*'
echo "Uploading to webserver and gdrive"
for FILE in "$OMNI_VERSION"{,-*}.zip; do
scp $FILE cirrus:/srv/www/cheetah/
rclone copy -P --drive-chunk-size=256M $FILE gdrive:/uploads/cheetah/
done
cd - || exit
ls -lah $UPLOAD
read -p "Remove ./upload (y/n)? " answer
case ${answer:0:1} in
y|Y )
rm -rfv $UPLOAD
;;
* )
exit
;;
esac
# dialog --yesno "Remove ./upload (build zips)" 20 60 && rm -rfv $UPLOAD