#!/bin/sh
# prerm script for pppoedialer
#
# see: dh_installdeb(1)

#set -e

# summary of how this script can be called:
#        * <prerm> `remove'
#        * <old-prerm> `upgrade' <new-version>
#        * <new-prerm> `failed-upgrade' <old-version>
#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
#        * <deconfigured's-prerm> `deconfigure' `in-favour'
#          <package-being-installed> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

stopManually() {
	procs="`ps -e  | grep pppoe-connect | grep -v grep | grep -v dpkg`"
	echo $procs | grep pppoe-connect > /dev/null
	if [ $? -eq 0 ]; then
		pids="`ps -e  | grep pppoe-connect | grep -v grep | grep -v dpkg | awk '{print $1}'`"
		for pid in $pids
		do
			kill $pid > /dev/null 2>&1
		done
	fi
	procs="`ps -e  | grep -E 'pppd|rp-pppoe' | grep -v grep | grep -v dpkg`"
	echo $procs | grep pppoe-connect > /dev/null
	if [ $? -eq 0 ]; then
		pids="`ps -e  | grep pppd | grep -v grep | grep rp-pppoe | grep -v dpkg | awk '{print $1}'`"
		for pid in $pids
		do
			kill $pid > /dev/null 2>&1
		done
	fi
	rm -rf /etc/resolv.conf
}

case "$1" in
    remove|upgrade|deconfigure)
       	/usr/sbin/pppoe-stop > /dev/null 2>&1
	echo "Disconnecting any active connections"
	ls -1 /etc/ppp/connections > /dev/null 2>&1
	ret=$?
	if [ $ret -eq 0 ]; then
       		connections="`ls -1 /etc/ppp/connections`"
       		for connection in $connections
       		do
       		        /usr/sbin/pppoe-stop $connection > /dev/null 2>&1
       		done
		rm -rf /etc/resolv.conf
	else
		stopManually
	fi

	proclist="`ps -e | grep -E 'pppoemgrui.py|pppoe-dialer|pppoe_connect' | grep -v grep | grep -v dpkg | awk '{print $1}'`"
	for pid in $proclist
	do
		echo $pid | grep -E '0|1|2|3|4|5|6|7|8|9|0' > /dev/null
		if [ $? -eq 0 ]; then
			kill $pid > /dev/null 2>&1
		fi
	done

	proclist="`ps -e | grep -E 'pppoe-connect|pppoe-start|rp-pppoe' | grep -v grep | grep -v dpkg | awk '{print $1}'`"
	for pid in $proclist
	do
		echo $pid | grep -E '0|1|2|3|4|5|6|7|8|9|0' > /dev/null
		if [ $? -eq 0 ]; then
			kill $pid > /dev/null 2>&1
		fi
	done


        sleep 2
    ;;

    failed-upgrade)
    ;;

    *)
        echo "prerm called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

exit 0


