#! /bin/sh

set -e

# Source debconf library.
. /usr/share/debconf/confmodule
db_title AlternC

# default values for local.sh
MYSQL_HOST=127.0.0.1
MYSQL_DATABASE=alternc
MYSQL_USER=sysusr
MYSQL_PASS="`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..10)' `"
MYSQL_CLIENT=localhost
FQDN="`cat /etc/mailname 2>/dev/null || hostname -f`"
INTERNAL_IP="`env LANG=C /sbin/ifconfig|grep inet | grep -v 127.0.0.1| head -1 | cut -d: -f2 | sed -e 's/\([0-9\.]*\).*$/\1/' 2>/dev/null || hostname -f`"
PUBLIC_IP="$INTERNAL_IP"
DEFAULT_MX="`cat /etc/mailname 2>/dev/null || hostname -f`"
ALTERNC_HTML="/var/www/alternc/"
NS1_HOSTNAME="$FQDN"
NS2_HOSTNAME="$FQDN"
HOSTING="AlternC"
SQLBACKUP_TYPE="rotate"
SQLBACKUP_OVERWRITE="no"

if [ -r /etc/alternc/local.sh ]; then
    # source the current config
    . /etc/alternc/local.sh
fi
if [ -r /etc/alternc/my.cnf ]; then
    # make mysql configuration available as shell variables
    # to convert from .cnf to shell syntax, we:
    # * match only lines with "equal" in them (/=/)
    # * remove whitespace around the = and add a left quote operator ' (;s)
    # * add a right quote operator at the end of line (;s)
    # * convert mysql variables into our MYSQL_ naming convention (;s)
    # * print the result (;p)
    eval `sed -n -e "/=/{s/ *= *\"\?/='/;s/\"\?\$/'/;s/host/MYSQL_HOST/;s/user/MYSQL_USER/;s/password/MYSQL_PASS/;s/database/MYSQL_DATABASE/;p}" /etc/alternc/my.cnf`
fi

# mettre les valeurs de local.sh comme "default" pour debconf
db_get alternc-slave/hostingname
if [ -z "$RET" ]
    then
    db_set alternc-slave/hostingname "$HOSTING"
fi

db_get alternc-slave/desktopname
if [ -z "$RET" ]
    then
db_set alternc-slave/desktopname "$FQDN"
fi

db_get alternc-slave/public_ip
if [ -z "$RET" ]
    then
db_set alternc-slave/public_ip "$PUBLIC_IP"
fi

db_get alternc-slave/internal_ip
if [ -z "$RET" ]
    then
db_set alternc-slave/internal_ip "$INTERNAL_IP"
fi

db_get alternc-slave/monitor_ip
if [ -z "$RET" ]
    then
db_set alternc-slave/monitor_ip "$MONITOR_IP"
fi

db_get alternc-slave/ns1
if [ -z "$RET" ]
    then
db_set alternc-slave/ns1 "$NS1_HOSTNAME"
fi

db_get alternc-slave/ns2
if [ -z "$RET" ]
    then
db_set alternc-slave/ns2 "$NS2_HOSTNAME"
fi

db_get alternc-slave/default_mx
if [ -z "$RET" ]
    then
db_set alternc-slave/default_mx "$DEFAULT_MX"
fi

db_get alternc-slave/mysql/host
if [ -z "$RET" ]
    then
db_set alternc-slave/mysql/host "$MYSQL_HOST"
fi

db_get alternc-slave/mysql/db
if [ -z "$RET" ]
    then
db_set alternc-slave/mysql/db "$MYSQL_DATABASE"
fi

db_get alternc-slave/mysql/user
if [ -z "$RET" ]
    then
db_set alternc-slave/mysql/user "$MYSQL_USER"
fi

db_get alternc-slave/mysql/password
if [ -z "$RET" ]
    then
db_set alternc-slave/mysql/password "$MYSQL_PASS"
fi

db_get alternc-slave/mysql/client
if [ -z "$RET" ]
    then
db_set alternc-slave/mysql/client "$MYSQL_CLIENT"
fi

db_get alternc-slave/sql/backup_type
if [ -z "$RET" ]
    then
db_set alternc-slave/sql/backup_type "$SQLBACKUP_TYPE"
fi

db_get alternc-slave/sql/backup_overwrite
if [ -z "$RET" ]
    then
db_set alternc-slave/sql/backup_overwrite "$SQLBACKUP_OVERWRITE"
fi

db_get alternc-slave/alternc_html
if [ -z "$RET" ]
    then
db_set alternc-slave/alternc_html "$ALTERNC_HTML"
fi

db_input medium alternc-slave/desktopname || true
db_input medium alternc-slave/hostingname || true
db_input medium alternc-slave/internal_ip || true
db_input medium alternc-slave/public_ip || true
db_input medium alternc-slave/default_mx || true
db_input medium alternc-slave/ns1 || true
db_input medium alternc-slave/ns2 || true
db_input low alternc-slave/mysql/host || true
db_input low alternc-slave/mysql/db || true
db_input low alternc-slave/mysql/user || true
db_input low alternc-slave/mysql/password || true
db_input low alternc-slave/mysql/client || true
db_input low alternc-slave/sql/backup_type || true
db_input low alternc-slave/sql/overwrite || true
db_input low alternc-slave/monitor_ip || true
db_go

# vim: et sw=4
