#!/bin/sh -e
# Post-installation script for greylistd.
# see: dh_installdeb(1)
#
# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

. /usr/share/debconf/confmodule                                         
db_version 2.0

owner=greylistd
initscript=/etc/init.d/greylist



movefile ()
{
    if [ -e "$1" ]
    then
	echo -n "Moving $1 to $2: "
	mv -f "$1" "$2" && echo " Done."
    fi
}


removefile ()
{
    if [ -e "$1" ]
    then
	echo -n "Removing $1:"
	rm -f "$1" && echo " Done."
    fi
}


set_config_value()
{
    file=$1
    option=$2
    value=$3

    text=$(sed "s/\($option[[:space:]]*=[[:space:]]*\).*/\1$value/" "$file") &&
        echo "$text" > "$file"
}


do_configure()
{
    oldversion=$1

    ### Redirect output to standard error
    exec >&2

    ### Set values in /etc/default/greylist
    db_get "$owner/ugid"
    [ "$RET" ] && set_config_value "$initscript" "UGID" "$RET"

    movefile   /var/lib/greylistd/data /var/lib/greylistd/states
    removefile /etc/default/greylistd
    removefile /etc/default/greylist

    samplelist=/usr/share/doc/greylistd/examples/whitelist-hosts
    locallist=/etc/greylistd/whitelist-hosts
    if [ ! -f "$locallist" ]
    then
	echo -n "Copying default whitelist to ${locallist}:"
	cp -f "$samplelist" "$locallist" &&
	echo " Done."
    fi
}


case "$1" in 
    configure|reconfigure)
	do_configure $2
	;;

    abort-upgrade|abort-remove|abort-deconfigure)
	;;

    *)
        echo "greylistd.postinst called with unknown argument '$1'" >&2
        exit 1
	;;
esac
    

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#

exit 0
