#!/bin/sh -e

if [ "$1" != "configure" ]; then
        exit 0
fi

mod_is_enabled() {
    test -L /etc/apache2/mods-enabled/$1.load
}

#set up default site and dummy error and access logs
if [ -z "$2" ]; then
        if [ ! -L /etc/apache2/sites-enabled/000-default -a \
             ! -f /etc/apache2/sites-enabled/000-default ]; then
                a2ensite -q default
        fi
        touch /var/log/apache2/error.log /var/log/apache2/access.log
        chown root:adm /var/log/apache2/error.log /var/log/apache2/access.log
        chmod 0640 /var/log/apache2/error.log /var/log/apache2/access.log
fi

# Note, this line catches new installs as well as upgrades
if dpkg --compare-versions "$2" lt 2.2.3-3.1; then
	a2enmod -q alias
	a2enmod -q autoindex
	a2enmod -q dir
	a2enmod -q env
	a2enmod -q mime
	a2enmod -q negotiation
	a2enmod -q setenvif
	a2enmod -q status
	a2enmod -q auth_basic
	a2enmod -q deflate

        # Those come from mod_auth:
	a2enmod -q authz_default
	a2enmod -q authz_user
	a2enmod -q authz_groupfile
	a2enmod -q authn_file
        
	# This comes from mod_access:
	a2enmod -q authz_host

fi

if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.2.15-4~ ; then
	echo activating new config files ...
	for a in ldap proxy_balancer proxy_ftp ; do 
		if mod_is_enabled $a && [ ! -e /etc/apache2/mods-enabled/$a.conf ] ; then
			a2enmod -q $a
		fi
	done
	echo " done."
fi

# Note, this line catches new installs as well as upgrades
if dpkg --compare-versions "$2" lt 2.2.7-1~0; then
	if [ ! -e /var/www/index.html  -a \
	     ! -h /var/www/index.html  -a \
	     ! -e /var/www/index.cgi   -a \
	     ! -e /var/www/index.pl    -a \
	     ! -e /var/www/index.php   -a \
	     ! -e /var/www/index.xhtml -a \
	     ! -e /var/www/index.htm ] ; then
		cp /usr/share/apache2/default-site/index.html /var/www/index.html
	fi
fi

# DavLockDB format change
if dpkg --compare-versions "$2" lt 2.2.14-3~; then
	rm -f /var/lock/apache2/DAVLock.dir /var/lock/apache2/DAVLock.pag
fi

# Note, this line catches new installs as well as upgrades
if dpkg --compare-versions "$2" lt 2.2.15-1~0; then
	a2enmod -q reqtimeout
fi

if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.2.22-6~ ; then
	if [ -e /etc/apache2/httpd.conf ] && [ -f /etc/apache2/httpd.conf ] ; then
		md5sum="$(md5sum /etc/apache2/httpd.conf | sed -e 's/ .*//')"
		if [ $md5sum = "d41d8cd98f00b204e9800998ecf8427e" ] ||
		   [ $md5sum = "a20c3e53dd07836481a5e64bc71e1a33" ]
		then
			echo "Remove obsolete configuration file /etc/apache2/httpd.conf"
			rm -f /etc/apache2/httpd.conf
		elif [ -d /etc/apache2/conf.d/ ] && [ ! -f /etc/apache2/conf.d/httpd.conf ] ; then
			echo "Detected legacy httpd.conf - moving file to /etc/apache2/conf.d/httpd.conf"
			mv /etc/apache2/httpd.conf /etc/apache2/conf.d/httpd.conf
		fi
	fi
	rm -f /etc/apache2/mods-enabled/version.load
fi
dpkg-maintscript-helper rm_conffile /etc/apache2/mods-available/version.load 2.2.22-6~ -- "$@"

# The definition of other_vhost_access.log has been moved.
# Disable the new definition if the admin has changed the old
# one (as determined by preinst).
if [ -e /etc/apache2/disable-other-vhost-access-log.dpkg-apache2.2-common ] ; then
	echo "Disabling /etc/apache2/conf.d/other-vhosts-access-log"
	perl -p -i -e 's/^(CustomLog.*)$/#$1/' /etc/apache2/conf.d/other-vhosts-access-log
	rm  /etc/apache2/disable-other-vhost-access-log.dpkg-apache2.2-common
fi


# Should run on upgrades from Squeeze or Testing only
# This code existed in parts 2.2.22-10 already but it wasn't complete.
# Thus, users of 2.2.22-10 (only in Sid) enter here as well. That's not
# optimal, but not a problem either.
if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.2.22-11; then
	if [ -d /var/cache/apache2/mod_disk_cache ] ; then
		echo "Purging old mod_disk_cache cache data in /var/cache/apache2/mod_disk_cache"
		if [ -d /var/cache/apache2/ ] && [ "$(stat -c '%U' /var/cache/apache2/)" = "www-data" ] ; then
			 chown root:root /var/cache/apache2/
		fi
		rm -rf /var/cache/apache2/mod_disk_cache
		install -o www-data -g www-data -d /var/cache/apache2/mod_disk_cache/
	fi
fi


rm -f /etc/apache2/ports.conf.dpkg-apache2.2-common.old
rm -f /etc/default/apache2.dpkg-apache2.2-common.old
rm -f /etc/apache2/conf.d/charset.dpkg-apache2.2-common.old


#DEBHELPER#

exit 0

