#!/bin/sh
# Copyright 2001 Alberto Gonzalez Iniesta <agi@agi.as>
# Licensed under the GNU General Public License, version 2.  See the file
# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
#
set -e
test $DEBIAN_SCRIPT_DEBUG && set -v -x

# use debconf
. /usr/share/debconf/confmodule

#
# POSIX-compliant shell function
# to check for the existence of a command
# Return 0 if found
#
pathfind() {
    OLDIFS="$IFS"
    IFS=:
    for p in $PATH; do
        if [ -x "$p/$*" ]; then
            IFS="$OLDIFS"
            return 0
        fi
    done
    IFS="$OLDIFS"
    return 1
}

THIS_PACKAGE=openvpn
# update-rc.d levels
S=01
K=01

if [ -f /sbin/runit ]; then
  if [ -d /etc/sv ] && [ ! -d "/etc/sv/openvpn" ]; then
    cp -r /usr/share/runit/sv/openvpn /etc/sv/
    echo "Copying to /etc/sv"
  fi
fi

if [ -f /sbin/runit ]; then  
  #remove /etc/init.d/openvpn if it exists since we are using runit
  if [ -f /etc/init.d/openvpn ]; then 
      rm /etc/init.d/openvpn
  fi 
  if [ ! -h "/etc/service/openvpn" ]; then
    ln -s /etc/sv/openvpn/ /etc/service/
  fi  
else
  if [ -x /etc/init.d/openvpn ]; then
    update-rc.d openvpn defaults $S $K >/dev/null 2>&1
  fi
fi

case "$1" in
  configure)
    db_get openvpn/create_tun || RET="false"
    if [ "$RET" = "true" ]; then
      [ -e /dev/net ] || mkdir -m 755 /dev/net
      [ -d /dev/net -a ! -e /dev/net/tun ] && mknod /dev/net/tun c 10 200
    fi
    for f in /run/sendsigs.omit.d/openvpn.*.pid; do
      [ -e "$f" ] && continue
      b="$(basename $f|sed 's/openvpn\.//')"
      # make sure is a vpn name, not *.pid (#730679)
      echo "$b" | grep -q '\*' && continue
      ln -sf "/run/openvpn/$b" "/run/sendsigs.omit.d/openvpn.$b"
    done
    if pidof -c /usr/sbin/openvpn >/dev/null; then
        echo "A reboot is required to replace the running openvpn." >&2
        echo "Please reboot the system as soon as possible." >&2
    fi
  ;;
esac

db_stop

#DEBHELPER#

exit 0
# vim:set ai et sts=2 sw=2 tw=0:
