#!/bin/sh
if [ "$(id -u)" != "0" ]; then
    echo "You need to be root to start $0!" >&2
    exit 1
fi

if ! [ $# -eq 3 ]; then
    echo "Usage: $0 gapps.zip system.img new-system.img" >&2
    exit 2
fi

if ! [ -x /usr/bin/unzip -a -x /usr/bin/simg2img ]; then
    apt-get update && apt-get --yes install unzip android-tools-fsutils
fi

if ! [ -x /usr/bin/unzip -a -x /usr/bin/simg2img ]; then
    echo "Error: unzip and simg2img must be preinstalled!" >&2
    exit 3
fi

GAPPS="$1"
SYSTEM="$2"
NEW_SYSTEM="$3"

TMP_GAPPS=$(mktemp -d /tmp/gapps.XXXXXX)

unzip -d "$TMP_GAPPS" "$GAPPS" || exit
rm -rvf "$TMP_GAPPS"/system/addon.d

TMP_SYSTEM_IMG=$(mktemp /tmp/system-img.XXXXXX)
TMP_SYSTEM=$(mktemp -d /tmp/system.XXXXXX)

simg2img "$SYSTEM" "$TMP_SYSTEM_IMG"
mount -o loop "$TMP_SYSTEM_IMG" "$TMP_SYSTEM"
cp -av "$TMP_GAPPS"/system/* "$TMP_SYSTEM"
umount "$TMP_SYSTEM"
img2simg "$TMP_SYSTEM_IMG" "$NEW_SYSTEM"

rm -f "$TMP_SYSTEM_IMG"
rm -rf "$TMP_GAPPS" "$TMP_SYSTEM"

echo "Done."
