#! /bin/sh

set -e

CONFIGFILE=/etc/popfile/defaults
BACKUPFILE=/var/lib/popfile/backup-$2.tar.gz

. /usr/share/debconf/confmodule

case "$1" in
    configure)

		(

		echo "Creating user (ignore 'already exist' errors)"
		mkdir -p /var/lib/popfile
		adduser --system --home /usr/lib/popfile --no-create-home \
			--group --shell /bin/sh --home /var/lib/popfile popfile \
			|| true >/dev/null

		mkdir -p /var/run/popfile
		chown -R popfile:popfile /var/run/popfile

		mkdir -p /var/log/popfile
		chown -R popfile:popfile /var/log/popfile

		if [ ! -e /var/lib/popfile/stopwords ]
		then
			cp /usr/share/popfile/stopwords /var/lib/popfile/
		fi
		if [ -e /etc/popfile/popfile.cfg ]
		then
			cp -f /etc/popfile/popfile.cfg /var/lib/popfile/
			rm -f /etc/popfile/popfile.cfg
		fi
		chown -R popfile:popfile /var/lib/popfile

		mkdir -p /etc/popfile

		if [ -f /var/lib/popfile/popfile.cfg ]
		then
			chmod o-r /var/lib/popfile/popfile.cfg
		fi

		) 1>&2

		db_get popfile/backupcorpus
		if [ $RET = true ]; then BACKUPCORPUS="yes"
		else BACKUPCORPUS="no"; fi

		db_get popfile/uiport
		UIPORT="$RET"

		db_get popfile/uilocal
		if [ $RET = true ]; then UILOCAL="yes"
		else UILOCAL="no"; fi

		db_get popfile/popport
		POPPORT="$RET"

		db_get popfile/poplocal
		if [ $RET = true ] ; then POPLOCAL="yes"
		else POPLOCAL="no"; fi
		db_stop

		(

		if dpkg --compare-versions "$2" lt-nl "0.22.0" >&2
		then
			if [ "$BACKUPCORPUS" = "yes" -a ! -f $BACKUPFILE ]
			then
				( cd /var/lib/popfile ; \
					tar --ignore-failed-read -zcf $BACKUPFILE \
						corpus messages popfile.cfg popfile.db stopwords )
			fi
		fi

		touch $CONFIGFILE
		for a in UIPORT UILOCAL POPPORT POPLOCAL
		do
			grep -q "^[[:space:]]*$a=.*" $CONFIGFILE \
				|| ( echo ; echo "$a=" ) >> $CONFIGFILE 
		done

		sed -e "s/^[[:space:]]*UIPORT=.*/UIPORT=$UIPORT/" \
			-e "s/^[[:space:]]*UILOCAL=.*/UILOCAL=$UILOCAL/" \
			-e "s/^[[:space:]]*POPPORT=.*/POPPORT=$POPPORT/" \
			-e "s/^[[:space:]]*POPLOCAL=.*/POPLOCAL=$POPLOCAL/" \
				< $CONFIGFILE > $CONFIGFILE.tmp
		mv -f $CONFIGFILE.tmp $CONFIGFILE
		
		) 1>&2

    ;;

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

    ;;

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

#DEBHELPER#

exit 0


