diff options
author | Sheldon Hearn <sheldonh@FreeBSD.org> | 2001-05-28 20:52:46 +0000 |
---|---|---|
committer | Sheldon Hearn <sheldonh@FreeBSD.org> | 2001-05-28 20:52:46 +0000 |
commit | 9f3ffbf7de6b710880f397a27d4a1f8d39068dbb (patch) | |
tree | 0f4b177dec771882a79db19ab9988cf39d92d88d /www/mod_perl2 | |
parent | Changed my mind regarding the place where to install the docs: this (diff) |
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
Notes
Notes:
svn path=/head/; revision=43218
Diffstat (limited to 'www/mod_perl2')
-rw-r--r-- | www/mod_perl2/Makefile | 3 | ||||
-rw-r--r-- | www/mod_perl2/pkg-deinstall | 57 |
2 files changed, 60 insertions, 0 deletions
diff --git a/www/mod_perl2/Makefile b/www/mod_perl2/Makefile index 0c495348127a..4575a755a24b 100644 --- a/www/mod_perl2/Makefile +++ b/www/mod_perl2/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_perl2/pkg-deinstall b/www/mod_perl2/pkg-deinstall new file mode 100644 index 000000000000..4d70d558c016 --- /dev/null +++ b/www/mod_perl2/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 |