summaryrefslogtreecommitdiff
path: root/debian/postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/postinst')
-rw-r--r--debian/postinst69
1 files changed, 69 insertions, 0 deletions
diff --git a/debian/postinst b/debian/postinst
new file mode 100644
index 0000000..648e671
--- /dev/null
+++ b/debian/postinst
@@ -0,0 +1,69 @@
+#!/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
+}
+
+
+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
+ # move /run/openvpn.foo.pid to (subdir) /run/openvpn/foo.pid
+ if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.3.2-6 ; then
+ mkdir -p /run/openvpn
+ for f in $(ls /var/run/openvpn.*.pid /var/run/openvpn.*.status 2>/dev/null); do
+ mv "$f" "/run/openvpn/$(basename $f | sed 's/^openvpn\.//')"
+ done
+ 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
+ ;;
+esac
+
+if [ -x "/etc/init.d/openvpn" ]; then
+ pathfind invoke-rc.d
+ if [ $? = 0 ]; then
+ invoke-rc.d openvpn cond-restart || invoke-rc.d openvpn restart
+ else
+ /etc/init.d/openvpn cond-restart || /etc/init.d/openvpn restart
+ fi
+fi
+
+db_stop
+
+#DEBHELPER#
+
+exit 0
+# vim:set ai et sts=2 sw=2 tw=0: