#!/bin/sh
#
# /sbin/fwupdate
#
# (C)opyright Tecomat a.s.
#
# 2010/06/09 Hosek Martin <hosek@tecomat.cz>
#

UPDATE_DIR="/tmp/update"

status=0

Unpack()
{
    echo -n "  Unpacking ... "

    tar xzf "$1" >/dev/null 2>&1

    ret=$?

    status=$(($status + $ret))

    if [ $ret == 0 ]; then
	echo "ok"
    else
	echo "error"
    fi
}

Update()
{
    echo -n "  Updating ... "

    if [ -f "$1"/scripts/install ]; then
	cd "$1"
	scripts/install
	cd ..
    else
	false
    fi

    ret=$?

    status=$(($status + $ret))

    if [ $ret == 0 ]; then
	echo "ok"
    else
	echo "error"
    fi
}

Delete()
{
    echo -n "  Deleting ... "

    for i in $*; do
	rm -rf "$i"
        ret=$?
	status=$(($status + $ret))
    done

    if [ $ret == 0 ]; then
	echo "ok"
    else
	echo "error"
    fi
}

cd $UPDATE_DIR

for file in `ls [0-9]*_update.tgz 2>/dev/null`; do
    file="`basename $file`"
    dir="`echo $file | sed s/'\..*$'/''/`"

    echo "Process the file: $file"

    Unpack "$file"
    Update "$dir"
    Delete "$file" "$dir"
done

exit $status
