#! /bin/sh
# postrm script for netmrg
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postrm> `remove'
#        * <postrm> `purge'
#        * <old-postrm> `upgrade' <new-version>
#        * <new-postrm> `failed-upgrade' <old-version>
#        * <new-postrm> `abort-install'
#        * <new-postrm> `abort-install' <old-version>
#        * <new-postrm> `abort-upgrade' <old-version>
#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

if [ "$DPKG_DEBUG" = "developer" ]; then
	set -x
fi

if [ -f /usr/share/debconf/confmodule ]; then
	. /usr/share/debconf/confmodule
	db_version 2.0
	
	db_get "netmrg/webserver" || true
	webserver="$RET"
	
	# Allows us to loop and substitute in one pass
	case $webserver in
		Apache2)		webservers="apache2" ;;
		Apache)		webservers="apache" ;;
		Apache-SSL)	webservers="apache-ssl" ;;
		All)		webservers="apache2 apache apache-ssl" ;;
		*)		webservers="" ;;
	esac
fi
includefile=/etc/netmrg/netmrg.conf

case "$1" in
	purge)
		if [ -f /usr/share/debconf/confmodule ]; then
			db_get "netmrg/postrm"
			if [ "$RET" = "true" ] ; then
				# Get database configuration
				db_get "netmrg/db/user/name"
				dbuser="$RET"
				db_get "netmrg/db/user/password"
				dbpass="$RET"
				db_get "netmrg/db/host"
				dbserver="$RET"
				db_get "netmrg/db/name"
				dbname="$RET"
				db_get "netmrg/db/admin/name"
				dbadmin="$RET"
				db_reset "netmrg/db/admin/password"
				db_input critical "netmrg/db/admin/password" || true
				db_go || true
				db_get "netmrg/db/admin/password"
				dbadmpass="$RET"
				if [ -e /usr/share/wwwconfig-common/mysql-dropdb.sh ] ; then
				  . /usr/share/wwwconfig-common/mysql-dropdb.sh
				else
				  echo "Cannot drop database (can't find wwwconfig-common script)." >&2
				fi
				if [ -e /usr/share/wwwconfig-common/mysql-dropuser.sh ] ; then
				  . /usr/share/wwwconfig-common/mysql-dropuser.sh
				else
				  echo "Cannot drop user (can't find wwwconfig-common script)." >&2
				fi
	
				rm -rf /var/lib/netmrg
				rm -rf /var/log/netmrg
	
				# Get rid of the user if the package is purged
				if getent passwd netmrg >/dev/null; then
					userdel netmrg
				fi
			fi

			for server in $webservers ; do
				# prefer conf.d over monolithic form
				if [ -d "/etc/${server}/conf.d" ] ; then
					if [ -L "/etc/${server}/conf.d/netmrg.conf" ] ; then
						rm "/etc/${server}/conf.d/netmrg.conf"
						status="purge"
					fi
				else
					conffile="/etc/$server/httpd.conf"
					if [ -e /usr/share/wwwconfig-common/apache-uninclude.sh ] ; then
						. /usr/share/wwwconfig-common/apache-uninclude.sh
					else
						echo "Cannot uninclude apache config part (can't find wwwconfig-common script)." >&2
					fi
				fi
				if [ "$status" = "purge" ] ; then
					restart="$restart $server"
				fi
			done
		fi

		rm -rf /etc/netmrg
		servers="apache-ssl apache apache2 mysql"
		if [ -e /usr/share/wwwconfig-common/restart.sh ] ; then
			. /usr/share/wwwconfig-common/restart.sh ||
					echo "Could not restart servers (wwwconfig-common script failed)." >&2
		else
			echo "Cannot restart servers (can't find wwwconfig-common script)." >&2
		fi
		rm -rf /var/lib/netmrg/sessions

	;;
	remove)
		if [ -f /usr/share/debconf/confmodule ]; then
			for server in $webservers ; do
				# prefer conf.d over monolithic form
				if [ -d "/etc/${server}/conf.d" ] ; then
					if [ -L "/etc/${server}/conf.d/netmrg.conf" ] ; then
						rm "/etc/${server}/conf.d/netmrg.conf"
						status="purge"
					fi
				else
					conffile="/etc/$server/httpd.conf"
					if [ -e /usr/share/wwwconfig-common/apache-uninclude.sh ] ; then
						. /usr/share/wwwconfig-common/apache-uninclude.sh
					else
						echo "Cannot uninclude apache config part (can't find wwwconfig-common script)." >&2
					fi
				fi
				if [ "$status" = "purge" ] ; then
					restart="$restart $server"
				fi
			done
		fi

		servers="apache-ssl apache apache2 mysql"
		if [ -e /usr/share/wwwconfig-common/restart.sh ] ; then
		  . /usr/share/wwwconfig-common/restart.sh ||
		      echo "Could not restart servers (wwwconfig-common script failed)." >&2
		else
		  echo "Cannot restart servers (can't find wwwconfig-common script)." >&2
		fi
		rm -rf /var/lib/netmrg/sessions

	;;
	upgrade)
	;;
	failed-upgrade|abort-install|abort-upgrade|disappear)
	;;
	*)
		echo "postrm called with unknown argument \`$1'" >&2
		exit 0
	;;
esac

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

#DEBHELPER#

exit 0
