Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

155 lines (147 sloc) 3.794 kb
#!/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/dbc-debconf.cfg" ]; then
. "/etc/ofbiz/dbc-debconf.cfg"
fi
set_if() {
if [ "$2" ]; then
db_set "$1" "$2"
return 0
fi
return 1;
}
get_random_chars() {
(
LANG=C
LC_ALL=C
length="$1"
chars=""
while :; do
needed_length=$((${length} - ${#chars}))
chars="$chars$(dd if=/dev/urandom count="${needed_length}" bs=1 2>/dev/null | sed -n -e 's/[^[:alnum:]]//g;p;q')"
if [ "${#chars}" -ge "$length" ]; then
break
fi
done
echo $chars
)
}
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
}
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 [ "z" = "z$ofbiz_admin_port" ]; then
ofbiz_admin_port="10523"
fi
#env LANG=C LC_ALL=C sed -n -e 's/[^[:alnum:]]//g;p;q' < /dev/urandom | cut -b1-12
#db_set ofbiz/admin-password ofbiz || true
set_if ofbiz/admin-user "$ofbiz_admin_user" || true
set_if ofbiz/admin-port "$ofbiz_admin_port" || true
cmd="$1"
shift
version="$2"
shift || true
ofb_dc_admin_user() {
db_input high ofbiz/admin-user || true
}
ofb_dc_admin_port() {
db_input low ofbiz/admin-port || true
}
ofb_dc_get_dbcc() {
. /etc/dbconfig-common/ofbiz.conf
}
ofb_dc_postgresql_fieldtype() {
if [ "$dbc_dbtype" = "pgsql" ]; then
db_input low ofbiz/fieldtype/postgres || true
fi
}
declare -a ofb_dc_list
ofb_dc_list=(
ofb_dc_admin_user
ofb_dc_admin_port
# ofb_dc_get_dbcc
ofb_dc_postgresql_fieldtype
)
case "$cmd" in
(configure|reconfigure)
STATE=0
while :; do
[[ $STATE = -1 ]] && exit 10
[[ $STATE = ${#ofb_dc_list[*]} ]] && break
${ofb_dc_list[$STATE]}
if db_go; then
STATE=$(($STATE + 1))
else
STATE=$(($STATE - 1))
fi
done
;;
esac
get ofbiz_admin_port ofbiz/admin-port
db_stop
if [ "z" = "z$ofbiz_admin_port" ]; then
ofbiz_admin_port="10523"
fi
if [ "z" = "z$ofbiz_admin_key" ]; then
ofbiz_admin_key="$(get_random_chars 32)"
fi
if [ -e "/etc/ofbiz/debconf.cfg" ]; then
sed -i \
-e "s/^ofbiz.admin.port=\".*\"\$/ofbiz.admin.port=\"$ofbiz_admin_port\"/" \
-e "s/^ofbiz.admin.key=\".*\"\$/ofbiz.admin.key=\"$ofbiz_admin_key\"/" \
"/etc/ofbiz/debconf.cfg"
else
cat > "/etc/ofbiz/debconf.cfg.new" << _EOF_
ofbiz.admin.port=$ofbiz_admin_port
ofbiz.admin.key=$ofbiz_admin_key
_EOF_
chmod 640 "/etc/ofbiz/debconf.cfg.new"
mv "/etc/ofbiz/debconf.cfg.new" "/etc/ofbiz/debconf.cfg"
fi
Jump to Line
Something went wrong with that request. Please try again.