#!/bin/sh
# Update partition script

source /usr/local/lib/utils

root_part_num=2
root_part=/dev/mmcblk0p${root_part_num}
root_mount=/tmp/rootfs

do_preinst()
{
    notif " 1/5 EXTRACT FIRMWARE UPDATE..^DO NOT TURN OFF THE CONSOLE"
    exit 0
}

do_postinst()
{
    notif " 2/5 FIX RECOVERY GPIO MANAGER"
    rw
    cp -a /tmp/funkey_gpio_management /usr/local/sbin/
    chmod +x /usr/local/sbin/funkey_gpio_management
    ro
    notif " 3/5 RESIZE ROOT FILESYSTEM^DO NOT TURN OFF THE CONSOLE"
    resize2fs ${root_part}
    if [ $? -ne 0 ]; then
    	notif " CANNOT RESIZE ROOT^FILESYSTEM"
    	exit 1
    fi
    notif " 4/5 COPY OPKS TO USB MOUNT^DO NOT TURN OFF THE CONSOLE"
    folder_opks_emulators=/mnt/Emulators
    mkdir -p "$folder_opks_emulators"
    mkdir -p ${root_mount}
    mount -t ext4 ${root_part} ${root_mount}
    if [ $? -ne 0 ]; then
    	notif "CANNOT MOUNT ROOT^FILESYSTEM"
    	exit 1
    fi
    cp -f ${root_mount}/usr/games/opk/*.opk "$folder_opks_emulators"
    umount ${root_mount}
    if [ $? -ne 0 ]; then
    	notif "CANNOT UNMOUNT ROOT^FILESYSTEM"
    	exit 1
    fi
    for file in $(ls /mnt/FunKey-*.fwu); do
        notif " 5/5 ERASE UPDATE FILE^DO NOT TURN OFF THE CONSOLE"
    	rm -f "${file}"
    done
    exit 0
}

echo $0 $1

case "$1" in
preinst)
    do_preinst
    ;;
postinst)
    do_postinst
    ;;
*)
    exit 1
    ;;
esac
