aboutsummaryrefslogtreecommitdiffstats
path: root/www/tomcat6/Makefile
blob: 7ec4e89c731f7640879bf02a5c6a959fad0c3d84 (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
108
109
110
111
112
113
114
115
116
# New ports collection makefile for:    apache-tomcat
# Date created:     14 Feb 2007
# Whom:         Nemo Liu <nemoliu@FreeBSD.org>
#
# $FreeBSD$
#

PORTNAME=   tomcat
PORTVERSION=    6.0.35
CATEGORIES= www java
MASTER_SITES=   ${MASTER_SITE_APACHE}
MASTER_SITE_SUBDIR= tomcat/tomcat-6/v${PORTVERSION}/bin
DISTNAME=   apache-${PORTNAME}-${PORTVERSION}

MAINTAINER= ale@FreeBSD.org
COMMENT=    Open-source Java web server by Apache, 6.x branch

LICENSE=    AL2
LICENSE_FILE=   ${WRKSRC}/LICENSE

USE_JAVA=   yes
JAVA_VERSION=   1.5+
NO_BUILD=   YES

USE_RC_SUBR=    tomcat6.sh
SUB_FILES=  pkg-install

MAJOR_VER=  ${PORTVERSION:R}
APP_HOME?=  ${PREFIX}/${DISTNAME:R}
LOG_DIR=    ${APP_HOME}/logs
APP_SHORTNAME=  ${PORTNAME}${MAJOR_VER:S/.//}
TOMCAT_USER?=   www
TOMCAT_GROUP?=  www
HTTP_PORT?= 8180
SHUTDOWN_PORT?= 8005
AJP_1_3_PORT?=  8009
STDOUT_LOG= ${LOG_DIR}/stdout.log
STDERR_LOG= ${LOG_DIR}/stderr.log
JAR_FILE=   bin/bootstrap.jar
TOMCAT_CONF_FILES=  catalina.policy catalina.properties context.xml \
            logging.properties server.xml tomcat-users.xml web.xml
CONF_EXT=   sample
PLIST_SUB=  T=${APP_HOME:S/^${PREFIX}\///} CONF_EXT=${CONF_EXT} \
        WWWOWN=${TOMCAT_USER} WWWGRP=${TOMCAT_GROUP}
LATEST_LINK=    ${APP_SHORTNAME}

SUB_LIST=   AJP_1_3_PORT=${AJP_1_3_PORT} \
        APP_HOME=${APP_HOME} \
        APP_SHORTNAME=${APP_SHORTNAME} \
        GROUP=${TOMCAT_GROUP} \
        HTTP_PORT=${HTTP_PORT} \
        JAR_FILE=${JAR_FILE} \
        SHUTDOWN_PORT=${SHUTDOWN_PORT} \
        STDERR_LOG=${STDERR_LOG} \
        STDOUT_LOG=${STDOUT_LOG} \
        TOMCAT_HOME=${APP_HOME} \
        TOMCAT_VERSION=${MAJOR_VER:S/.//} \
        USER=${TOMCAT_USER}

.include <bsd.port.pre.mk>

pre-patch:
    @${ECHO_MSG} "Installation settings:"
    @${ECHO_MSG} "   Destination directory:    ${APP_HOME}"
    @${ECHO_MSG} "   Location of JDK:          ${JAVA_HOME}"
    @${ECHO_MSG} "   Location of Java port:    ${JAVA_PORT}"
    @${ECHO_MSG} "   Running as (user/group):  ${TOMCAT_USER}/${TOMCAT_GROUP}"
    @${ECHO_MSG} "   HTTP port:                ${HTTP_PORT}"
    @${ECHO_MSG} "   Shutdown listener port:   ${SHUTDOWN_PORT}"
    @${ECHO_MSG} "   AJP 1.3 connector port:   ${AJP_1_3_PORT}"
    @${ECHO_MSG} "   Logfile stdout:           ${STDOUT_LOG}"
    @${ECHO_MSG} "   Logfile stderr:           ${STDERR_LOG}"

post-patch:
    @${REINPLACE_CMD} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${WRKSRC}/conf/server.xml
    @${FIND} ${WRKSRC} -type f \( -name '*.bak' -or -name '*.bat' -or -name '*.dll' -or -name '*.exe' -or -name '*.orig' \) -delete
.for f in ${TOMCAT_CONF_FILES}
    @${MV} ${WRKSRC}/conf/${f} ${WRKSRC}/conf/${f}.${CONF_EXT}
.endfor

pre-install:
    @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL

do-install:
    @${ECHO_MSG} -n ">> Creating destination directory..."
    @${MKDIR} ${APP_HOME}
    @${MKDIR} ${LOG_DIR}
    @${MKDIR} ${APP_HOME}/endorsed
    @${ECHO_MSG} " [ DONE ]"

    @${ECHO_MSG} -n ">> Copying files to destination directory..."
    @${CP} -R ${WRKSRC}/* ${APP_HOME}
    @${ECHO_MSG} " [ DONE ]"

.for f in ${TOMCAT_CONF_FILES}
.   if !exists(${APP_HOME}/conf/${f})
        @${CP} ${APP_HOME}/conf/${f}.${CONF_EXT} ${APP_HOME}/conf/${f}
.   else
        @${ECHO_MSG} ">> Preserving local configuration file: ${f} [ DONE ]"
.   endif
.endfor

    @${ECHO_MSG} -n ">> Creating symlink to tools.jar..."
    @${LN} -sf ${JAVA_HOME}/lib/tools.jar ${APP_HOME}/lib/tools.jar
    @${ECHO_MSG} " [ DONE ]"

    @${ECHO_MSG} -n ">> Fixing ownership settings..."
    @${CHOWN} -R ${TOMCAT_USER}:${TOMCAT_GROUP} ${APP_HOME}/conf ${APP_HOME}/logs \
        ${APP_HOME}/temp ${APP_HOME}/webapps ${APP_HOME}/work
    @${ECHO_MSG} " [ DONE ]"

    @${ECHO_MSG} -n ">> Fixing permissions..."
    @${FIND} ${APP_HOME} -type d -print0 | ${XARGS} -0 ${CHMOD} 755
    @${ECHO_MSG} " [ DONE ]"

.include <bsd.port.post.mk>