aboutsummaryrefslogtreecommitdiffstats
path: root/www/apache13-fp/pkg-deinstall
blob: bfe402316e808f3224bb4f68cb2040b2990a62fd (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 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