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
This commit is contained in:
Sam Lawrance 2006-02-07 08:50:09 +00:00
parent 5223a66b16
commit a0156c5c5b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=155396
56 changed files with 1549 additions and 2728 deletions

1
MOVED
View file

@ -2164,3 +2164,4 @@ misc/tvguide||2006-02-03|Remove expired port
japanese/gn-gnspool||2006-02-06|Remove expired port
www/adzap2squirm||2006-02-06|Remove expired port
graphics/linux-bmrt||2006-02-06|Remove dead project
www/jakarta-tomcat55|www/tomcat55|2006-02-07|Renamed (no longer a Jakarta project)

View file

@ -6,6 +6,27 @@ You should get into the habit of checking this file for changes each
time you update your ports collection, before attempting any port
upgrades.
20060207:
AFFECTS: users of www/jakarta-tomcat4, www/jakarta-tomcat41,
www/jakarta-tomcat5, www/jakarta-tomcat55, and www/tomcat55
AUTHOR: lawrance@FreeBSD.org
The Tomcat ports listed above have been converted to use new-style
rc scripts. In order to enable Tomcat, you must add:
tomcat{4,41,5,55}_enable="YES"
to your rc.conf. Select the appropriate version number for your
installation. When shutting down, the rc scripts will kill the
Tomcat process after a default timeout of 10 seconds. This can be
changed by setting the tomcatXX_stop_timeout variable in rc.conf.
Tomcat 5.5 users please note that the rc variables have changed name
from jakarta_tomcat55_* to tomcat55_*.
The "tomcatctl" executable is no longer installed. Please use the
rc scripts to control tomcat instead.
20060202:
AFFECTS: users of textproc/expat2
AUTHOR: kuriyama@FreeBSD.org

View file

@ -195,7 +195,7 @@
SUBDIR += jakarta-tomcat4
SUBDIR += jakarta-tomcat41
SUBDIR += jakarta-tomcat5
SUBDIR += jakarta-tomcat55
SUBDIR += tomcat55
SUBDIR += jdresolve
SUBDIR += jesred
SUBDIR += jetspeed

View file

@ -7,7 +7,7 @@
PORTNAME= jakarta-tomcat
PORTVERSION= 4.0.6
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= www java
MASTER_SITES= http://distfiles.coredump.cn/ \
ftp://local-distfiles.freebsd.org.cn/pub/china-ports/liukang/
@ -15,31 +15,24 @@ MASTER_SITES= http://distfiles.coredump.cn/ \
MAINTAINER= liukang@bjut.edu.cn
COMMENT= Open-source Java web server by Apache, stable 4.0.x branch
DEPRECATED= "www/jakarta-tomcat5 is recommended instead for new installations"
DEPRECATED= www/jakarta-tomcat5 is recommended instead for new installations
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= tomcat4.sh
SUB_FILES= pkg-install pkg-deinstall
MAJOR_VER= ${PORTVERSION:R: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}
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}.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
@ -47,74 +40,61 @@ 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= ${FILESDIR}/daemonctl.c \
${FILESDIR}/daemonctl.1 \
${FILESDIR}/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} \
USER=${TOMCAT_USER} \
WARP_PORT=${WARP_PORT}
.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}
@ -136,28 +116,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}
@ -168,7 +126,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..."
@ -177,18 +136,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>

View file

@ -8,14 +8,16 @@
# * 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: /tmp/pcvs/ports/www/jakarta-tomcat4/files/Attic/pkg-deinstall.in,v 1.1 2006-02-07 08:50:07 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/tomcat5
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 "%%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

View file

@ -1,9 +1,9 @@
#!/bin/sh
#
# Checks if the 'www' user and group exist. If they don't, then
# Checks if the '%%USER%%' user and group exist. If they don't, then
# an attempt is made to create both.
#
# $FreeBSD: /tmp/pcvs/ports/www/jakarta-tomcat5/Attic/pkg-install,v 1.1 2003-08-13 11:39:38 znerd Exp $
# $FreeBSD: /tmp/pcvs/ports/www/jakarta-tomcat4/files/Attic/pkg-install.in,v 1.1 2006-02-07 08:50:07 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

View file

@ -1,34 +0,0 @@
#!/bin/sh
# -*- mode: Fundamental; tab-width: 4; -*-
# ex:ts=4
#
# %%APP_TITLE%% startup script.
#
# $FreeBSD$
#
# Set some variables
MYSELF=`basename $0`
case "$1" in
start)
echo -n ' '
truncate -s 0 %%PID_FILE%%
chown %%USER%%:%%GROUP%% %%PID_FILE%%
chmod 600 %%PID_FILE%%
su -f -m %%USER%% -c "exec %%CONTROL_SCRIPT%% start" >/dev/null && echo -n '%%APP_SHORTNAME%%'
;;
stop)
echo -n ' '
chown %%USER%%:%%GROUP%% %%PID_FILE%%
chmod 600 %%PID_FILE%%
su -f -m %%USER%% -c "exec %%CONTROL_SCRIPT%% stop" >/dev/null 2>&1 ; echo -n '%%APP_SHORTNAME%%'
;;
*)
echo ""
echo "Usage: ${MYSELF} { start | stop }"
echo ""
exit 64
;;
esac

View file

@ -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"

View file

@ -4,8 +4,6 @@
@unexec if cmp -s %D/%%T%%/conf/server-noexamples.xml.config %D/%%T%%/conf/server-noexamples.xml.config.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/server-noexamples.xml.config; fi
@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; fi
@unexec if cmp -s %D/%%T%%/conf/catalina.policy %D/%%T%%/conf/catalina.policy.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/catalina.policy; fi
bin/tomcat4ctl
etc/rc.d/020.jakarta-tomcat4.sh
%%T%%/logs/stdout.log
%%T%%/logs/stderr.log
%%T%%/webapps/tomcat-docs/appdev/sample/src/mypackage/Hello.java
@ -970,7 +968,7 @@ etc/rc.d/020.jakarta-tomcat4.sh
@exec mkdir %D/%%T%%/temp || true
@exec mkdir %D/%%T%%/server/classes || true
@exec mkdir %D/%%T%%/work || 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
@dirrmtry %%T%%/conf
@dirrm %%T%%/logs
@dirrm %%T%%/webapps/tomcat-docs/appdev/sample/src/mypackage

View file

@ -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>

View file

@ -8,14 +8,16 @@
# * Checks if the '%%USER%%' user exists. If it does, then it displays
# a message.
#
# $FreeBSD: /tmp/pcvs/ports/www/tomcat7/Attic/pkg-deinstall,v 1.3 2005-09-29 15:08:23 hq Exp $
# $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/tomcat5
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 "%%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

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -7,111 +7,89 @@
PORTNAME= jakarta-tomcat
PORTVERSION= 5.0.30
PORTREVISION= 1
CATEGORIES= www java
MASTER_SITES= ${MASTER_SITE_APACHE_JAKARTA}
MASTER_SITE_SUBDIR= tomcat-5/v${PORTVERSION}/bin
MAINTAINER= liukang@bjut.edu.cn
COMMENT= Open-source Java web server by Apache, 5.0.x branch
PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/www/jakarta-tomcat4:pre-everything
USE_JAVA= yes
JAVA_VERSION= 1.3+
NO_BUILD= YES
.if !defined(NOPORTDOCS)
MAN1= ${CONTROL_SCRIPT_NAME}.1
.endif
USE_RC_SUBR= tomcat50.sh
SUB_FILES= pkg-install pkg-deinstall
MAJOR_VER= ${PORTVERSION:R}
APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION:R}
LOG_DIR= ${APP_HOME}/logs
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
PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///} WWWOWN=${USER} WWWGRP=${GROUP}
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
WRKSRC= ${WRKDIR}/${PORTNAME}-${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_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}
@ -133,31 +111,9 @@ 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}
@${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}
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Creating symlink to tools.jar..."
@ -165,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..."
@ -174,17 +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>

View file

@ -8,14 +8,16 @@
# * Checks if the '%%USER%%' user exists. If it does, then it displays
# a message.
#
# $FreeBSD: /tmp/pcvs/ports/www/jakarta-tomcat55/Attic/pkg-deinstall,v 1.3 2005-09-29 15:08:23 hq Exp $
# $FreeBSD: /tmp/pcvs/ports/www/jakarta-tomcat5/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/tomcat5
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 "%%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

View file

@ -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-tomcat5/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

View file

@ -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"

View file

@ -1,45 +0,0 @@
#!/bin/sh
#
# This script does the following.
#
# * 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
# a message.
#
# $FreeBSD: /tmp/pcvs/ports/www/jakarta-tomcat5/Attic/pkg-deinstall,v 1.2 2004-01-02 12:31:11 znerd Exp $
#
# 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})..."
/bin/kill ${PID} > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
echo " [ DONE ]"
else
echo " [ FAILED ]"
fi
echo -n ">> Removing PID file (${PID_FILE})..."
rm ${PID_FILE} > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
echo " [ DONE ]"
else
echo " [ FAILED ]"
fi
fi
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'"
fi
fi
exit 0

View file

@ -9,8 +9,6 @@
@unexec if cmp -s %D/%%T%%/conf/server.xml %D/%%T%%/conf/server.xml.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/server.xml; else echo If permanently deleting this package, %D/%%T%%/conf/server.xml must be removed manually; fi
@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/tomcat50ctl
etc/rc.d/020.jakarta-tomcat50.sh
%%T%%/LICENSE
%%T%%/NOTICE
%%T%%/RELEASE-NOTES
@ -1763,7 +1761,7 @@ etc/rc.d/020.jakarta-tomcat50.sh
@exec mkdir %D/%%T%%/shared/lib || true
@exec mkdir %D/%%T%%/temp || true
@exec mkdir %D/%%T%%/webapps/balancer/images || 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

View file

@ -1,214 +0,0 @@
# New ports collection makefile for: jakarta-tomcat-devel
# Date created: Tue Aug 12 23:26:32 CST 2003
# Whom: Kang Liu <liukang@bjpu.edu.cn>
#
# $FreeBSD$
#
PORTNAME= jakarta-tomcat
PORTVERSION= 5.5.12
CATEGORIES= www java
MASTER_SITES= ${MASTER_SITE_APACHE_JAKARTA}
MASTER_SITE_SUBDIR= tomcat-5/v${PORTVERSION}/bin
DISTFILES= apache-tomcat-${PORTVERSION}.tar.gz
MAINTAINER= liukang@cn.freebsd.org
COMMENT= Open-source Java web server by Apache, 5.5.x branch
USE_JAVA= yes
JAVA_VERSION= 1.4+
NO_BUILD= YES
USE_RC_SUBR= yes
.if !defined(NOPORTDOCS)
MAN1= ${CONTROL_SCRIPT_NAME}.1
.endif
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_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
JAR_FILE= bin/bootstrap.jar
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
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} \
STDOUT_LOG=${STDOUT_LOG} \
STDERR_LOG=${STDERR_LOG}
REPLACE_FILES+= ${PKGDIR}/pkg-install \
${PKGDIR}/pkg-deinstall
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
.include <bsd.port.pre.mk>
.if ${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/} == "1.4"
DISTFILES+= apache-tomcat-${PORTVERSION}-compat.tar.gz
PLIST_SUB+= JAVA14=""
.else
PLIST_SUB+= JAVA14="@comment "
.endif
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`
@${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}
@${MKDIR} ${LOG_DIR}
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} ">> Copying files to destination directory..."
@${CP} ${WRKDIR}/server.xml ${WRKSRC}/conf/
@(cd ${WRKSRC};${FIND} conf -type f | ${SED} -e '/${CONF_EXT}/d') \
| while read a; do \
${MV} ${WRKSRC}/$$a ${WRKSRC}/$$a.${CONF_EXT}; \
if [ ! -e "${APP_HOME}/$$a" ]; then \
${ECHO_MSG} " Installing local configuration file: ${APP_HOME}/$$a"; \
${CP} ${WRKSRC}/$$a.${CONF_EXT} ${WRKSRC}/$$a; \
else \
${ECHO_MSG} " Preserving local configuration file: ${APP_HOME}/$$a"; \
fi; \
done
@${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}
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Creating symlink to tools.jar..."
@${LN} -sf ${JAVA_HOME}/lib/tools.jar ${APP_HOME}/common/lib/tools.jar
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Fixing ownership settings..."
@${CHOWN} -R ${TOMCAT_USER}:${TOMCAT_GROUP} ${APP_HOME}
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Fixing permissions..."
@${CHMOD} 755 `${FIND} ${APP_HOME} -type d`
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Creating PID file..."
@${TOUCH} ${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 ${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>

View file

@ -1,6 +0,0 @@
MD5 (apache-tomcat-5.5.12.tar.gz) = 4c51a16d86131ca7958273080efb473f
SHA256 (apache-tomcat-5.5.12.tar.gz) = 7a19f6a42bb2a0879a35d76dea16f38b169689eac18b488168eeca16c1beb73e
SIZE (apache-tomcat-5.5.12.tar.gz) = 5924214
MD5 (apache-tomcat-5.5.12-compat.tar.gz) = e1c7c959d73dabe299fd4500a86657a2
SHA256 (apache-tomcat-5.5.12-compat.tar.gz) = f9dd38df997c7cd53a94bb74b5e67616bd88584176a8e39c0a2db4da9b47d70c
SIZE (apache-tomcat-5.5.12-compat.tar.gz) = 1607878

View file

@ -1,35 +0,0 @@
$FreeBSD$
--- conf/server.xml.orig Sun Jun 5 21:37:27 2005
+++ conf/server.xml Sun Jun 5 21:40:08 2005
@@ -10,7 +10,7 @@
define subcomponents such as "Valves" or "Loggers" at this level.
-->
-<Server port="8005" shutdown="SHUTDOWN">
+<Server port="%%SHUTDOWN_PORT%%" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
@@ -72,8 +72,8 @@
IP address of the remote client.
-->
- <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
- <Connector port="8080" maxHttpHeaderSize="8192"
+ <!-- Define a non-SSL HTTP/1.1 Connector -->
+ <Connector port="%%HTTP_PORT%%" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
@@ -97,8 +97,8 @@
clientAuth="false" sslProtocol="TLS" />
-->
- <!-- Define an AJP 1.3 Connector on port 8009 -->
- <Connector port="8009"
+ <!-- Define an AJP 1.3 Connector -->
+ <Connector port="%%AJP_1_3_PORT%%"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->

View file

@ -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"

View file

@ -1,13 +0,0 @@
Jakarta 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.
The 5.x releases implement the Servlet 2.4 and JSP 2.0 specifications.
Apache Tomcat 5.5 is the current focus of development.
While it supports the same Servlet and JSP Specification versions
as Apache Tomcat 5.0.x, there are significant changes in many areas
under the hood, resulting in improved performance, stability,
and total cost of ownership.
WWW: http://tomcat.apache.org/

View file

@ -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/jakarta-tomcat55/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

File diff suppressed because it is too large Load diff

View file

@ -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>

View file

@ -8,14 +8,16 @@
# * Checks if the '%%USER%%' user exists. If it does, then it displays
# a message.
#
# $FreeBSD: /tmp/pcvs/ports/www/tomcat55/Attic/pkg-deinstall,v 1.3 2005-09-29 15:08:23 hq Exp $
# $FreeBSD: /tmp/pcvs/ports/www/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/tomcat5
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 "%%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

View file

@ -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/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

View file

@ -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"

View file

@ -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

View file

@ -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>

View file

@ -5,20 +5,22 @@
# * 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$
#
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})..."
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 "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

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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.

View file

@ -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/tomcat55/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

View file

@ -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

View file

@ -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>

View file

@ -5,20 +5,22 @@
# * 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$
#
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/tomcat4.pid
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 "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

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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>

View file

@ -5,20 +5,22 @@
# * 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$
#
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})..."
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 "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

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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.

View file

@ -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/tomcat7/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

View file

@ -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