| #!/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-sun" |
| 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 |
| 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 [ -r "/etc/ofbiz/debconf.cfg" ]; then |
| chown root:ofbiz "/etc/ofbiz/debconf.cfg" |
| fi |
| for dir in "/var/lib/ofbiz" "/var/lib/ofbiz/runtime/uploads"; do |
| if ! dpkg-statoverride --list "$dir" > /dev/null; then |
| dpkg-statoverride --update --add ofbiz ofbiz 755 "$dir" |
| fi |
| done |
| fi |
| ;; |
| esac |
| #DEBHELPER# |
| db_stop |
| exit |
| |