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