]>
Commit | Line | Data |
---|---|---|
ec4247b5 TO |
1 | #! /bin/sh |
2 | # | |
a5516e51 | 3 | # hylafax, v 1.2 2001/01/10 Christian Zoffoli <czoffoli@linux-mandrake.com> |
ec4247b5 TO |
4 | # |
5 | # chkconfig: 12345 97 05 | |
6 | # description: HylaFAX(tm) is a sophisticated enterprise-strength fax \ | |
7 | # package for class 1 and 2 fax modems on unix systems. \ | |
8 | # This init script is the preferred way to start HylaFAX,\ | |
9 | # but does not, by default, activate any modems. Consult \ | |
a5516e51 | 10 | # the faxgetty(8) and faxmodem(8) man pages for more info. |
ec4247b5 TO |
11 | # |
12 | ||
13 | SPOOL=/var/spool/fax | |
14 | ||
15 | # Source networking configuration. | |
16 | . /etc/sysconfig/network | |
17 | ||
18 | # Check that networking is up. | |
19 | [ ${NETWORKING} = "no" ] && exit 0 | |
20 | ||
21 | # Source function library. | |
a5516e51 | 22 | . /etc/rc.d/init.d/functions |
ec4247b5 TO |
23 | |
24 | checkvar() { | |
25 | if [ ! $1 ]; then | |
26 | echo -n -e "HylaFAX ERROR (old setup.cache) please run faxsetup -server\n" | |
27 | exit 1 | |
28 | fi | |
29 | ||
30 | if [ $1 = "yes" -o $1 = "1" ]; then | |
31 | return 0 | |
32 | fi | |
33 | return 1 | |
34 | } | |
35 | ||
36 | check_config() { | |
37 | test -f $SPOOL/etc/setup.cache || { | |
38 | cat<<-EOF | |
a5516e51 | 39 | |
ec4247b5 | 40 | HylaFAX FATAL ERROR: $SPOOL/etc/setup.cache is missing! |
a5516e51 ER |
41 | |
42 | The file $SPOOL/etc/setup.cache is not present. | |
43 | This probably means the machine has not been setup using the | |
ec4247b5 TO |
44 | faxsetup(1M) command. Read the documentation on setting up |
45 | HylaFAX before you startup a server system. | |
a5516e51 | 46 | |
ec4247b5 | 47 | EOF |
a5516e51 ER |
48 | |
49 | return 1 | |
ec4247b5 TO |
50 | } |
51 | ||
52 | # Loading Config | |
53 | PATH_SAVE=$PATH | |
54 | . $SPOOL/etc/setup.cache | |
55 | PATH=$PATH_SAVE:$PATH | |
56 | ||
57 | return 0 | |
58 | } | |
59 | ||
60 | start() { | |
61 | local RETVAL=0 | |
62 | local RETVAL2=0 | |
63 | ||
64 | OPTS="-i hylafax" | |
a5516e51 | 65 | if checkvar $HFAXD_OLD_PROTOCOL; then |
ec4247b5 TO |
66 | OPTS="$OPTS -o 4557" |
67 | OUT=" OLD Protocol" | |
68 | fi | |
69 | ||
a5516e51 | 70 | if checkvar $HFAXD_SNPP_SERVER; then |
ec4247b5 TO |
71 | OPTS="$OPTS -s snpp" |
72 | if [ "$OUT" != "" ]; then | |
73 | OUT="$OUT - " | |
74 | fi | |
75 | OUT="$OUT SNPP" | |
76 | fi | |
77 | ||
78 | if [ $OUT ]; then | |
79 | OUT="( $OUT )" | |
80 | fi | |
81 | ||
82 | ||
a5516e51 | 83 | if checkvar $FAXQ_SERVER; then |
621586c3 | 84 | msg_starting "HylaFAX queue manager" |
ec4247b5 TO |
85 | daemon faxq |
86 | RETVAL=$? | |
ec4247b5 TO |
87 | fi |
88 | ||
a5516e51 ER |
89 | if checkvar $HFAXD_SERVER; then |
90 | msg="HylaFAX server" | |
621586c3 AM |
91 | [ -n "$OUT" ] && msg="$msg $OUT" |
92 | msg_starting "HylaFAX server" | |
ec4247b5 TO |
93 | daemon hfaxd $OPTS |
94 | RETVAL2=$? | |
ec4247b5 TO |
95 | fi |
96 | ||
621586c3 | 97 | [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/hylafax || RETVAL=1 |
ec4247b5 | 98 | |
a5516e51 | 99 | return $RETVAL |
ec4247b5 TO |
100 | } |
101 | ||
102 | stop() { | |
103 | local RETVAL=0 | |
104 | local RETVAL2=0 | |
105 | ||
a5516e51 | 106 | msg_stopping "HylaFAX queue manager" |
621586c3 | 107 | daemon /usr/sbin/faxquit |
ec4247b5 | 108 | RETVAL=$? |
ec4247b5 | 109 | |
621586c3 | 110 | msg_stopping "HylaFAX server" |
ec4247b5 TO |
111 | killproc hfaxd |
112 | RETVAL2=$? | |
a5516e51 | 113 | |
ec4247b5 TO |
114 | [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/hylafax || RETVAL=1 |
115 | return $RETVAL | |
116 | } | |
117 | ||
118 | faxgettyreset() { | |
a5516e51 ER |
119 | if pidofproc faxgetty > /dev/null; then |
120 | msg_starting "FaxGetty restart process" | |
621586c3 AM |
121 | killproc faxgetty |
122 | msg_starting "FaxGetty restart process (init reload)" | |
123 | daemon init q | |
ec4247b5 TO |
124 | fi |
125 | ||
126 | return 0 | |
127 | } | |
128 | ||
129 | restart() { | |
130 | stop | |
131 | start | |
ec4247b5 TO |
132 | faxgettyreset |
133 | } | |
134 | ||
c79d82c1 | 135 | hstatus() { |
ec4247b5 | 136 | status hfaxd |
a5516e51 | 137 | RETVAL=$? |
ec4247b5 | 138 | status faxq |
a5516e51 | 139 | return $(($RETVAL + $?)) |
ec4247b5 TO |
140 | } |
141 | ||
ec4247b5 TO |
142 | check_config || exit 1 |
143 | ||
a5516e51 | 144 | RETVAL=0 |
ec4247b5 TO |
145 | case "$1" in |
146 | start) | |
147 | start | |
148 | ;; | |
149 | stop) | |
150 | stop | |
151 | ;; | |
152 | restart|reload) | |
153 | restart | |
154 | ;; | |
155 | status) | |
c79d82c1 | 156 | hstatus |
a5516e51 | 157 | exit $? |
ec4247b5 TO |
158 | ;; |
159 | condrestart) | |
160 | [ -f /var/lock/subsys/hylafax ] && restart | |
161 | ;; | |
162 | faxgettyreset) | |
163 | faxgettyreset | |
164 | ;; | |
165 | *) | |
166 | echo "Usage: $0 { start | stop | status | restart | condrestart | faxgettyreset }" | |
167 | exit 1 | |
168 | ;; | |
169 | esac | |
170 | ||
171 | exit 0 |