aboutsummaryrefslogtreecommitdiffstats
path: root/www/mod_perl2/pkg-install
blob: e8febee63725206b9a3ad03a329e31c56d89ed1f (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
#!/bin/sh
#
# Try to activate mod_perl in the installed httpd.conf and warn
# if this fails. This script could be replaced with a simple @exec
# line in the PLIST if the apache13 package installed an httpd.conf.
#
# $FreeBSD$
#

if [ "$2" != "POST-INSTALL" ]; then
    exit 0
fi

TMPDIR=${TMPDIR:=/tmp}
PKG_TMPDIR=${PKG_TMPDIR:=${TMPDIR}}

apxscmd=${PKG_PREFIX}/sbin/apxs
perlmod=${PKG_PREFIX}/libexec/apache/libperl.so
tmpdir=${PKG_TMPDIR}/instmod_perl.$$

if [ ! -x ${apxscmd} ]; then
    echo Can\'t find the apxs program: ${apxscmd}.
    exit 1
fi

confdir=`${apxscmd} -q SYSCONFDIR`

if [ ! -d ${confdir} ]; then
    echo Can\'t find Apache conf dir: ${confdir}
    exit 1
fi

if [ ! -f ${confdir}/httpd.conf ]; then
    if [ ! -f ${confdir}/httpd.conf.default ]; then
        echo Can\'t find either of ${confdir}/httpd.conf nor
        echo ${confdir}/httpd.conf.default.
        exit 1
    fi

    if ! mkdir ${tmpdir}; then
        echo Can\'t create temporary directory: ${tmpdir}
        exit 1
    fi

    cp ${confdir}/httpd.conf.default ${tmpdir}/httpd.conf
    if ${apxscmd} -e -S SYSCONFDIR=${tmpdir} -a -n perl ${perlmod}; then
        echo Updating httpd.conf.default in config dir: ${confdir}
        cat ${tmpdir}/httpd.conf > ${confdir}/httpd.conf.default
        rm -rf ${tmpdir}
        exit 0
    else
        rm -rf ${tmpdir}
        echo The apxs command failed to activate mod_perl in the config
        echo file: ${tmpdir}/httpd.conf.
        exit 1
    fi
elif ${apxscmd} -e -a -n perl ${perlmod}; then
    exit 0
else
    echo The apxs command failed to activate mod_perl in the config
    echo file: ${confdir}/httpd.conf
    exit 1
fi

exit 0