#!/bin/sh -e # Source debconf library. . /usr/share/debconf/confmodule db_version 2.0 db_capb backup # Reset passwords if reconfigure if [ "$1" = "reconfigure" ] ; then db_reset openacs/dba_password db_reset openacs/dba_confirm db_reset openacs/dbu_password db_reset openacs/dbu_confirm fi STATE=1 while [ "$STATE" != 0 -a "$STATE" != 13 ] do case "$STATE" in 1) db_input critical openacs/db_host || true if db_go; then db_get openacs/db_host || true if [ ! -z "$RET" ]; then STATE=2 fi pg_host="$RET" else STATE=1 fi ;; 2) db_input critical openacs/dba_name || true if db_go; then db_get openacs/dba_name || true if [ ! -z "$RET" ]; then STATE=3 fi else STATE=1 fi ;; 3) db_input critical openacs/dba_password || true if db_go; then db_get openacs/dba_password || true STATE=4 else STATE=2 fi ;; 4) db_input critical openacs/dba_confirm || true if db_go; then db_get openacs/dba_confirm || true CONFIRM="$RET" db_get openacs/dba_password || true if [ A"$RET" != A"$CONFIRM" ]; then STATE=5 else STATE=6 fi else STATE=2 fi ;; 5) db_input critical openacs/mismatch || true db_go STATE=3 ;; 6) db_input critical openacs/dbu_name || true if db_go; then db_get openacs/dbu_name || true if [ ! -z "$RET" ]; then STATE=7 fi else STATE=2 fi ;; 7) db_input critical openacs/dbu_password || true if db_go; then db_get openacs/dbu_password || true STATE=8 else STATE=6 fi ;; 8) db_input critical openacs/dbu_confirm || true if db_go; then db_get openacs/dbu_confirm || true CONFIRM="$RET" db_get openacs/dbu_password || true if [ A"$RET" != A"$CONFIRM" ]; then STATE=9 else # Check if host is localhost and password is not null, # to change the postgresql access permissions properly. if [ "$pg_host" = "localhost" ]; then if [ A"$RET" != "A" ]; then pg_pass_blank="false" else pg_pass_blank="true" fi STATE=10 else STATE=11 fi fi else STATE=6 fi ;; 9) db_input critical openacs/mismatch || true db_go STATE=6 ;; 10) db_input critical openacs/pg_grant_access || true db_go db_get openacs/pg_grant_access || true if [ "$RET" = false ]; then if [ "$pg_pass_blank" = "true" ]; then db_input critical openacs/pg_grant_access_manual_blank_pass || true else db_input critical openacs/pg_grant_access_manual || true fi fi STATE=11 ;; 11) # Check if tsearch tables exists dbname=template1 db_get openacs/db_host dbserver="$RET" db_type="postgres7" db_port=5432 db_get openacs/dba_name dbadmin="$RET" db_get openacs/dba_password dbadmpass="$RET" dbuser=$dbadmin dbpass=$dbadmpass . /usr/share/wwwconfig-common/pgsql.get OUT=$($pgsqlcmd -d $dbname -c "select * from pg_ts_dict, pg_ts_parser, pg_ts_cfg, pg_ts_cfgmap;" 2>/dev/null | head -n1) if [ "x$OUT" = "x" ]; then # Warning tsearch not available db_input critical openacs/tsearch_not_enabled || true db_go fi if [ "$status" = "error" ] then err=1 echo $error fi STATE=12 ;; 12) db_input critical openacs/create_tables || true db_go STATE=13 ;; esac done if [ "$STATE" = 0 ]; then db_input critical openacs/notconfigured || true db_go exit 1 fi