a6db535980
bump portrevision PR: 39557 Submitted by: maintainer
107 lines
2.2 KiB
Bash
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
|