#!/bin/sh
#
# start/stop portmap daemon.

test -f /sbin/portmap || exit 0
. /lib/lsb/init-functions

ARGS=""
if [ -f /etc/default/portmap ]; then
  . /etc/default/portmap
fi

case "$1" in
    start)
	log_begin_msg "Starting portmap daemon..."
        start-stop-daemon --start --quiet --oknodo --exec /sbin/portmap -- $ARGS
	log_end_msg $?

	if [ -f /var/run/portmap.upgrade-state ]; then
          log_begin_msg "Restoring old RPC service information..."
          sleep 1 # needs a short pause or pmap_set won't work. :(
	  pmap_set </var/run/portmap.upgrade-state
          log_end_msg $?
	  rm -f /var/run/portmap.upgrade-state
        fi

	;;
    stop)
        log_begin_msg "Stopping portmap daemon..."
        start-stop-daemon --stop --quiet --oknodo --exec /sbin/portmap
        log_end_msg $?
	;;
    force-reload)
        $0 restart
	;;
    restart)
	pmap_dump >/var/run/portmap.state
        $0 stop
        $0 start
	if [ ! -f /var/run/portmap.upgrade-state ]; then
          sleep 1
	  pmap_set </var/run/portmap.state
	fi
	rm -f /var/run/portmap.state
	;;
    *)
	log_success_msg "Usage: /etc/init.d/portmap {start|stop|force-reload|restart}"
	exit 1
	;;
esac

exit 0

