#!/bin/bash
#
# Author: Koblinger Egmont <egmont@fazekas.hu>
#
# /sbin/init.d/powerfail
#

. /etc/rc.config

case "$1" in
    start)
	echo "POWER FAILURE" >/etc/nologin
	echo "POWER FAILURE --- The system is going down soon" | wall &
	;;
    now)
	echo "POWER FAILURE" >/etc/nologin
	SEC=10
	echo "BATTERY LOW --- The system is going down in $SEC seconds" | wall &
	sleep $SEC
	echo "THE SYSTEM IS GOING DOWN NOW" | wall &
	init 4
	;;
    stop)
	if [ "$RUNLEVEL" = "4" ]; then
			# init needs /var to be rw --- why?
		mount -n -o remount,rw /
		mount /var 2>/dev/null
		telinit $PREVLEVEL
		echo telinit $PREVLEVEL
	else
		rm -f /etc/nologin
		echo "Power restored; shutdown cancelled" | wall &
	fi
	;;
    *)
	echo "Usage: $0 {start|stop|now}"
	exit 1
esac

exit 0
