blob: 1a4cb802c92a34e4571ec8f57f84bb78f2c231f0 [file] [log] [blame]
#!/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" "$@"
JAVA_HOME=""
JAVA_HOMES="/usr/lib/jvm/java-6-openjdk"
OFBIZ_HOME="/usr/share/ofbiz"
for possible in $JAVA_HOMES; do
if [ -e "$possible/bin/java" ]; then
JAVA_HOME="$possible"
break
fi
done
if ! [ "$JAVA_HOME" ]; then
echo "Couldn't find a java."
echo "Tried $JAVA_HOMES"
exit 1
fi
JAVA="$JAVA_HOME/bin/java"
munge_conffile() {
tmp="$1"
source="$2"
case "$source" in
(framework/entity/config/entityengine.xml)
. /etc/dbconfig-common/ofbiz.conf
get pg_fieldtype ofbiz/fieldtype/postgres
xalan \
-xsl "$OFBIZ_HOME/support/entityengine.xslt" \
-in "$OFBIZ_HOME/ucf/$source" \
-param pgfieldtype "'$pg_fieldtype'" \
-param dbtype "'$dbc_dbtype'" \
-param dbuser "'$dbc_dbuser'" \
-param dbpass "'$dbc_dbpass'" \
-param dbserver "'$dbc_dbserver'" \
-param dbport "'$dbc_dbport'" \
-param dbname "'$dbc_dbname'" > $tmp
;;
(*)
echo "Unknown file: $source"
exit 1
;;
esac
}
configure_ofbiz() {
extra="-readers=seed"
for file in "/var/lib/ofbiz/import/"*.xml; do
if [ -e "$file" ]; then
extra="$extra -file=\"$file\""
fi
done
eval /etc/init.d/ofbiz install $extra
rm -rf "/var/lib/ofbiz/import"
}
get() {
var_name="$1"
debconf_name="$2"
shift 2
if db_get "$debconf_name"; then
if eval ! [ "\"\$$var_name\" = \"\$RET\"" ]; then
while [ $# -gt 0 ]; do
eval $1=1
shift
done
eval $var_name=\"\$RET\"
fi
else
echo "Couldn't fetch '$debconf_name' from debconf!"
exit 1
fi
}
ofbiz_init_invoke() {
if [ -x "/etc/init.d/ofbiz" ]; then
if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
invoke-rc.d ofbiz $1 || exit $?
else
/etc/init.d/ofbiz $1 || exit $?
fi
fi
}
. /usr/share/debconf/confmodule
. /usr/share/dbconfig-common/dpkg/postinst
dbc_generate_include=sh:/etc/ofbiz/dbc-debconf.cfg
[ "$1" != "triggered" ] && dbc_go ofbiz "$@"
if [ -e /etc/ofbiz/dbc-debconf.cfg ]; then
. /etc/ofbiz/dbc-debconf.cfg
fi
if [ -r "/etc/ofbiz/debconf.cfg" ]; then
chown root:ofbiz "/etc/ofbiz/debconf.cfg"
eval `sed -n 's/^ofbiz\.admin\.\(port\|key\)=\(.*\)/ofbiz_admin_\1=\2;/p' "/etc/ofbiz/debconf.cfg" `
fi
if [ "$1" = "triggered" ]; then
run_seed=""
for trigger in $2; do
case "$trigger" in
(ofbiz-install)
run_seed=1
;;
esac
done
if [ "z" != "z$run_seed" ]; then
ofbiz_init_invoke stop
configure_ofbiz
dpkg-trigger --no-await ofbiz-start
fi
for trigger in $2; do
case "$trigger" in
(ofbiz-start)
ofbiz_init_invoke start
;;
esac
done
db_stop
exit 0
fi
case "$1" in
(configure|reconfigure)
ofbiz_init_invoke stop
dpkg-trigger --no-await ofbiz-install
if [ -z "$2" ]; then
db_input medium ofbiz/admin-user || true
get ofbiz_admin_user ofbiz/admin-user
if [ "z" = "z$ofbiz_admin_user" ]; then
ofbiz_admin_user="admin"
fi
mkdir -p "/var/lib/ofbiz/import/"
out="/var/lib/ofbiz/import/ofbiz-framework.xml"
sed "s/@userLoginId@/$ofbiz_admin_user/g" < "$OFBIZ_HOME/framework/resources/templates/AdminUserLoginData.xml" > "$out.new"
mv "$out.new" "$out"
if ! getent passwd ofbiz 2>/dev/null >/dev/null; then
adduser --quiet --group --no-create-home --system --shell /bin/sh --home /var/lib/ofbiz ofbiz
fi
if ! dpkg-statoverride --list "/var/lib/ofbiz" > /dev/null; then
dpkg-statoverride --update --add ofbiz ofbiz 755 /var/lib/ofbiz
fi
fi
;;
esac
#DEBHELPER#
db_stop
exit