]>
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() { | |
43bbc9af ER |
25 | if [ ! "$1" ]; then |
26 | echo -n -e "HylaFAX ERROR (old setup.cache) please run faxsetup -server\n" | |
ec4247b5 TO |
27 | exit 1 |
28 | fi | |
29 | ||
43bbc9af | 30 | if [ $1 = "yes" -o $1 = "1" ]; then |
ec4247b5 TO |
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 | |
43bbc9af | 44 | faxsetup(1M) command. Read the documentation on setting up |
ec4247b5 | 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() { | |
ec4247b5 TO |
61 | local RETVAL2=0 |
62 | ||
63 | OPTS="-i hylafax" | |
43bbc9af | 64 | if checkvar "$HFAXD_OLD_PROTOCOL"; then |
ec4247b5 TO |
65 | OPTS="$OPTS -o 4557" |
66 | OUT=" OLD Protocol" | |
67 | fi | |
68 | ||
43bbc9af | 69 | if checkvar "$HFAXD_SNPP_SERVER"; then |
ec4247b5 | 70 | OPTS="$OPTS -s snpp" |
43bbc9af | 71 | if [ "$OUT" ]; then |
ec4247b5 TO |
72 | OUT="$OUT - " |
73 | fi | |
74 | OUT="$OUT SNPP" | |
75 | fi | |
76 | ||
43bbc9af | 77 | if [ "$OUT" ]; then |
ec4247b5 TO |
78 | OUT="( $OUT )" |
79 | fi | |
80 | ||
43bbc9af | 81 | if checkvar "$FAXQ_SERVER"; then |
621586c3 | 82 | msg_starting "HylaFAX queue manager" |
ec4247b5 TO |
83 | daemon faxq |
84 | RETVAL=$? | |
ec4247b5 TO |
85 | fi |
86 | ||
43bbc9af | 87 | if checkvar "$HFAXD_SERVER"; then |
a5516e51 | 88 | msg="HylaFAX server" |
621586c3 AM |
89 | [ -n "$OUT" ] && msg="$msg $OUT" |
90 | msg_starting "HylaFAX server" | |
ec4247b5 TO |
91 | daemon hfaxd $OPTS |
92 | RETVAL2=$? | |
ec4247b5 TO |
93 | fi |
94 | ||
621586c3 | 95 | [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/hylafax || RETVAL=1 |
ec4247b5 TO |
96 | } |
97 | ||
98 | stop() { | |
43bbc9af | 99 | # stop can't return failure by LSB. so make these vars local |
ec4247b5 TO |
100 | local RETVAL=0 |
101 | local RETVAL2=0 | |
102 | ||
a5516e51 | 103 | msg_stopping "HylaFAX queue manager" |
621586c3 | 104 | daemon /usr/sbin/faxquit |
ec4247b5 | 105 | RETVAL=$? |
ec4247b5 | 106 | |
621586c3 | 107 | msg_stopping "HylaFAX server" |
ec4247b5 TO |
108 | killproc hfaxd |
109 | RETVAL2=$? | |
a5516e51 | 110 | |
43bbc9af | 111 | [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/hylafax |
ec4247b5 TO |
112 | } |
113 | ||
114 | faxgettyreset() { | |
a5516e51 ER |
115 | if pidofproc faxgetty > /dev/null; then |
116 | msg_starting "FaxGetty restart process" | |
621586c3 AM |
117 | killproc faxgetty |
118 | msg_starting "FaxGetty restart process (init reload)" | |
119 | daemon init q | |
ec4247b5 TO |
120 | fi |
121 | ||
122 | return 0 | |
123 | } | |
124 | ||
125 | restart() { | |
126 | stop | |
127 | start | |
ec4247b5 TO |
128 | faxgettyreset |
129 | } | |
130 | ||
c79d82c1 | 131 | hstatus() { |
ec4247b5 | 132 | status hfaxd |
a5516e51 | 133 | RETVAL=$? |
ec4247b5 | 134 | status faxq |
a5516e51 | 135 | return $(($RETVAL + $?)) |
ec4247b5 TO |
136 | } |
137 | ||
ec4247b5 TO |
138 | check_config || exit 1 |
139 | ||
a5516e51 | 140 | RETVAL=0 |
ec4247b5 TO |
141 | case "$1" in |
142 | start) | |
143 | start | |
144 | ;; | |
145 | stop) | |
146 | stop | |
147 | ;; | |
148 | restart|reload) | |
149 | restart | |
150 | ;; | |
151 | status) | |
c79d82c1 | 152 | hstatus |
a5516e51 | 153 | exit $? |
ec4247b5 TO |
154 | ;; |
155 | condrestart) | |
156 | [ -f /var/lock/subsys/hylafax ] && restart | |
157 | ;; | |
158 | faxgettyreset) | |
159 | faxgettyreset | |
160 | ;; | |
161 | *) | |
162 | echo "Usage: $0 { start | stop | status | restart | condrestart | faxgettyreset }" | |
163 | exit 1 | |
164 | ;; | |
165 | esac | |
166 | ||
167 | exit 0 |