]> gitweb @ CieloNegro.org - pci-nopaste.git/blob - rc.d/linux/pci-nopaste.in
1f1f00765f9566225dedf3764b67a780d0f41023
[pci-nopaste.git] / rc.d / linux / pci-nopaste.in
1 #!/bin/sh
2 #
3 # /etc/init.d/pci-nopaste
4 #
5 ### BEGIN INIT INFO
6 # Provides:          pci-nopaste
7 # Required-Start:    $local_fs $remote_fs $network
8 # Required-Stop:     $local_fs $remote_fs $network
9 # Default-Start:     3 5
10 # Default-Stop:      0 1 2 6
11 # Short-Description: An obsolete implementation of no-paste, based on POE::Component::IRC
12 # Description:       See http://git.cielonegro.org/gitweb.cgi?p=pci-nopaste.git;a=summary
13 ### END INIT INFO
14
15 pidfile="@localstatedir@/pci-nopaste/pci-nopaste.pid"
16 command="@DAEMON@ -f -p $pidfile @bindir@/pci-nopaste"
17 command_args="--config=@sysconfdir@/pci-nopaste.conf"
18 pci_nopaste_user="no-paste"
19
20 success() {
21     RES_COL=60
22     echo -en "\\033[${RES_COL}G"
23     echo -n  "["
24     echo -en "\\033[1;32m"
25     echo -n  "  OK  "
26     echo -en "\\033[0;39m"
27     echo     "]"
28 }
29
30 failure() {
31     RES_COL=60
32     echo -en "\\033[${RES_COL}G"
33     echo -n  "["
34     echo -en "\\033[1;31m"
35     echo -n  "FAILED"
36     echo -en "\\033[0;39m"
37     echo     "]"
38 }
39
40 status() {
41     if [ -s "$pidfile" ]; then
42         read _pid < "$PIDFILE"
43
44         if [ -n "$_pid" -a -d "/proc/$_pid" ]; then
45             echo "pci-nopaste (pid $_pid) is running..."
46             return 0
47         else
48             echo "pci-nopaste is not running."
49             return 1
50         fi
51     else
52         echo "pci-nopaste is not running."
53         return 1
54     fi
55 }
56
57 start() {
58     if status >/dev/null 2>&1; then
59         echo "pci-nopaste is already running."
60         return 0
61     fi
62
63     echo -n "Starting pci-nopaste.."
64     /bin/su -s /bin/sh "$pci_nopaste_user" \
65         -c "$command $command_args"
66     RETVAL=$?
67
68     if [ $RETVAL -eq 0 ]; then
69         success
70     else
71         failure
72     fi
73
74     return $RETVAL
75 }
76
77 stop() {
78     if ! status >/dev/null 2>&1; then
79         echo "pci-nopaste not running? (check $pidfile)." 1>&2
80         exit 1
81     fi
82
83     echo -n "Stopping pci-nopaste: "
84     /bin/su -s /bin/sh "$pci_nopaste_user" \
85         -c "kill -TERM $_pid"
86     RETVAL=$?
87
88     if [ $? -eq 0 ]; then
89         success
90     else
91         failure
92     fi
93
94     return $RETVAL
95 }
96
97 restart() {
98     stop
99     start
100 }
101
102 RETVAL=0
103
104 case "$1" in
105     start)
106         start
107         RETVAL=$?
108         ;;
109     stop)
110         stop
111         RETVAL=$?
112         ;;
113     restart|reload|force-reload)
114         restart
115         RETVAL=$?
116         ;;
117     status)
118         status
119         RETVAL=$?
120         ;;
121     *)
122         echo "Usage: $0 {start|stop|status|restart|reload|force-reload}"
123         RETVAL=1
124 esac
125
126 exit $RETVAL