diff options
author | lawrance <lawrance@FreeBSD.org> | 2006-02-07 16:50:09 +0800 |
---|---|---|
committer | lawrance <lawrance@FreeBSD.org> | 2006-02-07 16:50:09 +0800 |
commit | 0dbf44f2e44716f3c3b19aaf706e26ea8868277d (patch) | |
tree | ac6207ff1ad078d8f37ce79287ab718225fb29d0 /www/jakarta-tomcat41 | |
parent | 1bc1a68a46ba43d35d424b84ee8715da075ed0ee (diff) | |
download | freebsd-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/Makefile | 124 | ||||
-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.in | 153 | ||||
-rw-r--r-- | www/jakarta-tomcat41/pkg-plist | 3 |
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 |