#!/bin/sh
#
# Install embedded flexa package
#

PACKAGE=/barix/flexa/package.zip
DEST_PACKAGE=/mnt/data/package.zip

migrate_config() {
    # flexa-agent install needs this
    if [ -z "$(uci -q get flexa_agent.application)" ]; then
        uci -q set flexa_agent.application='section'
        uci commit flexa_agent
    fi
}

start() {
    migrate_config

    echo -n "Checking flexa auto-install... "
    if [ -f $PACKAGE ]; then
        md5_package=$(md5sum $PACKAGE | cut -d " " -f1)
        if [ -f $DEST_PACKAGE ]; then
            md5_final_package=$(md5sum $DEST_PACKAGE | cut -d " " -f1)
            if [ $md5_final_package = $md5_package ]; then
                NO_COPY=1
            fi
        fi

        if [ -z "$NO_COPY" ]; then
            cp $PACKAGE /mnt/data/
            if [ $? -eq 0 ]; then
                /bin/sync
                md5_final_package=$(md5sum $DEST_PACKAGE | cut -d " " -f1)
                if [ $md5_final_package = $md5_package ]; then
                    echo "installing package"
                    /usr/bin/flexa-agent install "${DEST_PACKAGE}"
                fi
            fi
        fi
    else
        echo "nothing to do"
    fi

    # Install files in system if any. If a file was installed we need to reboot.
    if flexa-install --patch-system; then
        reboot
    fi
}

stop() {
    return 0
}

restart() {
    stop
    start
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        restart
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $?
 
