freebsd-ports/www/apache13-fp/pkg-deinstall
Ying-Chieh Liao a6db535980 handle unremoved files more properly
bump portrevision

PR:		39557
Submitted by:	maintainer
2002-06-20 04:35:36 +00:00

107 lines
2.2 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# Created by: hetzels@westbend.net
PKG_USER=${PKG_USER:=www}
PKG_GROUP=${PKG_GROUP:=www}
PKG_PREFIX=${PKG_PREFIX}
HOST_NAME=`/bin/hostname`
AP_CGI=${PKG_PREFIX}/www/cgi-bin
AP_CONF=${PKG_PREFIX}/etc/apache
AP_DATA=${PKG_PREFIX}/www/data
AP_SHARE=${PKG_PREFIX}/share/doc/apache
IMAGES_DIR=${AP_SHARE}/manual/images
IMAGES_VTI=${AP_DATA}/images/_vti_cnf
remove_user()
{
if [ ! -x /usr/sbin/pw ]; then
echo "*** Unable to remove the Apache user and group (${PKG_USER}/${PKG_GROUP})"
exit 69
fi
if pw usershow ${PKG_USER} -q > /dev/null; then
olduid=`pw show user ${PKG_USER} 2> /dev/null | cut -d: -f3`
oldgid=`pw show group ${PKG_GROUP} 2> /dev/null | cut -d: -f3`
if [ ${olduid} -ne 80 ]; then
echo "To delete Apache user permanently, use 'pw userdel ${PKG_USER}'"
fi
if [ ${oldgid} -ne 80 ]; then
echo "To delete Apache group permanently, use 'pw groupdel ${PKG_GROUP}'"
fi
fi
}
remove_file()
{
local source_dir=$1
local target_dir=$2
local file=$3
local ret=1
if [ -f ${target_dir}/${file} ]; then
if cmp -s ${source_dir}/${file} ${target_dir}/${file} ; then
rm -f ${target_dir}/${file}
ret=0
fi
fi
return ${ret}
}
remove_apache_doc_root ()
{
if [ -d ${AP_CGI} ]; then
for file in `ls ${AP_CGI}.default`
{
remove_file ${AP_CGI}.default ${AP_CGI} ${file}
}
fi
if [ -d ${AP_DATA} ]; then
if [ -d ${AP_DATA}/images ] ; then
for file in apache_pb.gif fplogo.gif powerlogo.gif
{
if remove_file ${IMAGES_DIR} ${AP_DATA}/images ${file}; then
if [ -d ${IMAGES_VTI} -a -f ${IMAGES_VTI}/${file} ] ; then
rm ${IMAGES_VTI}/${file}
fi
fi
}
if [ -d ${IMAGES_VTI} ]; then
rmdir ${IMAGES_VTI}
fi
fi
remove_file ${AP_SHARE} ${AP_DATA} index.html.en
fi
}
remove_httpd_conf ()
{
if [ -f ${AP_CONF}/httpd.conf ] ; then
/bin/cat ${AP_CONF}/httpd.conf.default | \
/usr/bin/sed -e 's;@@HOSTNAME@@;'${HOST_NAME}';' \
> ${AP_CONF}/httpd.conf.tmp
if cmp -s ${AP_CONF}/httpd.conf ${AP_CONF}/httpd.conf.tmp ; then
rm -f ${AP_CONF}/httpd.conf
fi
rm ${AP_CONF}/httpd.conf.tmp
fi
}
case $2 in
DEINSTALL)
remove_apache_doc_root
remove_httpd_conf
;;
POST-DEINSTALL)
remove_user
;;
esac