#!/bin/sh
#
# Date created:				18 Apr 2010
# Whom:					ohauer@gmx.de
#
# Try to activate mod_dav.so in httpd.conf only if the module is not already active.
# This script is a workaround for apxs bug: 
# https://issues.apache.org/bugzilla/show_bug.cgi?id=47397
#
# $FreeBSD: devel/subversion16/files/pkg-install.in 300896 2012-07-14 13:54:48Z beat $
#

if [ "NO" != "YES" ] ; then
	exit 0
fi

if [ "$2" != "PRE-INSTALL" ]; then
	exit 0
fi

APXSCMD=${PKG_PREFIX}/sbin/apxs

if [ ! -x ${APXSCMD} ]; then
	echo Can\'t find the apxs program: ${APXSCMD}.
	exit 1
fi

SYSCONFDIR=`${APXSCMD} -q SYSCONFDIR`
LIBEXECDIR=`${APXSCMD} -q LIBEXECDIR`

if [ ! -d "${SYSCONFDIR}" ]; then
	echo Can\'t find Apache conf dir: ${SYSCONFDIR}
	exit 1
fi

if [ -f "${SYSCONFDIR}/httpd.conf" ]; then
	CONFFILE=httpd.conf
fi

if [ -z "${CONFFILE}" ]; then
	echo "Can\'t find ${SYSCONFDIR}/${CONFFILE}"
	exit 1
fi

# use only 'egrep -e' else the check works not correct
if [ ! -n "`egrep -e '^(Load|Add)Module.*dav_module' ${SYSCONFDIR}/${CONFFILE}`" ]; then
	if [ -f ${LIBEXECDIR}/mod_dav.so ]; then
		${APXSCMD} -e -S LIBEXECDIR=${LIBEXECDIR} -a -n dav ${LIBEXECDIR}/mod_dav.so
	else
		echo "cannot find ${LIBEXECDIR}/mod_dav.so"
		exit 1
	fi
else
	echo  "dav_module already active in ${SYSCONFDIR}/${CONFFILE}"
fi

exit 0
