cvsdist b7890b8
#!/bin/bash
cvsdist 9a222d9
#
cvsdist 9a222d9
# innd		InterNet News System
cvsdist 9a222d9
#
cvsdist 9a222d9
# chkconfig: - 95 05
cvsdist 9a222d9
# description: inn is the most popular server for Usenet news. It allows \
cvsdist 9a222d9
#              you to setup local news servers. It can be difficult to \
cvsdist b7890b8
#              set up properly though, so be sure to read /usr/share/doc/inn* \
cvsdist 9a222d9
#              before trying.
cvsdist 9a222d9
# processname: innd
cvsdist 9a222d9
# pidfile: /var/run/news/innd.pid
cvsdist 9a222d9
Ondrej Dvoracek 8d210b9
### BEGIN INIT INFO
Ondrej Dvoracek 8d210b9
# Provides: innd
Ondrej Dvoracek 8d210b9
# Required-Start: $network
Ondrej Dvoracek 8d210b9
# Short-Description: InterNet News System
Ondrej Dvoracek 8d210b9
# Description: inn is the most popular server for Usenet news. It allows \
Ondrej Dvoracek 8d210b9
#              you to setup local news servers. It can be difficult to \
Ondrej Dvoracek 8d210b9
#              set up properly though, so be sure to read /usr/share/doc/inn* \
Ondrej Dvoracek 8d210b9
#              before trying.
Ondrej Dvoracek 8d210b9
### END INIT INFO
Ondrej Dvoracek 8d210b9
cvsdist 9a222d9
# Source function library.
cvsdist 9a222d9
. /etc/init.d/functions
cvsdist 9a222d9
cvsdist 9a222d9
# Get config.
cvsdist 9a222d9
. /etc/sysconfig/network
cvsdist 9a222d9
cvsdist 9a222d9
RETVAL=0
cvsdist 9a222d9
ec5bc23
[ -d /etc/news ] || exit 1
ec5bc23
[ -f /etc/news/inn.conf ] || exit 6
ec5bc23
. /usr/lib/news/lib/innshellvars || exit 1
ec5bc23
 
cvsdist 9a222d9
start() {
Ondrej Dvoracek 8d210b9
  # Check that networking is up.
Ondrej Dvoracek 8d210b9
  [ "${NETWORKING}" = "no" ] && exit 1
Ondrej Dvoracek 8d210b9
  [ -d "$SPOOLBASE" ] || exit 1
Ondrej Dvoracek 8d210b9
  [ -f "$HISTORY" -a -f "$HISTORY.hash" ] || {
Ondrej Dvoracek 8d210b9
    echo $"Please run makehistory and/or makedbz before starting innd." >&2
Ondrej Dvoracek 8d210b9
    exit 1
Ondrej Dvoracek 8d210b9
  }
Ondrej Dvoracek 8d210b9
		
Ondrej Dvoracek 8d210b9
  echo -n $"Starting INND system: "
Ondrej Dvoracek 8d210b9
  # INN uses too many un-checked shell scripts
Ondrej Dvoracek 8d210b9
  unset LANG
Ondrej Dvoracek 8d210b9
  unset LC_COLLATE
Ondrej Dvoracek 8d210b9
  daemon --user news /etc/rc.news
Ondrej Dvoracek 8d210b9
  RETVAL=$?
Ondrej Dvoracek 8d210b9
  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/innd
Ondrej Dvoracek 8d210b9
  echo
cvsdist 9a222d9
}
cvsdist 9a222d9
cvsdist 9a222d9
stop() {
Ondrej Dvoracek 8d210b9
  if [ -f /var/run/news/innd.pid ]; then
Ondrej Dvoracek 8d210b9
    echo -n $"Stopping INND service (gently): "
Ondrej Dvoracek 8d210b9
    if "${NEWSBIN}/ctlinnd" -s -t 60 throttle shutting down &&
Ondrej Dvoracek 8d210b9
	     sleep 30 &&
Ondrej Dvoracek 8d210b9
       "${NEWSBIN}/ctlinnd" -s -t 60 shutdown shutting down; then
Ondrej Dvoracek 8d210b9
      success $"innd shutdown"
Ondrej Dvoracek 8d210b9
    else
Ondrej Dvoracek 8d210b9
      failure $"innd shutdown"
Ondrej Dvoracek 8d210b9
      echo -n $"Stopping INND service (the hard way): "
Ondrej Dvoracek 8d210b9
      killproc innd
Ondrej Dvoracek 8d210b9
    fi
Ondrej Dvoracek 8d210b9
    RETVAL=$?
Ondrej Dvoracek 8d210b9
    [ $RETVAL -eq 0 ] && rm -f /var/run/news/innd.pid
Ondrej Dvoracek 8d210b9
    echo
Ondrej Dvoracek 8d210b9
  fi
Ondrej Dvoracek 8d210b9
  if [ -f /var/run/news/innwatch.pid ]; then
Ondrej Dvoracek 8d210b9
    echo -n $"Stopping INNWatch service: "
Ondrej Dvoracek 8d210b9
    killproc innwatch -9
Ondrej Dvoracek 8d210b9
    RETVAL=$?
Ondrej Dvoracek 8d210b9
    [ $RETVAL -eq 0 ] && rm -f /var/run/news/innwatch.pid
Ondrej Dvoracek 8d210b9
    echo
Ondrej Dvoracek 8d210b9
  fi
Ondrej Dvoracek 8d210b9
  if [ -f /var/run/news/innfeed.pid ]; then
Ondrej Dvoracek 8d210b9
    echo -n $"Stopping INNFeed service: "
Ondrej Dvoracek 8d210b9
    killproc innfeed -9
Ondrej Dvoracek 8d210b9
    RETVAL=$?
Ondrej Dvoracek 8d210b9
    [ $RETVAL -eq 0 ] && rm -f /var/run/news/innfeed.pid
Ondrej Dvoracek 8d210b9
    echo
Ondrej Dvoracek 8d210b9
  fi
Ondrej Dvoracek 8d210b9
  if [ -f /var/run/news/actived.pid ]; then
Ondrej Dvoracek 8d210b9
    echo -n $"Stopping INN actived service: "
Ondrej Dvoracek 8d210b9
    killproc actived -9
Ondrej Dvoracek 8d210b9
    RETVAL=$?
Ondrej Dvoracek 8d210b9
    [ $RETVAL -eq 0 ] && rm -f /var/run/news/actived.pid
Ondrej Dvoracek 8d210b9
    echo
Ondrej Dvoracek 8d210b9
  fi
Ondrej Dvoracek 8d210b9
  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/innd /var/lock/news/*
cvsdist 9a222d9
}
cvsdist 9a222d9
cvsdist 9a222d9
reload() {
Ondrej Dvoracek 8d210b9
  echo -n $"Reloading INN Service: "
Ondrej Dvoracek 8d210b9
  killproc innd -HUP
Ondrej Dvoracek 8d210b9
  RETVAL=$?
cvsdist 9a222d9
}
cvsdist 9a222d9
cvsdist 9a222d9
restart() {
Ondrej Dvoracek 8d210b9
  stop
Ondrej Dvoracek 8d210b9
  start                                                                   
cvsdist 9a222d9
}
cvsdist 9a222d9
cvsdist 9a222d9
# See how we were called.
cvsdist 9a222d9
case "$1" in
cvsdist 9a222d9
  start)
Ondrej Dvoracek 8d210b9
    start
Ondrej Dvoracek 8d210b9
  ;;
cvsdist 9a222d9
  stop)
Ondrej Dvoracek 8d210b9
    stop
Ondrej Dvoracek 8d210b9
  ;;
cvsdist 9a222d9
  status)
Ondrej Dvoracek 8d210b9
    status innd
Ondrej Dvoracek 8d210b9
    RETVAL=$?
Ondrej Dvoracek 8d210b9
  ;;
cvsdist 9a222d9
  reload)
Ondrej Dvoracek 8d210b9
    #XXX fixme, not working
Ondrej Dvoracek 8d210b9
    #reload
Ondrej Dvoracek 8d210b9
    restart
Ondrej Dvoracek 8d210b9
  ;;
cvsdist 9a222d9
  restart)
Ondrej Dvoracek 8d210b9
    restart
Ondrej Dvoracek 8d210b9
  ;;
cvsdist 9a222d9
  condrestart)
Ondrej Dvoracek 8d210b9
    if [ -f /var/lock/subsys/innd ]; then
Ondrej Dvoracek 8d210b9
      restart
Ondrej Dvoracek 8d210b9
    fi
cvsdist 9a222d9
	;;
cvsdist 9a222d9
  *)
Ondrej Dvoracek 8d210b9
    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
Ondrej Dvoracek 8d210b9
    exit 3
cvsdist 9a222d9
	;;
cvsdist 9a222d9
esac
cvsdist 9a222d9
cvsdist 9a222d9
exit $RETVAL