]> git.pld-linux.org Git - packages/dictd.git/blob - dictd.init
- release 2
[packages/dictd.git] / dictd.init
1 #!/bin/sh
2 #
3 # dictd:        Starts the Dictionary Daemon
4 #
5 # chkconfig:    345 90 10
6 # description:  This is a daemon for the Dictionary Server Protocol (DICT), \
7 #               a TCP transaction based query/response protocol that allows \
8 #               a client to access dictionary definitions from a set of \
9 #               natural language dictionary databases.
10 # processname:  dictd
11 # config:       /etc/dictd.conf
12 # config:       /etc/dictd/*
13
14 DAEMON_FILE=dictd
15 DAEMON_NAME="Dictionary Daemon"
16 DAEMON_CONF=/etc/dictd.conf
17
18 generate_dictdconf() {
19     umask 022
20     if ls /etc/dictd/*.dictconf >/dev/null 2>&1; then
21         echo "# DO NOT EDIT! This file is autogenerated by $0." >$DAEMON_CONF
22         echo "# To configure dictd edit /etc/dictd/* files and restart daemon"\
23             >>$DAEMON_CONF
24         cat /etc/dictd/dictd-main.conf /etc/dictd/*.dictconf >>$DAEMON_CONF
25         return 0
26     fi
27
28     echo "$0: $(nls 'no dictionaries found')"
29     return 1
30 }
31
32 # Source function library.
33 . /etc/rc.d/init.d/functions
34
35 # Get network config
36 . /etc/sysconfig/network
37
38 if is_yes "${NETWORKING}"; then
39         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
40                 msg_network_down ${DAEMON_FILE}
41                 exit 1
42         fi
43 else
44         exit 0
45 fi
46
47 # Get sysconfig
48 [ -f /etc/sysconfig/${DAEMON_FILE} ] && . /etc/sysconfig/${DAEMON_FILE}
49
50 RETVAL=0
51 # See how we were called.
52 case "$1" in
53   start)
54         [ -x /usr/sbin/${DAEMON_FILE} ] || exit 0
55         if [ ! -f /var/lock/subsys/${DAEMON_FILE} ]; then
56                 if generate_dictdconf; then
57                         msg_starting ${DAEMON_NAME}
58                         daemon ${DAEMON_FILE} ${DICTD_OPTS}
59                         pidofproc ${DAEMON_FILE} >/dev/null 2>&1
60                         RETVAL=$?
61                         [ $RETVAL -eq 0 ] && \
62                             touch /var/lock/subsys/${DAEMON_FILE}
63                 else
64                         exit 1
65                 fi
66         else
67                 msg_already_running ${DAEMON_NAME}
68         fi
69         ;;
70   stop)
71         if [ -f /var/lock/subsys/${DAEMON_FILE} ]; then
72                 msg_stopping ${DAEMON_NAME}
73                 killproc /usr/sbin/${DAEMON_FILE}
74                 rm -f /var/lock/subsys/${DAEMON_FILE} >/dev/null 2>&1
75         else
76                 msg_not_running ${DAEMON_NAME}
77         fi
78         ;;
79   status)
80         status ${DAEMON_FILE}
81         exit $?
82         ;;
83   restart|force-reload)
84         $0 stop
85         $0 start
86         exit $?
87         ;;
88     *)
89         msg_usage "$0 {start|stop|restart|force-reload|status}"
90         exit 3
91 esac
92
93 exit $RETVAL
This page took 0.078609 seconds and 3 git commands to generate.