blob: 5fdafed0e9aceb4cc006eb0ff089f85d579a4180 (
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# New ports collection makefile for: jakarta-tomcat
# Date created: 20 Oct 2000
# Whom: des
#
# $FreeBSD$
#
PORTNAME= jakarta-tomcat
PORTVERSION= 3.2.3
PORTREVISION= 1
CATEGORIES= www java
MASTER_SITES= http://www.apache.org/dist/jakarta/jakarta-tomcat/release/v${PORTVERSION}/bin/ \
http://www.metaverse.nl/~ernst/ \
${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= znerd
DIST_SUBDIR= jakarta/tomcat/${PORTVERSION}
MAINTAINER= znerd@FreeBSD.org
RUN_DEPENDS= ${JAVA_HOME}/bin/javac:${JAVA_PORT}
NO_BUILD= YES
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION}
LOG_DIR= ${APP_HOME}/logs
PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///}
APP_TITLE= Jakarta Tomcat
APP_SHORTNAME= tomcat
APPCTL_NAME= ${APP_SHORTNAME}ctl
CTL_SCRIPT= ${PREFIX}/bin/${APPCTL_NAME}
STARTUP_ORDER?= 020
RC_SCRIPT= ${PREFIX}/etc/rc.d/${STARTUP_ORDER}.${PORTNAME}.sh
APP_TITLE= Jakarta Tomcat
JAVA_HOME?= ${LOCALBASE}/jdk1.3.1
JAVA_PORT?= ${PORTSDIR}/java/jdk13
USER_NAME?= ${APP_SHORTNAME}
GROUP_NAME?= ${USER_NAME}
USER_ID?= 7103
GROUP_ID?= ${USER_ID}
PW?= /usr/sbin/pw
LISTEN_PORT?= 8080
STDOUT_LOG?= ${LOG_DIR}/stdout.log
STDERR_LOG?= ${LOG_DIR}/stderr.log
AUTO_START?= YES
pre-install:
@${ECHO_CMD} "Installation settings:"
@${ECHO_CMD} " Destination directory: ${APP_HOME}"
@${ECHO_CMD} " Control script location: ${CTL_SCRIPT}"
@${ECHO_CMD} " Startup script location: ${RC_SCRIPT}"
@${ECHO_CMD} " Location of JDK: ${JAVA_HOME}"
@${ECHO_CMD} " Location of Java port: ${JAVA_PORT}"
@${ECHO_CMD} " Running as (user/group): ${USER_NAME}/${GROUP_NAME} (${USER_ID}:${GROUP_ID})"
@${ECHO_CMD} " Port to listen at: ${LISTEN_PORT}"
@${ECHO_CMD} " Logfile stdout: ${STDOUT_LOG}"
@${ECHO_CMD} " Logfile stderr: ${STDERR_LOG}"
@${ECHO_CMD} " Starting after install: ${AUTO_START}"
do-install:
@# Add the group and the user if they do not exist
${PW} groupadd -n ${GROUP_NAME} -g ${GROUP_ID} || true
${PW} useradd -n ${USER_NAME} -u ${USER_ID} -g ${GROUP_NAME} -c "${APP_TITLE} account" -d ${APP_HOME} -s ${SH} -h - || true
@# Create the destination directory
${MKDIR} ${APP_HOME}
@# Copy all files except .bat and .orig files
${RM} -f `${FIND} ${WRKSRC} -name '*.bat'`
${RM} -f `${FIND} ${WRKSRC} -name '*.orig'`
${CP} -R ${WRKSRC}/* ${APP_HOME}
${CHMOD} 755 `find ${APP_HOME} -type d`
@# Install the workers.properties file after processing it
${CAT} ${WRKSRC}/conf/workers.properties \
| ${SED} "/%%TOMCAT_HOME%%/s//${APP_HOME:S/\//\\\//g}/" \
| ${SED} "/%%JAVA_HOME%%/s//${JAVA_HOME:S/\//\\\//g}/" \
> ${WRKDIR}/workers.properties
${MV} ${WRKDIR}/workers.properties ${APP_HOME}/conf/workers.properties
@# Install the control script
${CAT} ${FILESDIR}/${APPCTL_NAME} \
| ${SED} "/%%PORTNAME%%/s//${PORTNAME}/" \
| ${SED} "/%%PORTVERSION%%/s//${PORTVERSION}/" \
| ${SED} "/%%APP_TITLE%%/s//${APP_TITLE}/" \
| ${SED} "/%%APP_SHORTNAME%%/s//${APP_SHORTNAME}/" \
| ${SED} "/%%APP_HOME%%/s//${APP_HOME:S/\//\\\//g}/" \
| ${SED} "/%%LOG_DIR%%/s//${LOG_DIR:S/\//\\\//g}/" \
| ${SED} "/%%RC_SCRIPT_NAME%%/s//${PORTNAME}.sh/" \
| ${SED} "/%%JAVA_HOME%%/s//${JAVA_HOME:S/\//\\\//g}/" \
| ${SED} "/%%USER_NAME%%/s//${USER_NAME}/" \
| ${SED} "/%%STDOUT_LOG%%/s//${STDOUT_LOG:S/\//\\\//g}/" \
| ${SED} "/%%STDERR_LOG%%/s//${STDERR_LOG:S/\//\\\//g}/" \
> ${CTL_SCRIPT}
${CHMOD} 755 ${CTL_SCRIPT}
@# Install the startup script
${LN} -sf ${CTL_SCRIPT} ${RC_SCRIPT}
@# Create the directories that the application will create it at the
@# first run
${MKDIR} ${APP_HOME}/logs
@# Install the server.xml file after processing it
${CAT} ${WRKSRC}/conf/server.xml \
| ${SED} "/%%LISTEN_PORT%%/s//${LISTEN_PORT}/" \
> ${WRKDIR}/server.xml
${MV} ${WRKDIR}/server.xml ${APP_HOME}/conf/server.xml
@# Change ownership for the files
${CHOWN} -R ${USER_NAME}:${GROUP_NAME} ${APP_HOME}
@# Install the man page
.if !defined(NOPORTDOCS)
${CAT} ${FILESDIR}/${APPCTL_NAME}.1 \
| ${SED} "/%%PREFIX%%/s//${PREFIX:S/\//\\\//g}/" \
> ${WRKDIR}/${APPCTL_NAME}.1
${INSTALL_MAN} ${WRKDIR}/${APPCTL_NAME}.1 ${MANPREFIX}/man/man1
.endif
post-install:
@${ECHO_CMD} "${APP_TITLE} ${PORTVERSION} has been installed in ${APP_HOME}."
.if !defined(NOPORTDOCS)
@${ECHO_CMD} "Use 'man ${APPCTL_NAME}' for information about starting and stopping ${APP_TITLE}."
.endif
.if ${AUTO_START} == "YES"
@${ECHO_CMD} "Starting ${APP_TITLE}..."
@${CTL_SCRIPT} start || true
.endif
.include <bsd.port.mk>
|