Jiri Moskovcak 8f1795
#!/bin/bash
Jiri Moskovcak 8f1795
# Harvest vmcores for ABRT
Jiri Moskovcak 8f1795
#
Jiri Moskovcak 8f1795
# chkconfig: 35 82 16
Jiri Moskovcak 8f1795
# description: Installs coredump handler which saves segfault data
Jiri Moskovcak 8f1795
### BEGIN INIT INFO
Jiri Moskovcak 8f1795
# Provides: abrt-vmcore
Jiri Moskovcak 8f1795
# Required-Start: $abrtd
Jiri Moskovcak 8f1795
# Default-Stop: 0 1 2 6
Jiri Moskovcak 8f1795
# Default-Start: 3 5
Jiri Moskovcak 8f1795
# Short-Description: Collects vmcore (kernel crash data) for ABRT
Jiri Moskovcak 8f1795
# Description: Collects vmcore (kernel crash data) for ABRT
Jiri Moskovcak 8f1795
### END INIT INFO
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
# Source function library.
Jiri Moskovcak 8f1795
. /etc/rc.d/init.d/functions
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
LOCK="/var/lock/subsys/abrt-vmcore"
Jiri Moskovcak 8f1795
HARVEST_CMD="/usr/sbin/abrt-harvest-vmcore"
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
RETVAL=0
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
check() {
Jiri Moskovcak 8f1795
	# Check that we're a privileged user
Jiri Moskovcak 8f1795
	[ "`id -u`" = 0 ] || exit 4
Jiri Moskovcak 8f1795
}
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
start() {
Jiri Moskovcak 8f1795
	check
Jiri Moskovcak 8f1795
	"$HARVEST_CMD"
Jiri Moskovcak 8f1795
	RETVAL=$?
Jiri Moskovcak 8f1795
	[ $RETVAL -eq 0 ] && touch -- "$LOCK"
Jiri Moskovcak 8f1795
	return $RETVAL
Jiri Moskovcak 8f1795
}
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
stop() {
Jiri Moskovcak 8f1795
	check
Jiri Moskovcak 8f1795
	rm -f -- "$LOCK"
Jiri Moskovcak 8f1795
	return 0
Jiri Moskovcak 8f1795
}
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
restart() {
Jiri Moskovcak 8f1795
	stop
Jiri Moskovcak 8f1795
	start
Jiri Moskovcak 8f1795
}
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
reload() {
Jiri Moskovcak 8f1795
	restart
Jiri Moskovcak 8f1795
}
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
case "$1" in
Jiri Moskovcak 8f1795
start)
Jiri Moskovcak 8f1795
	start
Jiri Moskovcak 8f1795
	;;
Jiri Moskovcak 8f1795
stop)
Jiri Moskovcak 8f1795
	stop
Jiri Moskovcak 8f1795
	;;
Jiri Moskovcak 8f1795
reload)
Jiri Moskovcak 8f1795
	reload
Jiri Moskovcak 8f1795
	;;
Jiri Moskovcak 8f1795
force-reload)
Jiri Moskovcak 8f1795
	echo "$0: Unimplemented feature."
Jiri Moskovcak 8f1795
	RETVAL=3
Jiri Moskovcak 8f1795
	;;
Jiri Moskovcak 8f1795
restart)
Jiri Moskovcak 8f1795
	restart
Jiri Moskovcak 8f1795
	;;
Jiri Moskovcak 8f1795
condrestart)
Jiri Moskovcak 8f1795
	test -f "$LOCK" && restart
Jiri Moskovcak 8f1795
	;;
Jiri Moskovcak 8f1795
status)
Jiri Moskovcak 8f1795
	test -f "$LOCK" && RETVAL=0 || RETVAL=3
Jiri Moskovcak 8f1795
	;;
Jiri Moskovcak 8f1795
*)
Jiri Moskovcak 8f1795
	echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}"
Jiri Moskovcak 8f1795
	RETVAL=2
Jiri Moskovcak 8f1795
esac
Jiri Moskovcak 8f1795
Jiri Moskovcak 8f1795
exit $RETVAL