aboutsummaryrefslogtreecommitdiff
path: root/www/tomcat6
diff options
context:
space:
mode:
authorSam Lawrance <lawrance@FreeBSD.org>2006-02-07 08:50:09 +0000
committerSam Lawrance <lawrance@FreeBSD.org>2006-02-07 08:50:09 +0000
commita0156c5c5b88d822b11a148b403f4fd7731bb18c (patch)
treea65ce0fbae6876e3f9e17cb985c51db86a065624 /www/tomcat6
parent5223a66b1655e21aff6006d8d75ba043d5d9a847 (diff)
downloadports-a0156c5c5b88d822b11a148b403f4fd7731bb18c.tar.gz
ports-a0156c5c5b88d822b11a148b403f4fd7731bb18c.zip
Clean up Tomcat 4, 4.1, 5, and 5.5 ports.
These changes apply to all ports, unless mentioned otherwise: - Move jakarta-tomcat55 to tomcat55 (it is no longer a Jakarta project). [6] - Improve the tomcat55 rc script. Fix PID handling. Improve the shutdown process. Use USE_RC_SUBR to its full potential. [2] - Backport tomcat55 rc script to the other tomcat ports. This allows us to pass command line arguments to the JVM. Noted in UPDATING. [1], [3], [4] - Change ownership of installed files. All files are now installed with default uid/gid (root:wheel) except for those in the conf/, logs/, temp/ and work/ directories. [5] - No longer install tomcatXXctl binary. rc scripts are more flexible and can be reconfigured without recompiling. - Remove AUTO_START and STOP_TIMEOUT (replaced with rc tomcatXX_stop_timeout). - Remove a long list of sed expressions in favour of SUB_LIST. - Move pkg_{,de}install to files/pkg_{,de}install.in. Add them to SUB_FILES. Tidy up substitutions and remove hardcoded values. - Some nonfunctional tidying and removal of Makefile cruft. PR: ports/38018 [1], ports/38020 [2], ports/74344 [3], ports/75143 [4], ports/83434 [5], ports/92692 [6] Submitted by: Ari Suutari <ari.suutari@syncrontech.com> [1] [2], SimpleRezo Team <freebsd@simplerezo.com> [3], Anton Yudin <toha@toha.org.ua> [4], Jan Grant <jan.grant@bristol.ac.uk> [5], lawrance [6] Approved by: Kang Liu <liukang@cn.freebsd.org> (maintainer) [6] Maintainer timeouts on [1], [2], [3], [4], [5] Big thanks to: hq for the initial tomcat55 script jasonb on FreeNode #tomcat for packaging advice
Notes
Notes: svn path=/head/; revision=155396
Diffstat (limited to 'www/tomcat6')
-rw-r--r--www/tomcat6/Makefile119
-rw-r--r--www/tomcat6/files/pkg-deinstall.in (renamed from www/tomcat6/pkg-deinstall)12
-rw-r--r--www/tomcat6/files/pkg-install.in53
-rw-r--r--www/tomcat6/files/tomcat.sh.in115
-rw-r--r--www/tomcat6/files/tomcat55.sh.in153
-rw-r--r--www/tomcat6/pkg-descr2
-rw-r--r--www/tomcat6/pkg-install51
-rw-r--r--www/tomcat6/pkg-plist4
8 files changed, 241 insertions, 268 deletions
diff --git a/www/tomcat6/Makefile b/www/tomcat6/Makefile
index 0f57d1a27cd3..0ace200106e2 100644
--- a/www/tomcat6/Makefile
+++ b/www/tomcat6/Makefile
@@ -5,8 +5,9 @@
# $FreeBSD$
#
-PORTNAME= jakarta-tomcat
+PORTNAME= tomcat
PORTVERSION= 5.5.12
+PORTREVISION= 1
CATEGORIES= www java
MASTER_SITES= ${MASTER_SITE_APACHE_JAKARTA}
MASTER_SITE_SUBDIR= tomcat-5/v${PORTVERSION}/bin
@@ -19,57 +20,47 @@ USE_JAVA= yes
JAVA_VERSION= 1.4+
NO_BUILD= YES
-USE_RC_SUBR= yes
-
-.if !defined(NOPORTDOCS)
-MAN1= ${CONTROL_SCRIPT_NAME}.1
-.endif
+USE_RC_SUBR= tomcat55.sh
+SUB_FILES= pkg-install pkg-deinstall
MAJOR_VER= ${PORTVERSION:R}
-WRKSRC= ${WRKDIR}/apache-tomcat-${PORTVERSION}
APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION:R}
LOG_DIR= ${APP_HOME}/logs
-APP_TITLE= Jakarta Tomcat
+APP_TITLE= Apache Tomcat
APP_SHORTNAME= tomcat${MAJOR_VER:S/.//}
-CONTROL_SCRIPT_NAME= ${APP_SHORTNAME}ctl
-CONTROL_SCRIPT= ${PREFIX}/bin/${CONTROL_SCRIPT_NAME}
-CONTROL_SCRIPT_MANPAGE_TITLE= ${CONTROL_SCRIPT_NAME:U}
-STARTUP_ORDER?= 020
-STARTUP_SCRIPT_NAME= ${PORTNAME}${MAJOR_VER:S/.//}.sh
-STARTUP_SCRIPT= ${PREFIX}/etc/rc.d/${STARTUP_ORDER}.${STARTUP_SCRIPT_NAME}
TOMCAT_USER?= www
TOMCAT_GROUP?= www
PW?= /usr/sbin/pw
HTTP_PORT?= 8180
SHUTDOWN_PORT?= 8005
-WARP_PORT?= 8008
AJP_1_3_PORT?= 8009
STDOUT_LOG= ${LOG_DIR}/stdout.log
STDERR_LOG= ${LOG_DIR}/stderr.log
-AUTO_START?= NO
-STOP_TIMEOUT?= 5
PID_FILE= /var/run/${APP_SHORTNAME}.pid
-REPLACE_FILES= ${PORTSDIR}/www/jakarta-tomcat4/files/daemonctl.c \
- ${PORTSDIR}/www/jakarta-tomcat4/files/daemonctl.1 \
- ${WRKSRC}/conf/server.xml
+REPLACE_FILES= ${WRKSRC}/conf/server.xml
+REPLACE_LIST_TEMP= ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/}
JAR_FILE= bin/bootstrap.jar
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
+WRKSRC= ${WRKDIR}/apache-tomcat-${PORTVERSION}
PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///} WWWOWN=${TOMCAT_USER} WWWGRP=${TOMCAT_GROUP}
LATEST_LINK= ${APP_SHORTNAME}
CONF_EXT= sample
PLIST_SUB+= CONF_EXT=${CONF_EXT}
-SUB_FILES= tomcat.sh
-SUB_LIST= TOMCAT_VERSION=${MAJOR_VER:S/.//} \
- TOMCAT_HOME=${APP_HOME} \
- USER=${TOMCAT_USER} \
+SUB_LIST= AJP_1_3_PORT=${AJP_1_3_PORT} \
+ APP_HOME=${APP_HOME} \
+ APP_SHORTNAME=${APP_SHORTNAME} \
+ APP_TITLE="${APP_TITLE}" \
+ GROUP=${TOMCAT_GROUP} \
+ HTTP_PORT=${HTTP_PORT} \
+ JAR_FILE=${JAR_FILE} \
+ PID_FILE=${PID_FILE} \
+ SHUTDOWN_PORT=${SHUTDOWN_PORT} \
+ STDERR_LOG=${STDERR_LOG} \
STDOUT_LOG=${STDOUT_LOG} \
- STDERR_LOG=${STDERR_LOG}
-
-REPLACE_FILES+= ${PKGDIR}/pkg-install \
- ${PKGDIR}/pkg-deinstall
-PKGINSTALL= ${WRKDIR}/pkg-install
-PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
+ TOMCAT_HOME=${APP_HOME} \
+ TOMCAT_VERSION=${MAJOR_VER:S/.//} \
+ USER=${TOMCAT_USER}
.include <bsd.port.pre.mk>
@@ -83,54 +74,23 @@ PLIST_SUB+= JAVA14="@comment "
pre-patch:
@${ECHO_MSG} "Installation settings:"
@${ECHO_MSG} " Destination directory: ${APP_HOME}"
- @${ECHO_MSG} " Control program location: ${CONTROL_SCRIPT}"
- @${ECHO_MSG} " Startup script location: ${STARTUP_SCRIPT}"
@${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} " WARP port: ${WARP_PORT}"
@${ECHO_MSG} " AJP 1.3 connector port: ${AJP_1_3_PORT}"
@${ECHO_MSG} " Logfile stdout: ${STDOUT_LOG}"
@${ECHO_MSG} " Logfile stderr: ${STDERR_LOG}"
- @${ECHO_MSG} " Starting after install: ${AUTO_START}"
- @${ECHO_MSG} " Stop time-out: ${STOP_TIMEOUT} sec."
post-patch:
@${ECHO_MSG} -n ">> Removing unneeded files..."
@${RM} -f `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.exe'`
@${ECHO_MSG} " [ DONE ]"
-.for f in ${REPLACE_FILES}
- @${ECHO_MSG} -n ">> Customizing `basename $f`..."
- @${SED} \
- -e "/%%AJP_1_3_PORT%%/s//${AJP_1_3_PORT}/g" \
- -e "/%%APP_HOME%%/s//${APP_HOME:S/\//\\\//g}/g" \
- -e "/%%APP_SHORTNAME%%/s//${APP_SHORTNAME}/g" \
- -e "/%%APP_TITLE%%/s//${APP_TITLE}/g" \
- -e "/%%CONTROL_SCRIPT%%/s//${CONTROL_SCRIPT:S/\//\\\//g}/g" \
- -e "/%%CONTROL_SCRIPT_MANPAGE_TITLE%%/s//${CONTROL_SCRIPT_MANPAGE_TITLE}/g" \
- -e "/%%CONTROL_SCRIPT_NAME%%/s//${CONTROL_SCRIPT_NAME}/g" \
- -e "/%%GROUP%%/s//${TOMCAT_GROUP}/g" \
- -e "/%%HTTP_PORT%%/s//${HTTP_PORT}/g" \
- -e "/%%JAVA_CMD%%/s//bin\/java/g" \
- -e "/%%JAVA_HOME%%/s//${JAVA_HOME:S/\//\\\//g}/g" \
- -e "/%%JAR_FILE%%/s//${JAR_FILE:S/\//\\\//g}/g" \
- -e "/%%LOG_DIR%%/s//${LOG_DIR:S/\//\\\//g}/g" \
- -e "/%%PID_FILE%%/s//${PID_FILE:S/\//\\\//g}/g" \
- -e "/%%PORTNAME%%/s//${PORTNAME}/g" \
- -e "/%%PORTVERSION%%/s//${PORTVERSION}/g" \
- -e "/%%PREFIX%%/s//${PREFIX:S/\//\\\//g}/g" \
- -e "/%%SHUTDOWN_PORT%%/s//${SHUTDOWN_PORT}/g" \
- -e "/%%STARTUP_SCRIPT_NAME%%/s//${STARTUP_SCRIPT_NAME}/g" \
- -e "/%%STARTUP_SCRIPT%%/s//${STARTUP_SCRIPT:S/\//\\\//g}/g" \
- -e "/%%STDERR_LOG%%/s//${STDERR_LOG:S/\//\\\//g}/g" \
- -e "/%%STDOUT_LOG%%/s//${STDOUT_LOG:S/\//\\\//g}/g" \
- -e "/%%STOP_TIMEOUT%%/s//${STOP_TIMEOUT}/g" \
- -e "/%%USER%%/s//${TOMCAT_USER}/g" \
- -e "/%%WARP_PORT%%/s//${WARP_PORT}/g" \
- $f > ${WRKDIR}/`basename $f`
+.for file in ${REPLACE_FILES}
+ @${ECHO_MSG} -n ">> Customizing `basename ${file}`..."
+ @${SED} ${REPLACE_LIST_TEMP} ${file} > ${WRKDIR}/`basename ${file}`
@${ECHO_MSG} " [ DONE ]"
.endfor
@@ -158,27 +118,6 @@ do-install:
@${CP} -R ${WRKSRC}/* ${APP_HOME}
@${ECHO_MSG} " [ DONE ]"
- @${ECHO_MSG} -n ">> Compiling and installing control program..."
- @${SED} \
- -e "/%%JAVA_ARGS%%/s//\"-Dcatalina.home=${APP_HOME:S/\//\\\//g}\",/g" \
- -e "/%%JAR_ARGS%%/s//\"start\",/g" \
- ${WRKDIR}/daemonctl.c > ${WRKDIR}/daemonctl_.c
- @cd ${WRKDIR} && ${CC} -ansi -o ${CONTROL_SCRIPT_NAME} daemonctl_.c
- @${CP} ${WRKDIR}/${CONTROL_SCRIPT_NAME} ${CONTROL_SCRIPT}
- @${CHOWN} ${TOMCAT_USER}:${TOMCAT_GROUP} ${CONTROL_SCRIPT}
- @${CHMOD} 6754 ${CONTROL_SCRIPT}
- @${ECHO_MSG} " [ DONE ]"
-
- @${ECHO_MSG} -n ">> Installing startup script..."
- @${INSTALL_SCRIPT} ${WRKDIR}/tomcat.sh ${PREFIX}/etc/rc.d/jakarta-tomcat${MAJOR_VER:S/.//}.sh
- @${ECHO_MSG} " [ DONE ]"
-
-.if !defined(NOPORTDOCS)
- @${ECHO_MSG} -n ">> Installing man pages..."
- @${INSTALL_MAN} ${WRKDIR}/daemonctl.1 ${MANPREFIX}/man/man1/${CONTROL_SCRIPT_NAME}.1
- @${ECHO_MSG} " [ DONE ]"
-.endif
-
@${ECHO_MSG} -n ">> Creating log files..."
@${INSTALL} -m 664 -o ${TOMCAT_USER} -g ${TOMCAT_GROUP} /dev/null ${STDOUT_LOG}
@${INSTALL} -m 664 -o ${TOMCAT_USER} -g ${TOMCAT_GROUP} /dev/null ${STDERR_LOG}
@@ -189,7 +128,8 @@ do-install:
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Fixing ownership settings..."
- @${CHOWN} -R ${TOMCAT_USER}:${TOMCAT_GROUP} ${APP_HOME}
+ @${CHOWN} -R ${TOMCAT_USER}:${TOMCAT_GROUP} ${APP_HOME}/conf ${APP_HOME}/logs \
+ ${APP_HOME}/temp ${APP_HOME}/work
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Fixing permissions..."
@@ -204,11 +144,4 @@ do-install:
post-install:
@${ECHO_MSG} "${APP_TITLE} ${PORTVERSION} has been installed in ${APP_HOME}."
- @${ECHO_MSG} "If a user should be able to use ${CONTROL_SCRIPT_NAME}, then put this user in the group ${TOMCAT_GROUP}."
-.if !defined(NOPORTDOCS)
- @${ECHO_MSG} "Use 'man ${CONTROL_SCRIPT_NAME}' for information about starting and stopping ${APP_TITLE}."
-.endif
-.if ${AUTO_START} == "YES"
- @${CONTROL_SCRIPT} start || true
-.endif
.include <bsd.port.post.mk>
diff --git a/www/tomcat6/pkg-deinstall b/www/tomcat6/files/pkg-deinstall.in
index 88e413468f94..655ee46519d3 100644
--- a/www/tomcat6/pkg-deinstall
+++ b/www/tomcat6/files/pkg-deinstall.in
@@ -8,17 +8,19 @@
# * Checks if the '%%USER%%' user exists. If it does, then it displays
# a message.
#
-# $FreeBSD: /tmp/pcvs/ports/www/tomcat6/Attic/pkg-deinstall,v 1.3 2005-09-29 15:08:23 hq Exp $
+# $FreeBSD$
#
+USER=%%USER%%
+PID_FILE=%%PID_FILE%%
+
# Make sure we're in the right stage of the process
if [ "$2" = "DEINSTALL" ]; then
# Kill the process if it is still running
- PID_FILE=/var/run/tomcat5
if [ -s ${PID_FILE} ]; then
PID=`cat ${PID_FILE}`
- echo -n ">> Killing Jakarta Tomcat process (${PID})..."
+ echo -n ">> Killing Tomcat process (${PID})..."
/bin/kill ${PID} > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
echo " [ DONE ]"
@@ -37,8 +39,8 @@ fi
if [ "$2" = "POST-DEINSTALL" ]; then
# If the user exists, then display a message
- if pw usershow "%%USER%%" 2>/dev/null 1>&2; then
- echo "To delete the %%USER%% user permanently, use 'pw userdel %%USER%%'"
+ if pw usershow "${USER}" 2>/dev/null 1>&2; then
+ echo "To delete the ${USER} user permanently, use 'pw userdel ${USER}'"
fi
fi
diff --git a/www/tomcat6/files/pkg-install.in b/www/tomcat6/files/pkg-install.in
new file mode 100644
index 000000000000..ddc5dfda878a
--- /dev/null
+++ b/www/tomcat6/files/pkg-install.in
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Checks if the '%%USER%%' user and '%%GROUP%%' group exist. If they don't, then
+# an attempt is made to create both.
+#
+# $FreeBSD$
+#
+
+# Make sure we're called during the 'make install' process
+if [ "$2" != "PRE-INSTALL" ]; then
+ exit 0
+fi
+
+# Set some constants
+UID=80
+GID=${UID}
+USER=%%USER%%
+GROUP=%%GROUP%%
+
+# See if the group already exists
+if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
+
+ # If not, try to create it
+ if pw groupadd "${GROUP}" -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ elif pw groupadd "${GROUP}"; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+fi
+
+# See if the user already exists
+if ! pw usershow "${USER}" 2>/dev/null 1>&2; then
+
+ # If not, try to create it
+ if pw useradd "${USER}" -u ${UID} -g "${GROUP}" -h - \
+ -s "/sbin/nologin" -d "/nonexistent" \
+ -c "World Wide Web Owner";
+ then
+ echo "Added user \"${USER}\"."
+ elif pw useradd "${USER}" -g "${GROUP}" -h - \
+ -s "/sbin/nologin" -d "/nonexistent" \
+ -c "World Wide Web Owner";
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+fi
+exit 0
diff --git a/www/tomcat6/files/tomcat.sh.in b/www/tomcat6/files/tomcat.sh.in
deleted file mode 100644
index 0dca0cb4afbf..000000000000
--- a/www/tomcat6/files/tomcat.sh.in
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-
-# PROVIDE: jakarta-tomcat%%TOMCAT_VERSION%%
-# REQUIRE: NETWORKING SERVERS
-# BEFORE: DAEMON
-# KEYWORD: FreeBSD shutdown
-
-#
-# Configuration settings for jakarta-tomcat%%TOMCAT_VERSION%% in /etc/rc.conf:
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_enable (bool):
-# Set to "NO" by default.
-# Set it to "YES" to enable jakarta-tomcat%%TOMCAT_VERSION%%
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_flags (str):
-# Set to "" by default.
-# Extra flags passed to start command
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_catalina_home (str)
-# Set to "%%TOMCAT_HOME%%" by default.
-# Set the CATALINA_HOME variable for the Tomcat process
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_catalina_base (str)
-# Set to "%%TOMCAT_HOME%%" by default.
-# Set the CATALINA_BASE variable for the Tomcat process
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_catalina_tmpdir (str)
-# Set to "%%TOMCAT_HOME%%/temp" by default.
-# Set the CATALINA_TMPDIR variable for the Tomcat process
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_stdout_log (str)
-# Set to "%%STDOUT_LOG%%" by default.
-# Set the location for the Tomcat process log (standard output)
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_stderr_log (str)
-# Set to "%%STDERR_LOG%%" by default.
-# Set the location for the Tomcat process log (error output)
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_java_home (str):
-# jakarta_tomcat%%TOMCAT_VERSION%%_java_vendor (str):
-# jakarta_tomcat%%TOMCAT_VERSION%%_java_version (str):
-# jakarta_tomcat%%TOMCAT_VERSION%%_java_os (str):
-# Specify the requirements of the Java VM to use. See javavm(1).
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_classpath (str):
-# Set to "" by default.
-# Addtional classes to add to the CLASSPATH
-#
-# jakarta_tomcat%%TOMCAT_VERSION%%_java_opts (str):
-# Set to "" by default.
-# Java VM args to use.
-#
-
-jakarta_tomcat%%TOMCAT_VERSION%%_enable="${jakarta_tomcat%%TOMCAT_VERSION%%_enable:-"NO"}"
-jakarta_tomcat%%TOMCAT_VERSION%%_java_version="${jakarta_tomcat%%TOMCAT_VERSION%%_java_version:-"%%JAVA_VERSION%%"}"
-jakarta_tomcat%%TOMCAT_VERSION%%_user="${jakarta_tomcat%%TOMCAT_VERSION%%_user:-"%%USER%%"}"
-jakarta_tomcat%%TOMCAT_VERSION%%_catalina_home="${jakarta_tomcat%%TOMCAT_VERSION%%_catalina_home:-"%%TOMCAT_HOME%%"}"
-jakarta_tomcat%%TOMCAT_VERSION%%_catalina_base="${jakarta_tomcat%%TOMCAT_VERSION%%_catalina_base:-"%%TOMCAT_HOME%%"}"
-jakarta_tomcat%%TOMCAT_VERSION%%_catalina_tmpdir="${jakarta_tomcat%%TOMCAT_VERSION%%_catalina_tmpdir:-"%%TOMCAT_HOME%%/temp"}"
-jakarta_tomcat%%TOMCAT_VERSION%%_stdout_log="${jakarta_tomcat%%TOMCAT_VERSION%%_stdout_log:-"%%STDOUT_LOG%%"}"
-jakarta_tomcat%%TOMCAT_VERSION%%_stderr_log="${jakarta_tomcat%%TOMCAT_VERSION%%_stderr_log:-"%%STDERR_LOG%%"}"
-
-. %%RC_SUBR%%
-
-name="jakarta_tomcat%%TOMCAT_VERSION%%"
-rcvar=`set_rcvar`
-
-load_rc_config "${name}"
-
-if [ -n "${jakarta_tomcat%%TOMCAT_VERSION%%_java_home}" ] ; then
- export JAVA_HOME="${jakarta_tomcat%%TOMCAT_VERSION%%_java_home}"
-fi
-
-if [ -n "${jakarta_tomcat%%TOMCAT_VERSION%%_java_version}" ] ; then
- export JAVA_VERSION="${jakarta_tomcat%%TOMCAT_VERSION%%_java_version}"
-fi
-
-if [ -n "${jakarta_tomcat%%TOMCAT_VERSION%%_java_vendor}" ] ; then
- export JAVA_VENDOR="${jakarta_tomcat%%TOMCAT_VERSION%%_java_vendor}"
-fi
-
-if [ -n "${jakarta_tomcat%%TOMCAT_VERSION%%_java_os}" ] ; then
- export JAVA_OS="${jakarta_tomcat%%TOMCAT_VERSION%%_java_os}"
-fi
-
-java_command="%%LOCALBASE%%/bin/java \
- ${jakarta_tomcat%%TOMCAT_VERSION%%_java_opts} \
- -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \
- -classpath %%TOMCAT_HOME%%/bin/bootstrap.jar:%%TOMCAT_HOME%%/bin/commons-logging-api.jar:${jakarta_tomcat%%TOMCAT_VERSION%%_classpath} \
- -Dcatalina.base=${jakarta_tomcat%%TOMCAT_VERSION%%_catalina_base} \
- -Dcatalina.home=${jakarta_tomcat%%TOMCAT_VERSION%%_catalina_home} \
- -Djava.io.tmpdir=${jakarta_tomcat%%TOMCAT_VERSION%%_catalina_tmpdir} \
- org.apache.catalina.startup.Bootstrap"
-
-log_args=">> ${jakarta_tomcat%%TOMCAT_VERSION%%_stdout_log} \
- 2>> ${jakarta_tomcat%%TOMCAT_VERSION%%_stderr_log} "
-
-procname="java"
-required_files="${jakarta_tomcat%%TOMCAT_VERSION%%_catalina_home}/conf/server.xml"
-
-command="/usr/sbin/daemon"
-flags="${command} ${java_command} start ${jakarta_tomcat%%TOMCAT_VERSION%%_flags} ${log_args}"
-
-stop_cmd="jakarta_tomcat%%TOMCAT_VERSION%%_stop"
-
-jakarta_tomcat%%TOMCAT_VERSION%%_stop() {
- echo "Stopping ${name}."
- ${java_command} stop
- wait_for_pids
-}
-
-run_rc_command "$1"
diff --git a/www/tomcat6/files/tomcat55.sh.in b/www/tomcat6/files/tomcat55.sh.in
new file mode 100644
index 000000000000..dac2e79731df
--- /dev/null
+++ b/www/tomcat6/files/tomcat55.sh.in
@@ -0,0 +1,153 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: tomcat%%TOMCAT_VERSION%%
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+# KEYWORD: FreeBSD shutdown
+
+#
+# Configuration settings for tomcat%%TOMCAT_VERSION%% in /etc/rc.conf:
+#
+# tomcat%%TOMCAT_VERSION%%_enable (bool):
+# Set to "NO" by default.
+# Set it to "YES" to enable tomcat%%TOMCAT_VERSION%%
+#
+# tomcat%%TOMCAT_VERSION%%_flags (str):
+# Set to "" by default.
+# Extra flags passed to start command
+#
+# tomcat%%TOMCAT_VERSION%%_catalina_home (str)
+# Set to "%%TOMCAT_HOME%%" by default.
+# Set the CATALINA_HOME variable for the Tomcat process
+#
+# tomcat%%TOMCAT_VERSION%%_catalina_base (str)
+# Set to "%%TOMCAT_HOME%%" by default.
+# Set the CATALINA_BASE variable for the Tomcat process
+#
+# tomcat%%TOMCAT_VERSION%%_catalina_tmpdir (str)
+# Set to "%%TOMCAT_HOME%%/temp" by default.
+# Set the CATALINA_TMPDIR variable for the Tomcat process
+#
+# tomcat%%TOMCAT_VERSION%%_stdout_log (str)
+# Set to "%%STDOUT_LOG%%" by default.
+# Set the location for the Tomcat process log (standard output)
+#
+# tomcat%%TOMCAT_VERSION%%_stderr_log (str)
+# Set to "%%STDERR_LOG%%" by default.
+# Set the location for the Tomcat process log (error output)
+#
+# tomcat%%TOMCAT_VERSION%%_stop_timeout (num)
+# Set to "10" by default.
+# Sets the timeout in seconds to allow tomcat to shutdown.
+# After the timeout has elapsed, tomcat will be killed.
+#
+# tomcat%%TOMCAT_VERSION%%_java_home (str):
+# tomcat%%TOMCAT_VERSION%%_java_vendor (str):
+# tomcat%%TOMCAT_VERSION%%_java_version (str):
+# tomcat%%TOMCAT_VERSION%%_java_os (str):
+# Specify the requirements of the Java VM to use. See javavm(1).
+#
+# tomcat%%TOMCAT_VERSION%%_classpath (str):
+# Set to "" by default.
+# Addtional classes to add to the CLASSPATH
+#
+# tomcat%%TOMCAT_VERSION%%_java_opts (str):
+# Set to "" by default.
+# Java VM args to use.
+#
+
+tomcat%%TOMCAT_VERSION%%_enable="${tomcat%%TOMCAT_VERSION%%_enable:-"NO"}"
+tomcat%%TOMCAT_VERSION%%_java_version="${tomcat%%TOMCAT_VERSION%%_java_version:-"%%JAVA_VERSION%%"}"
+tomcat%%TOMCAT_VERSION%%_user="${tomcat%%TOMCAT_VERSION%%_user:-"%%USER%%"}"
+tomcat%%TOMCAT_VERSION%%_catalina_home="${tomcat%%TOMCAT_VERSION%%_catalina_home:-"%%TOMCAT_HOME%%"}"
+tomcat%%TOMCAT_VERSION%%_catalina_base="${tomcat%%TOMCAT_VERSION%%_catalina_base:-"%%TOMCAT_HOME%%"}"
+tomcat%%TOMCAT_VERSION%%_catalina_tmpdir="${tomcat%%TOMCAT_VERSION%%_catalina_tmpdir:-"%%TOMCAT_HOME%%/temp"}"
+tomcat%%TOMCAT_VERSION%%_stdout_log="${tomcat%%TOMCAT_VERSION%%_stdout_log:-"%%STDOUT_LOG%%"}"
+tomcat%%TOMCAT_VERSION%%_stderr_log="${tomcat%%TOMCAT_VERSION%%_stderr_log:-"%%STDERR_LOG%%"}"
+tomcat%%TOMCAT_VERSION%%_stop_timeout="${tomcat%%TOMCAT_VERSION%%_stop_timeout:-"10"}"
+
+. %%RC_SUBR%%
+
+name="tomcat%%TOMCAT_VERSION%%"
+rcvar=`set_rcvar`
+pidfile="%%PID_FILE%%"
+
+load_rc_config "${name}"
+
+if [ -n "${tomcat%%TOMCAT_VERSION%%_java_home}" ] ; then
+ export JAVA_HOME="${tomcat%%TOMCAT_VERSION%%_java_home}"
+fi
+
+if [ -n "${tomcat%%TOMCAT_VERSION%%_java_version}" ] ; then
+ export JAVA_VERSION="${tomcat%%TOMCAT_VERSION%%_java_version}"
+fi
+
+if [ -n "${tomcat%%TOMCAT_VERSION%%_java_vendor}" ] ; then
+ export JAVA_VENDOR="${tomcat%%TOMCAT_VERSION%%_java_vendor}"
+fi
+
+if [ -n "${tomcat%%TOMCAT_VERSION%%_java_os}" ] ; then
+ export JAVA_OS="${tomcat%%TOMCAT_VERSION%%_java_os}"
+fi
+
+java_command="%%LOCALBASE%%/bin/java \
+ ${tomcat%%TOMCAT_VERSION%%_java_opts} \
+ -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \
+ -classpath %%TOMCAT_HOME%%/%%JAR_FILE%%:%%TOMCAT_HOME%%/bin/commons-logging-api.jar:${tomcat%%TOMCAT_VERSION%%_classpath} \
+ -Dcatalina.base=${tomcat%%TOMCAT_VERSION%%_catalina_base} \
+ -Dcatalina.home=${tomcat%%TOMCAT_VERSION%%_catalina_home} \
+ -Djava.io.tmpdir=${tomcat%%TOMCAT_VERSION%%_catalina_tmpdir} \
+ org.apache.catalina.startup.Bootstrap"
+
+log_args=">> ${tomcat%%TOMCAT_VERSION%%_stdout_log} \
+ 2>> ${tomcat%%TOMCAT_VERSION%%_stderr_log} "
+
+procname="*java"
+required_files="${tomcat%%TOMCAT_VERSION%%_catalina_home}/conf/server.xml"
+
+command="/usr/sbin/daemon"
+flags="-p ${pidfile} ${java_command} start ${tomcat%%TOMCAT_VERSION%%_flags} ${log_args}"
+
+stop_cmd="tomcat%%TOMCAT_VERSION%%_stop"
+
+tomcat%%TOMCAT_VERSION%%_stop() {
+ rc_pid=$(check_pidfile $pidfile $procname)
+
+ if [ -z "$rc_pid" ]; then
+ [ -n "$rc_fast" ] && return 0
+ if [ -n "$pidfile" ]; then
+ echo "${name} not running? (check $pidfile)."
+ else
+ echo "${name} not running?"
+ fi
+ return 1
+ fi
+
+ echo "Stopping ${name}."
+ ${java_command} stop
+ tomcat_wait_max_for_pid ${tomcat%%TOMCAT_VERSION%%_stop_timeout} ${rc_pid}
+ kill -KILL ${rc_pid} 2> /dev/null && echo "Killed."
+ echo -n > ${pidfile}
+}
+
+tomcat_wait_max_for_pid() {
+ _timeout=$1
+ shift
+ _pid=$1
+ _prefix=
+ while [ $_timeout -gt 0 ] ; do
+ echo -n ${_prefix:-"Waiting (max $_timeout secs) for PIDS: "}$_pid
+ _prefix=", "
+ sleep 2
+ kill -0 $_pid 2> /dev/null || break
+ _timeout=$(($_timeout-2))
+ done
+ if [ -n "$_prefix" ]; then
+ echo "."
+ fi
+}
+
+run_rc_command "$1"
diff --git a/www/tomcat6/pkg-descr b/www/tomcat6/pkg-descr
index d489e8c5428b..a22d29893303 100644
--- a/www/tomcat6/pkg-descr
+++ b/www/tomcat6/pkg-descr
@@ -1,4 +1,4 @@
-Jakarta Tomcat is a web server written in 100% Pure Java.
+Apache Tomcat is a web server written in 100% Pure Java.
Tomcat 5.x is the current release of Tomcat,
and builds upon the Tomcat 3.3 and Tomcat 4.1 codebases.
diff --git a/www/tomcat6/pkg-install b/www/tomcat6/pkg-install
deleted file mode 100644
index 76202c932ca3..000000000000
--- a/www/tomcat6/pkg-install
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-#
-# Checks if the '%%USER%%' user and %%GROUP%% group exist. If they don't, then
-# an attempt is made to create both.
-#
-# $FreeBSD: /tmp/pcvs/ports/www/tomcat6/Attic/pkg-install,v 1.3 2005-09-29 15:08:23 hq Exp $
-#
-
-# Make sure we're called during the 'make install' process
-if [ "$2" != "PRE-INSTALL" ]; then
- exit 0
-fi
-
-# Set some constants
-UID=80
-GID=${UID}
-
-# See if the group already exists
-if ! pw groupshow "%%GROUP%%" 2>/dev/null 1>&2; then
-
- # If not, try to create it
- if pw groupadd "%%GROUP%%" -g ${GID}; then
- echo "Added group \"%%GROUP%%\"."
- elif pw groupadd "%%GROUP%%"; then
- echo "Added group \"%%GROUP%%\"."
- else
- echo "Adding group \"%%GROUP%%\" failed..."
- exit 1
- fi
-fi
-
-# See if the user already exists
-if ! pw usershow "%%USER%%" 2>/dev/null 1>&2; then
-
- # If not, try to create it
- if pw useradd "%%USER%%" -u ${UID} -g "%%GROUP%%" -h - \
- -s "/sbin/nologin" -d "/nonexistent" \
- -c "World Wide Web Owner";
- then
- echo "Added user \"%%USER%%\"."
- elif pw useradd "%%USER%%" -g "%%GROUP%%" -h - \
- -s "/sbin/nologin" -d "/nonexistent" \
- -c "World Wide Web Owner";
- then
- echo "Added user \"%%USER%%\"."
- else
- echo "Adding user \"%%USER%%\" failed..."
- exit 1
- fi
-fi
-exit 0
diff --git a/www/tomcat6/pkg-plist b/www/tomcat6/pkg-plist
index 94e996564dae..bf6ed0a24ed7 100644
--- a/www/tomcat6/pkg-plist
+++ b/www/tomcat6/pkg-plist
@@ -9,8 +9,6 @@
@unexec if cmp -s %D/%%T%%/conf/tomcat-users.xml %D/%%T%%/conf/tomcat-users.xml.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/tomcat-users.xml; else echo If permanently deleting this package, %D/%%T%%/conf/tomcat-users.xml must be removed manually; fi
@unexec if cmp -s %D/%%T%%/conf/web.xml %D/%%T%%/conf/web.xml.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/web.xml; else echo If permanently deleting this package, %D/%%T%%/conf/web.xml must be removed manually; fi
@unexec if cmp -s %D/%%T%%/conf/logging.properties %D/%%T%%/conf/logging.properties.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/logging.properties; else echo If permanently deleting this package, %D/%%T%%/conf/logging.properties must be removed manually; fi
-bin/tomcat55ctl
-etc/rc.d/jakarta-tomcat55.sh
%%T%%/LICENSE
%%T%%/NOTICE
%%T%%/RELEASE-NOTES
@@ -843,7 +841,7 @@ etc/rc.d/jakarta-tomcat55.sh
@exec mkdir %D/%%T%%/shared/classes || true
@exec mkdir %D/%%T%%/server/classes || true
@exec mkdir %D/%%T%%/common/endorsed ||true
-@exec chown -R %%WWWOWN%%:%%WWWGRP%% %D/%%T%%/
+@exec chown -R %%WWWOWN%%:%%WWWGRP%% %D/%%T%%/conf %D/%%T%%/logs %D/%%T%%/temp %D/%%T%%/work
@dirrm %%T%%/work
@dirrm %%T%%/webapps/webdav/WEB-INF
@dirrm %%T%%/webapps/webdav