| #!/bin/bash |
| #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 |
| |
| . /usr/share/debconf/confmodule |
| |
| db_title OFBiz |
| db_version 2.0 |
| db_capb backup |
| #DEBHELPER# |
| |
| if [ -f /usr/share/dbconfig-common/dpkg/config ]; then |
| dbc_dbuser="ofbiz" |
| dbc_dbname="ofbiz" |
| dbc_dbtype="pgsql" |
| dbc_dbtypes="pgsql, mysql, derby, hsql" |
| #dbc_authmethod_admin="ident" |
| dbc_authmethod_user="password" |
| . /usr/share/dbconfig-common/dpkg/config |
| dbc_go ofbiz $@ |
| fi |
| if [ -r "/etc/ofbiz/debconf.cfg" ]; then |
| . "/etc/ofbiz/debconf.cfg" |
| fi |
| set_if() { |
| if [ "$2" ]; then |
| db_set "$1" "$2" |
| return 0 |
| fi |
| return 1; |
| } |
| ofbiz_admin_port="10523" |
| #env LANG=C LC_ALL=C sed -n -e 's/[^[:alnum:]]//g;p;q' < /dev/urandom | cut -b1-12 |
| if set_if ofbiz/admin-password-encrypted "$ofbiz_admin_password_encrypted"; then |
| db_fset ofbiz/admin-password-encrypted seen true |
| fi |
| #db_set ofbiz/admin-password ofbiz || true |
| set_if ofbiz/admin-port "$ofbiz_admin_port" || true |
| |
| cmd="$1" |
| shift |
| |
| case "$cmd" in |
| (configure) |
| import_question=ofbiz/readers |
| ;; |
| (reconfigure) |
| import_question=ofbiz/reimport-data |
| ;; |
| (*) |
| echo "Invalid command($cmd)" 1>&2 |
| exit 9 |
| ;; |
| esac |
| seen_admin_password_prompt="false" |
| db_fget ofbiz/admin-password seen && seen_admin_password_prompt="$RET" |
| |
| ofb_dc_admin_password() { |
| db_input medium ofbiz/admin-password || true |
| } |
| ofb_dc_admin_password_check() { |
| password="" |
| db_get ofbiz/admin-password && password="$RET" |
| if [ "z" = "z$password" ]; then |
| if [ "$seen_admin_password_prompt" = "false" ]; then |
| db_set ofbiz/admin-password "ofbiz" |
| db_set ofbiz/password-confirmation "ofbiz" |
| password="ofbiz" |
| else |
| db_input high ofbiz/empty-password-not-allowed || true |
| NEXT=0 |
| fi |
| else |
| seen_admin_password_prompt="true" |
| fi |
| } |
| ofb_dc_admin_password_confirm() { |
| if [ "$seen_admin_password_prompt" = "true" ]; then |
| db_input high ofbiz/password-confirmation || true |
| fi |
| } |
| ofb_dc_admin_password_compare() { |
| confirm="" |
| db_get ofbiz/password-confirmation && confirm="$RET" |
| if [ "$password" != "$confirm" ]; then |
| db_input high ofbiz/mismatched-passwords || true |
| NEXT=0 |
| db_set ofbiz/admin-password '' |
| db_fset ofbiz/admin-password seen false |
| fi |
| } |
| ofb_dc_import_question() { |
| db_input low $import_question || true |
| } |
| ofb_dc_readers() { |
| db_get $import_question && do_import="$RET" |
| if [ "$do_import" = "true" ]; then |
| db_input medium ofbiz/readers || true |
| fi |
| } |
| ofb_dc_admin_port() { |
| db_input low ofbiz/admin-port || true |
| } |
| declare -a ofb_dc_list |
| ofb_dc_list=( |
| ofb_dc_admin_password |
| ofb_dc_admin_password_check |
| ofb_dc_admin_password_confirm |
| ofb_dc_admin_password_compare |
| ofb_dc_import_question |
| ofb_dc_readers |
| ofb_dc_admin_port |
| ) |
| |
| case "$cmd" in |
| (configure|reconfigure) |
| STATE=0 |
| while :; do |
| [[ $STATE = -1 ]] && exit 10 |
| [[ $STATE = ${#ofb_dc_list[*]} ]] && break |
| NEXT=$(($STATE + 1)) |
| ${ofb_dc_list[$STATE]} |
| if db_go; then |
| STATE=$NEXT |
| else |
| STATE=$(($STATE - 1)) |
| fi |
| done |
| ;; |
| esac |
| db_stop |