]> andersk Git - test.git/blame - debian/shellinabox.init
Fixed an error in the init script's status function.
[test.git] / debian / shellinabox.init
CommitLineData
7460295f
MG
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: shellinabox
4# Required-Start: $network $remote_fs
5# Required-Stop: $network $remote_fs
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: Shell In A Box Daemon
9# Description: Daemon for publishing a login shell at
10# http://localhost:4200
11### END INIT INFO
12
13PATH=/sbin:/bin:/usr/sbin:/usr/bin
14DESC="Shell In A Box Daemon"
15NAME="shellinabox"
16DAEMON="/usr/bin/shellinaboxd"
17PIDFILE="/var/run/shellinaboxd.pid"
18SCRIPTNAME=/etc/init.d/$NAME
19
20# Gracefully exit if the package has been removed.
21test -x $DAEMON || exit 0
22
23. /lib/lsb/init-functions
24
25# Include shellinabox defaults if available.
26test -f /etc/default/shellinabox && . /etc/default/shellinabox
27
56d6406f
MG
28# Set some default values
29SHELLINABOX_DATADIR="${SHELLINABOX_DATADIR:-/var/lib/shellinabox}"
30SHELLINABOX_PORT="${SHELLINABOX_PORT:-4200}"
31SHELLINABOX_USER="${SHELLINABOX_USER:-shellinabox}"
32SHELLINABOX_GROUP="${SHELLINABOX_GROUP:-shellinabox}"
33
7460295f
MG
34#
35# Function that starts the daemon/service.
36#
37d_start() {
38 if [ -z "$SHELLINABOX_DAEMON_START" -o \
39 "$SHELLINABOX_DAEMON_START" = "0" ]; then
40 return 0
41 fi
42
6782b9c5
MG
43 eval start-stop-daemon --start --oknodo --pidfile "'$PIDFILE'" \
44 --exec "'$DAEMON'" -- -q --background="'$PIDFILE'" \
45 -c "'${SHELLINABOX_DATADIR}'" -p "'${SHELLINABOX_PORT}'" \
46 -u "'${SHELLINABOX_USER}'" -g "'${SHELLINABOX_GROUP}'" \
e7372536
MG
47 $(for i in $(ls /etc/shellinabox/options-enabled/*.css |
48 sed -e \
49 's/.*[/]\([0-9]*\)[-_+][^/:,;]*[.]css/\1/'|
50 sort -u); do
51 for j in /etc/shellinabox/options-enabled/"$i"*.css; do
52 echo -n "$j" |
53 sed -e 's/\(.*[/]\)\([0-9]*\)\([-_+]\)\([^/:,;]*\)[.]css/\4:\3\1\2\3\4.css,/
54 s/:_/:-/'
55 done |
56 sed -e 's/,$/;/'
57 done |
58 sed -e 's/;$//
59 //b
60 s/.*/--user-css "\0"/') \
6782b9c5 61 "${SHELLINABOX_ARGS}"
7460295f
MG
62}
63
64#
65# Function that stops the daemon/service.
66#
67d_stop() {
68 start-stop-daemon --stop --oknodo --pidfile "$PIDFILE"
69 rm -f "$PIDFILE"
70}
71
72#
73# Function that reloads the config file for the daemon/service.
74#
75d_reload() {
76 # Only reload if there are no active sessions running
77 [ -r "$PIDFILE" ] &&
78 [ `ps o pid= --ppid "\`cat "$PIDFILE"\`\`ps o pid= --ppid \
79 \\\`cat "$PIDFILE"\\\`|
80 xargs -r -n 1 printf ',%s'\`" |
81 wc -l` -gt 1 ] &&
82 return 1
83
84 d_stop
85 d_start
86}
87
88#
89# Function that check the status of the daemon/service.
90#
91d_status() {
1db23164 92 [ -r "$PIDFILE" ] && kill -0 `cat "$PIDFILE"` &&
7460295f
MG
93 echo "$DESC is running" || echo "$DESC is not running"
94}
95
96case "$1" in
97 start)
98 log_daemon_msg "Starting $DESC" "$NAME"
99 d_start
100 log_end_msg $?
101 ;;
102 stop)
103 log_daemon_msg "Stopping $DESC" "$NAME"
104 d_stop
105 log_end_msg $?
106 ;;
107 reload)
108 log_daemon_msg "Reloading services for $DESC" "$NAME"
109 d_reload
110 log_end_msg $?
111 ;;
112 restart|force-reload)
113 log_daemon_msg "Restarting $DESC" "$NAME"
114 d_stop
115 d_start
116 log_end_msg $?
117 ;;
118 status)
119 d_status
1db23164 120 ;;
7460295f
MG
121 *)
122 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload}" >&2
123 exit 1
124 ;;
125esac
126
127exit 0
This page took 0.102978 seconds and 5 git commands to generate.