summaryrefslogblamecommitdiff
path: root/www/mod_perl/pkg-install
blob: e8febee63725206b9a3ad03a329e31c56d89ed1f (plain) (tree)
































































                                                                               
#!/bin/sh
#
# Try to activate mod_perl in the installed httpd.conf and warn
# if this fails. This script could be replaced with a simple @exec
# line in the PLIST if the apache13 package installed an httpd.conf.
#
# $FreeBSD$
#

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

TMPDIR=${TMPDIR:=/tmp}
PKG_TMPDIR=${PKG_TMPDIR:=${TMPDIR}}

apxscmd=${PKG_PREFIX}/sbin/apxs
perlmod=${PKG_PREFIX}/libexec/apache/libperl.so
tmpdir=${PKG_TMPDIR}/instmod_perl.$$

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

confdir=`${apxscmd} -q SYSCONFDIR`

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

if [ ! -f ${confdir}/httpd.conf ]; then
	if [ ! -f ${confdir}/httpd.conf.default ]; then
		echo Can\'t find either of ${confdir}/httpd.conf nor
		echo ${confdir}/httpd.conf.default.
		exit 1
	fi

	if ! mkdir ${tmpdir}; then
		echo Can\'t create temporary directory: ${tmpdir}
		exit 1
	fi

	cp ${confdir}/httpd.conf.default ${tmpdir}/httpd.conf
	if ${apxscmd} -e -S SYSCONFDIR=${tmpdir} -a -n perl ${perlmod}; then
		echo Updating httpd.conf.default in config dir: ${confdir}
		cat ${tmpdir}/httpd.conf > ${confdir}/httpd.conf.default
		rm -rf ${tmpdir}
		exit 0
	else
		rm -rf ${tmpdir}
		echo The apxs command failed to activate mod_perl in the config
		echo file: ${tmpdir}/httpd.conf.
		exit 1
	fi
elif ${apxscmd} -e -a -n perl ${perlmod}; then
	exit 0
else
	echo The apxs command failed to activate mod_perl in the config
	echo file: ${confdir}/httpd.conf
	exit 1
fi

exit 0