#!/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" "$@"

. /usr/share/debconf/confmodule

#DEBHELPER#
if [ -x "/etc/init.d/ofbiz" ]; then
	if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
		invoke-rc.d ofbiz stop || exit $?
	else
		/etc/init.d/ofbiz stop || exit $?
	fi
fi

. /usr/share/dbconfig-common/dpkg/prerm
dbc_go ofbiz "$@"

case "$1" in
	(upgrade|remove)
		find /var/cache/ofbiz -mindepth 1 -maxdepth 1 -print0 | xargs -0 --no-run-if-empty rm -rf
		;;
esac

db_stop
