aboutsummaryrefslogtreecommitdiffstats
path: root/www/jakarta-tomcat41
diff options
context:
space:
mode:
authorlawrance <lawrance@FreeBSD.org>2006-02-07 16:50:09 +0800
committerlawrance <lawrance@FreeBSD.org>2006-02-07 16:50:09 +0800
commit0dbf44f2e44716f3c3b19aaf706e26ea8868277d (patch)
treeac6207ff1ad078d8f37ce79287ab718225fb29d0 /www/jakarta-tomcat41
parent1bc1a68a46ba43d35d424b84ee8715da075ed0ee (diff)
downloadfreebsd-ports-gnome-0dbf44f2e44716f3c3b19aaf706e26ea8868277d.tar.gz
freebsd-ports-gnome-0dbf44f2e44716f3c3b19aaf706e26ea8868277d.tar.zst
freebsd-ports-gnome-0dbf44f2e44716f3c3b19aaf706e26ea8868277d.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
Diffstat (limited to 'www/jakarta-tomcat41')
-rw-r--r--www/jakarta-tomcat41/Makefile124
-rw-r--r--www/jakarta-tomcat41/files/pkg-deinstall.in (renamed from www/jakarta-tomcat41/pkg-deinstall)12
-rw-r--r--www/jakarta-tomcat41/files/pkg-install.in (renamed from www/jakarta-tomcat41/pkg-install)6
-rw-r--r--www/jakarta-tomcat41/files/tomcat41.sh.in153
-rw-r--r--www/jakarta-tomcat41/pkg-plist3
5 files changed, 200 insertions, 98 deletions
diff --git a/www/jakarta-tomcat41/Makefile b/www/jakarta-tomcat41/Makefile
index c5110f4b381d..db7b44a561c5 100644
--- a/www/jakarta-tomcat41/Makefile
+++ b/www/jakarta-tomcat41/Makefile
@@ -7,7 +7,7 @@
PORTNAME= jakarta-tomcat
PORTVERSION= 4.1.31
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= www java
MASTER_SITES= ${MASTER_SITE_APACHE_JAKARTA}
MASTER_SITE_SUBDIR= tomcat-4/v${PORTVERSION}/bin
@@ -15,105 +15,81 @@ MASTER_SITE_SUBDIR= tomcat-4/v${PORTVERSION}/bin
MAINTAINER= liukang@bjut.edu.cn
COMMENT= Open-source Java web server by Apache, stable 4.1.x branch
-PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/www/jakarta-tomcat4:pre-everything
USE_JAVA= yes
JAVA_VERSION= 1.2+
NO_BUILD= YES
LATEST_LINK= ${APP_SHORTNAME}
-.if !defined(NOPORTDOCS)
-MAN1= ${CONTROL_SCRIPT_NAME}.1
-.endif
+USE_RC_SUBR= tomcat41.sh
+SUB_FILES= pkg-install pkg-deinstall
MAJOR_VER= ${PORTVERSION:R}
APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION:R}
LOG_DIR= ${APP_HOME}/logs
-PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///} WWWOWN=${USER} WWWGRP=${GROUP}
+PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///} WWWOWN=${TOMCAT_USER} WWWGRP=${TOMCAT_GROUP}
APP_TITLE= Jakarta 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}
-USER= www
-GROUP= www
+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 \
- ${PORTSDIR}/www/jakarta-tomcat4/files/startup.sh \
- 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}/${PORTNAME}-${PORTVERSION}
CONF_EXT= sample
PLIST_SUB+= CONF_EXT=${CONF_EXT}
+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} \
+ JAVA_HOME=${JAVA_HOME} \
+ PID_FILE=${PID_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} " 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): ${USER}/${GROUP}"
+ @${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."
- @PKG_PREFIX=${PREFIX} ${SH} pkg-install ${PKGNAME} PRE-INSTALL
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`..."
- @(cd ${WRKSRC} && ${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//${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//${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
+pre-install:
+ @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
do-install:
@${ECHO_MSG} -n ">> Creating destination directory..."
@${MKDIR} ${APP_HOME}
@@ -135,28 +111,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} ${USER}:${GROUP} ${CONTROL_SCRIPT}
- @${CHMOD} 6754 ${CONTROL_SCRIPT}
- @${ECHO_MSG} " [ DONE ]"
-
- @${ECHO_MSG} -n ">> Installing startup script..."
- @${CP} ${WRKDIR}/startup.sh ${STARTUP_SCRIPT}
- @${CHMOD} 0544 ${STARTUP_SCRIPT}
- @${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} /dev/null ${STDOUT_LOG}
@${INSTALL} /dev/null ${STDERR_LOG}
@@ -167,7 +121,8 @@ do-install:
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Fixing ownership settings..."
- @${CHOWN} -R ${USER}:${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..."
@@ -176,18 +131,11 @@ do-install:
@${ECHO_MSG} -n ">> Creating PID file..."
@${TOUCH} ${PID_FILE}
- @${CHOWN} ${USER}:${GROUP} ${PID_FILE}
+ @${CHOWN} ${TOMCAT_USER}:${TOMCAT_GROUP} ${PID_FILE}
@${CHMOD} 0600 ${PID_FILE}
@${ECHO_MSG} " [ DONE ]"
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 ${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/jakarta-tomcat41/pkg-deinstall b/www/jakarta-tomcat41/files/pkg-deinstall.in
index 39c0a6381a8b..d88b0d5e8d47 100644
--- a/www/jakarta-tomcat41/pkg-deinstall
+++ b/www/jakarta-tomcat41/files/pkg-deinstall.in
@@ -5,17 +5,19 @@
# * Checks if the PID file exists. If it does, it kills the
# process and removes the PID file.
#
-# * Checks if the 'www' user exists. If it does, then it displays
+# * Checks if the '%%USER%%' user exists. If it does, then it displays
# a message.
#
-# $FreeBSD$
+# $FreeBSD: /tmp/pcvs/ports/www/jakarta-tomcat41/files/Attic/pkg-deinstall.in,v 1.1 2006-02-07 08:50:08 lawrance Exp $
#
+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/tomcat41.pid
if [ -s ${PID_FILE} ]; then
PID=`cat ${PID_FILE}`
echo -n ">> Killing Jakarta Tomcat process (${PID})..."
@@ -37,8 +39,8 @@ fi
if [ "$2" = "POST-DEINSTALL" ]; then
# If the user exists, then display a message
- if pw usershow "www" 2>/dev/null 1>&2; then
- echo "To delete the www user permanently, use 'pw userdel www'"
+ 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/jakarta-tomcat41/pkg-install b/www/jakarta-tomcat41/files/pkg-install.in
index 687ec3fc1f9e..2835b8a1b831 100644
--- a/www/jakarta-tomcat41/pkg-install
+++ b/www/jakarta-tomcat41/files/pkg-install.in
@@ -3,7 +3,7 @@
# Checks if the 'www' user and group exist. If they don't, then
# an attempt is made to create both.
#
-# $FreeBSD$
+# $FreeBSD: /tmp/pcvs/ports/www/jakarta-tomcat41/files/Attic/pkg-install.in,v 1.1 2006-02-07 08:50:08 lawrance Exp $
#
# Make sure we're called during the 'make install' process
@@ -12,10 +12,10 @@ if [ "$2" != "PRE-INSTALL" ]; then
fi
# Set some constants
-USER=www
-GROUP=${USER}
UID=80
GID=${UID}
+USER=%%USER%%
+GROUP=%%GROUP%%
# See if the group already exists
if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
diff --git a/www/jakarta-tomcat41/files/tomcat41.sh.in b/www/jakarta-tomcat41/files/tomcat41.sh.in
new file mode 100644
index 000000000000..dac2e79731df
--- /dev/null
+++ b/www/jakarta-tomcat41/files/tomcat41.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/jakarta-tomcat41/pkg-plist b/www/jakarta-tomcat41/pkg-plist
index 97610509ba7b..4168d64f9987 100644
--- a/www/jakarta-tomcat41/pkg-plist
+++ b/www/jakarta-tomcat41/pkg-plist
@@ -6,7 +6,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
bin/tomcat41ctl
-etc/rc.d/020.jakarta-tomcat41.sh
%%T%%/LICENSE
%%T%%/README.txt
%%T%%/RELEASE-NOTES-4.1.txt
@@ -1488,7 +1487,7 @@ etc/rc.d/020.jakarta-tomcat41.sh
@exec mkdir %D/%%T%%/shared/lib || true
@exec mkdir %D/%%T%%/work || true
@exec mkdir %D/%%T%%/common/classes ||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