#!/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 createdwFP.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