#!/bin/sh
#
# /usr/sbin/bootlog
#
# (C)opyright Teco a.s.
#
# 2017/02/01 Hosek Martin <hosek@tecomat.cz>
#

LOG_FILE="/mnt/data/.bootlog"

Help()
{
    echo "  Usage: bootlog [-u|-h]"
    echo
    echo "  -u  Update boot log file"
    echo "  -h  Show this help message"
    echo

    exit 1
}

if [ "$1" = "" ]; then
    cat $LOG_FILE
    exit 0
fi

case "$1" in
    -u)
	while true; do
	    year=`date +%Y`

	    if [ `expr $year != 1970` = 1 ]; then
		break
	    fi

	    sleep 1
	done
	;;
    *)
	Help
	;;
esac

LAST_LINE=`tail -n 1 $LOG_FILE`

if [ "`echo $LAST_LINE | grep '__'`" != "" ]; then
    NEW_LAST_LINE=`date | tr '\n' ' '; echo -n ": "`
    NEW_LAST_LINE=`echo "$LAST_LINE" | sed s/'^.*__'/"$NEW_LAST_LINE"/`

    TMP_FILE=`cat $LOG_FILE | sed s/"$LAST_LINE"/"$NEW_LAST_LINE"/`
    echo "$TMP_FILE" > $LOG_FILE

    exit 0
fi

BOOT_STATUS=`bootstat | sed s/'^.*: '/''/ | sed s/' $'/''/`

if [ "$BOOT_STATUS" != "" ]; then
    date | tr '\n' ' ' >> $LOG_FILE

    echo -n ": " >> $LOG_FILE

    if [ "$BOOT_STATUS" != "GLOBAL_COLD_RST" ]; then
	BOOT_STATUS=`echo $BOOT_STATUS | sed s/'GLOBAL_COLD_RST'/''/`
    fi

    echo "$BOOT_STATUS" >> $LOG_FILE
fi

exit 0
