]> git.pld-linux.org Git - packages/hylafax.git/blame - hylafax-init
- cleanups, unify
[packages/hylafax.git] / hylafax-init
CommitLineData
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
13SPOOL=/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
24checkvar() {
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
36check_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
60start() {
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
102stop() {
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
118faxgettyreset() {
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
129restart() {
130 stop
131 start
ec4247b5
TO
132 faxgettyreset
133}
134
c79d82c1 135hstatus() {
ec4247b5 136 status hfaxd
a5516e51 137 RETVAL=$?
ec4247b5 138 status faxq
a5516e51 139 return $(($RETVAL + $?))
ec4247b5
TO
140}
141
ec4247b5
TO
142check_config || exit 1
143
a5516e51 144RETVAL=0
ec4247b5
TO
145case "$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 ;;
169esac
170
171exit 0
This page took 0.0953000000000001 seconds and 4 git commands to generate.