From cacc0153486c22c406fefb18f9edb625c8c26b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 3 Oct 2017 11:03:34 +0200 Subject: Use pathfind() instead hard coded path for invoke-rc.d --- debian/prerm | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) (limited to 'debian/prerm') diff --git a/debian/prerm b/debian/prerm index b888ef8..ec08b7b 100644 --- a/debian/prerm +++ b/debian/prerm @@ -7,14 +7,34 @@ set -e test $DEBIAN_SCRIPT_DEBUG && set -v -x +# +# 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 +} + + stop_vpn () { - if [ -x "/etc/init.d/openvpn" ]; then - if [ -x /usr/sbin/invoke-rc.d ] ; then - invoke-rc.d openvpn stop - else - /etc/init.d/openvpn stop - fi - fi + if [ -x "/etc/init.d/openvpn" ]; then + pathfind invoke-rc.d + if [ $? = 0 ]; then + invoke-rc.d openvpn stop + else + /etc/init.d/openvpn stop + fi + fi } -- cgit v1.2.3