blob: 482efb36a055885994801c6ebfc1fd80626babde (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
#!/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
|