Skip to content
Snippets Groups Projects
postrm 2.70 KiB
#! /bin/sh
# postrm script for dolibarr
#
# 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 /usr/share/doc/packaging-manual/

. /usr/share/debconf/confmodule

db_version 2.0

#echo "postrm db_get dolibarr/webserver"
# We disable set -e to avoid premature end of script if error
set +e
#db_get "dolibarr/webserver" || true
set -e
export webserver="$RET"

# Allows us to loop and substitute in one pass
case $webserver in
	Apache)		webservers="apache2" ;;
	Apache-SSL)	webservers="apache2-ssl" ;;
	Both)		webservers="apache2 apache2-ssl" ;;
	*)		    webservers="apache2 apache2-ssl" ;;
esac
export includefile=/etc/dolibarr/apache.conf

case "$1" in
	purge)
		echo "postrm purge webservers=$webservers includefile=$includefile"

		#echo "postrm db_get dolibarr/postrm"
		# We disable set -e to avoid premature end of script if error
		set +e
		db_get "dolibarr/postrm"
		set -e
	
		if [ "$RET" = "true" ] ; then
			# Get database configuration
			dbserver="localhost"
			db_get "dolibarr/db/name"
			dbname="$RET"
			db_get "dolibarr/db/admin/name"
			dbadmin="$RET"
			db_get "dolibarr/db/admin/password"
			dbadmpass="$RET"
			dbtype="mysql"

			. /usr/share/wwwconfig-common/${dbtype}-dropuser.sh
			. /usr/share/wwwconfig-common/${dbtype}-dropdb.sh
		fi
	
		# Remove include files
		for server in $webservers ; do
			export error=""		
			export conffile="/etc/$server/httpd.conf"
			echo "postrm conffile=$conffile" 
			if [ -f $conffile ] ;
			then
				if [ -s $conffile ] ;
				then
					# We disable set -e to avoid premature end of script if error
					echo postrm remove include to /etc/dolibarr/apache.conf
					set +e
					. /usr/share/wwwconfig-common/apache-uninclude.sh
					set -e
				fi
			fi
			if [ "$status" = "purge" ] ;
				then restart="$restart $server"
			fi
		done

		rm -rf /etc/dolibarr

		# Restart
		servers="apache2-ssl apache2 mysql"
		if [ -f /usr/share/wwwconfig-common/restart.sh ] ;
		then
			. /usr/share/wwwconfig-common/restart.sh
		fi

		# Remove file and conf file
		for dir in /usr/share/dolibarr ; do
			if [ -d ${dir} ] ; then rm -rf ${dir} ; fi
		done
		
		db_purge
	;;
	remove)
		rm -fr /usr/share/dolibarr/htdocs/install
	;;
	upgrade)
	;;
	failed-upgrade|abort-install|abort-upgrade|disappear)
	;;
	*)
		echo "postrm called with unknown argument \`$1'" >&2
		exit 0
	;;
esac

db_stop

exit 0