summaryrefslogtreecommitdiffstats
path: root/init-scripts/funcd
blob: c0c54b071bb83e842e6814072147794075dd8316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/bin/sh
#
# funcd    Fedora Unified Network Control
###################################

# LSB header

### BEGIN INIT INFO
# Provides: funcd
# Required-Start: network
# Required-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Fedora Unified Network Control
# Description: Crazy simple, secure remote management.
### END INIT INFO

# chkconfig header

# chkconfig: - 99 99 
# description:  Crazy simple, secure remote management.
#
# processname: /usr/bin/funcd

# Sanity checks.
[ -x /usr/bin/funcd ] || exit 0

SERVICE=funcd
PROCESS=funcd
DAEMON=/usr/bin/funcd
CONFIG_ARGS="--daemon"


FuncStatus()
{
  ps wt? | grep "$DAEMON" 2>&1 > /dev/null
  if [ "x$?" = "x0" ]; then
    RVAL=0
    echo "$DAEMON is running"
  else
    RVAL=3
    echo "$DAEMON is not running"
  fi
}

if [ -f /lib/lsb/init-functions ]; then
  . /lib/lsb/init-functions
  alias START_DAEMON=start_daemon
  alias STATUS=FuncStatus
  alias LOG_SUCCESS=log_success_msg
  alias LOG_FAILURE=log_failure_msg
  alias LOG_WARNING=log_warning_msg
elif [ -f /etc/init.d/functions ]; then
  . /etc/init.d/functions
  alias START_DAEMON=daemon
  alias STATUS=status
  alias LOG_SUCCESS=success
  alias LOG_FAILURE=failure
  alias LOG_WARNING=passed
else
  echo "Error: your platform is not supported by $0" > /dev/stderr
  exit 1
fi


RETVAL=0

start() {
    if [ -f /etc/debian_version ]; then
	log_begin_msg "Starting func daemon: "
        start-stop-daemon --exec $DAEMON --start --quiet -- $CONFIG_ARGS > /dev/null
	RETVAL=$?
	log_end_msg $RETVAL
	return $RETVAL
    else
	echo -n $"Starting func daemon: "
	START_DAEMON $DAEMON $CONFIG_ARGS
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE
	return $RETVAL
    fi
}

stop() {
    if [ -f /etc/debian_version ]; then
	log_daemon_msg "Stopping func daemon" "funcd"
        start-stop-daemon --stop --quiet --pidfile /var/run/funcd.pid --name funcd
	RETVAL=$?
        log_end_msg $RETVAL
	rm -f /var/run/funcd.pid
    else
	echo -n $"Stopping func daemon: "
	killproc $PROCESS
	RETVAL=$?
	echo
	if [ $RETVAL -eq 0 ]; then
	    rm -f /var/lock/subsys/$SERVICE
            rm -f /var/run/$SERVICE.pid
	fi
    fi
}

restart() {
   stop
   start
}

# See how we were called.
case "$1" in
    start|stop|restart)
        $1
        ;;
    status)
        STATUS $PROCESS
        RETVAL=$?
        ;;
    condrestart)
        [ -f /var/lock/subsys/$SERVICE ] && restart || :
        ;;
    reload)
        echo "can't reload configuration, you have to restart it"
        RETVAL=$?
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
        exit 1
        ;;
esac
exit $RETVAL