#! /bin/sh
# postinst script for larpe
#
# see: dh_installdeb(1)

set -e

# 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
#
# quoting from the policy:
#     Any necessary prompting should almost always be confined to the
#     post-installation script, and should be protected with a conditional
#     so that unnecessary prompting doesn't happen if a package's
#     installation fails and the `postinst' is called with `abort-upgrade',
#     `abort-remove' or `abort-deconfigure'.

PACKAGE=larpe
VERSION=2.3
LIB="/usr/lib/python$VERSION"
DIRLIST="$LIB/site-packages/larpe"

case "$1" in
    configure|abort-upgrade|abort-remove|abort-deconfigure)
        for i in $DIRLIST ; do
            /usr/bin/python$VERSION -O $LIB/compileall.py -q $i
            /usr/bin/python$VERSION $LIB/compileall.py -q $i
        done
	# Create apache vhosts configuration
	if [ ! -e "/var/lib/larpe/apache2-vhosts" ]; then
	    touch "/var/lib/larpe/apache2-vhosts" || true
	fi
	if [ ! -e "/var/lib/larpe/apache2-vhost-locations" ]; then
	    touch "/var/lib/larpe/apache2-vhost-locations" || true
	fi
	# Create HTTP password file
	if [ ! -e "/var/lib/larpe/passwd" ]; then
	    touch "/var/lib/larpe/passwd" || true
	    chmod 600 "/var/lib/larpe/passwd" || true
	fi
	chown -R www-data.www-data "/var/lib/larpe/" || true

	# Debconf
	. /usr/share/debconf/confmodule

	apache_conf="/etc/apache2/sites-available/apache2-vhost-larpe"
	password_file="/var/lib/larpe/passwd"

	db_get larpe/hostname
	if [ "$RET" != "" ]; then
	    sed -i s/"ServerName example.org"/"ServerName $RET"/ $apache_conf || true
	fi

	db_get larpe/admin_username
	username="$RET"

	if [ $username != "" ]; then
	    db_get larpe/admin_password
	    password="$RET"

	    # Create administrator account
	    htpasswd -b "$password_file" "$username" "$password" 2> /dev/null || true
	fi

	db_get larpe/admin_email
	if [ "$RET" != "" ]; then
	    sed -i s/"ServerAdmin root@localhost"/"ServerAdmin $RET"/ $apache_conf || true
	fi

	db_stop

	# Apache site and modules
	a2ensite apache2-vhost-larpe > /dev/null || true
	a2enmod proxy > /dev/null || true
	a2enmod headers > /dev/null || true

        set +e
        if [ -x /usr/sbin/invoke-rc.d ]
        then
            invoke-rc.d apache2 restart
        else
            /etc/init.d/apache2 restart
        fi
        set -e
    ;;

    *)
        echo "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
