X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=exim.init;h=03c1735da3afa22fbf053b58eb1de03471fbff7f;hb=cb17dd0e9c6f77566814fb509f5d20c56da2d6c6;hp=cdc20ac4ab8357d8cea56ca28c232b878b34d535;hpb=f41177089c8bcfb6e03134caa47fb00291c5003c;p=packages%2Fexim.git diff --git a/exim.init b/exim.init index cdc20ac..03c1735 100644 --- a/exim.init +++ b/exim.init @@ -1,63 +1,92 @@ #!/bin/sh # -# exim This shell script takes care of starting and stopping -# Exim. +# exim This shell script takes care of starting and stopping Exim. # # chkconfig: 2345 80 30 -# # description: Exim is a Mail Transport Agent, which is the program \ # that moves mail from one machine to another. -# # processname: exim # config: /etc/exim.cf -# pidfile: /var/run/exim.pid - +# pidfile: /var/spool/exim/exim-daemon.pid -# Source function library +# Source function library. . /etc/rc.d/init.d/functions -# Get network config +# Source networking configuration. . /etc/sysconfig/network -# Get service config -if [ -f /etc/sysconfig/hc-cron ]; then - . /etc/sysconfig/hc-cron +# Source exim configureation. +if [ -f /etc/sysconfig/exim ]; then + . /etc/sysconfig/exim else - DAEMON=yes QUEUE=1h fi +# Check that networking is up. +if is_yes "${NETWORKING}"; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down Exim + exit 1 + fi +else + exit 0 +fi +RETVAL=0 # See how we were called. case "$1" in start) - # Check if the service is already running? + # Start daemons. if [ ! -f /var/lock/subsys/exim ]; then - show Starting exim - daemon exim $([ "$DAEMON" = yes ] && echo -bd) \ - $([ -n "$QUEUE" ] && echo -q$QUEUE) + msg_starting Exim + daemon exim \ + $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \ + $( [ -n "$QUEUE" ] && echo -q$QUEUE ) + for CONFIG in $EXIM_EXTRA_CONFIGS; do + msg_starting "Exim ($CONFIG)" + daemon exim \ + $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \ + $( [ -n "$QUEUE" ] && echo -q$QUEUE ) \ + -C $CONFIG + done + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/exim else - echo "Exim already is running" + msg_already_running Exim fi - touch /var/lock/subsys/exim ;; stop) # Stop daemons. - show Shutting down exim: - killproc exim - rm -f /var/lock/subsys/exim + if [ -f /var/lock/subsys/exim ]; then + msg_stopping Exim + killproc --pidfile /var/spool/exim/exim-daemon.pid exim + rm -f /var/lock/subsys/exim >/dev/null 2>&1 + else + msg_not_running Exim + fi ;; - restart|reload) + restart) $0 stop $0 start + exit $? ;; status) status exim + exit $? + ;; + reload|force-reload) + if [ -f /var/lock/subsys/exim ]; then + msg_reloading Exim + killproc exim -HUP + RETVAL=$? + else + msg_not_running Exim + exit 7 + fi ;; *) - echo "Usage: $0 {start|stop|staus|restart|reload}" - exit 1 + msg_usage "$0 {start|stop|restart|reload|force-reload|status}" + exit 3 esac -exit 0 - +exit $RETVAL