#!/bin/sh
#Licensed to the Apache Software Foundation (ASF) under one
#or more contributor license agreements.  See the NOTICE file
#distributed with this work for additional information
#regarding copyright ownership.  The ASF licenses this file
#to you under the Apache License, Version 2.0 (the
#"License"); you may not use this file except in compliance
#with the License.  You may obtain a copy of the License at
#
#http://www.apache.org/licenses/LICENSE-2.0
#
#Unless required by applicable law or agreed to in writing,
#software distributed under the License is distributed on an
#"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#KIND, either express or implied.  See the License for the
#specific language governing permissions and limitations
#under the License.

set -e
: "$0" "$@"

if [ -f /usr/share/debconf/confmodule ]; then
	. /usr/share/debconf/confmodule
fi
if [ -f /usr/share/dbconfig-common/dpkg/postrm ]; then
	. /usr/share/dbconfig-common/dpkg/postrm
	dbc_go ofbiz "$@"
fi

case "$1" in
	(purge)
		rm -f /etc/ofbiz/debconf.cfg /etc/ofbiz/dbc-debconf.cfg
		if which ucf >/dev/null; then ucf --purge /etc/ofbiz/dbc-debconf.cfg; fi
		if which ucfr >/dev/null; then ucfr --purge ofbiz /etc/ofbiz/dbc-debconf.cfg; fi
		find /var/log/ofbiz -mindepth 1 -maxdepth 1 -print0 | xargs -0 --no-run-if-empty rm -rf
		dpkg-statoverride --remove /var/lib/ofbiz
		dpkg-statoverride --remove /var/lib/ofbiz/runtime/uploads
	;;
esac

#DEBHELPER#
db_stop

