diff options
author | sheldonh <sheldonh@FreeBSD.org> | 2001-05-29 04:52:46 +0800 |
---|---|---|
committer | sheldonh <sheldonh@FreeBSD.org> | 2001-05-29 04:52:46 +0800 |
commit | a87a4fb7b9cccf87dc42fb6b284770baa94cb3da (patch) | |
tree | ae283f287ea90569bdc924a01ad6c3e7cd703590 /www/mod_perl | |
parent | 33912e311100193dae1e2edb6cf4f65d2fb6c2cb (diff) | |
download | freebsd-ports-gnome-a87a4fb7b9cccf87dc42fb6b284770baa94cb3da.tar.gz freebsd-ports-gnome-a87a4fb7b9cccf87dc42fb6b284770baa94cb3da.tar.zst freebsd-ports-gnome-a87a4fb7b9cccf87dc42fb6b284770baa94cb3da.zip |
On deinstall, deactivate mod_perl in whichever of httpd.conf and
httpd.conf.default exist.
This is a best attempt at resolving the problem where the system
is left changed from before a mod_perl installation after mod_perl
is removed.
If only apxs had an option to revert module activation.
Requested by: asami
Diffstat (limited to 'www/mod_perl')
-rw-r--r-- | www/mod_perl/Makefile | 3 | ||||
-rw-r--r-- | www/mod_perl/pkg-deinstall | 57 |
2 files changed, 60 insertions, 0 deletions
diff --git a/www/mod_perl/Makefile b/www/mod_perl/Makefile index 0c495348127a..4575a755a24b 100644 --- a/www/mod_perl/Makefile +++ b/www/mod_perl/Makefile @@ -54,4 +54,7 @@ post-install: ${INSTALL_PROGRAM} ${WRKSRC}/apaci/libperl.so ${PREFIX}/libexec/apache @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL +post-deinstall: + @PKG_PREFIX=${PREFIX} ${SH} ${PKGDEINSTALL} ${PKGNAME} POST-DEINSTALL + .include <bsd.port.post.mk> diff --git a/www/mod_perl/pkg-deinstall b/www/mod_perl/pkg-deinstall new file mode 100644 index 000000000000..4d70d558c016 --- /dev/null +++ b/www/mod_perl/pkg-deinstall @@ -0,0 +1,57 @@ +#!/bin/sh +# +# Try to de-activate mod_perl in the installed httpd.conf and warn +# if this fails. +# +# $FreeBSD$ +# + +if [ "$2" != "POST-DEINSTALL" ]; then + exit 0 +fi + +TMPDIR=${TMPDIR:=/tmp} +PKG_TMPDIR=${PKG_TMPDIR:=${TMPDIR}} + +apxscmd=${PKG_PREFIX}/sbin/apxs +tmpdir=${PKG_TMPDIR}/deinstmod_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 + conffile=httpd.conf +fi +if [ -f ${confdir}/httpd.conf.default ]; then + conffile="${conffile} httpd.conf.default" +fi +if [ -z "${conffile}" ]; then + echo Can\'t find either of ${confdir}/httpd.conf or + echo ${confdir}/httpd.conf.default. + exit 1 +fi + +if ! mkdir ${tmpdir}; then + echo Can\'t create temporary directory: ${tmpdir} + exit 1 +fi + +for i in ${conffile}; do + awk '{if (!/^LoadModule perl_module/ && !/^AddModule mod_perl.c/) \ + print $0}' < ${confdir}/$i > ${tmpdir}/$i + echo Updating $i in config dir: ${confdir} + cat ${tmpdir}/$i > ${confdir}/$i +done + +rm -rf ${tmpdir} + +exit 0 |