Index: head/www/tomcat85/Makefile =================================================================== --- head/www/tomcat85/Makefile (revision 509574) +++ head/www/tomcat85/Makefile (revision 509575) @@ -1,86 +1,87 @@ # Created by: Alex Dupre # $FreeBSD$ PORTNAME= tomcat PORTVERSION= 8.5.43 +PORTREVISION= 1 CATEGORIES= www java MASTER_SITES= APACHE/${PORTNAME}/${PORTNAME}-${PORTVERSION:C/([0-9])(.*)/\1/}/v${PORTVERSION}/bin PKGNAMESUFFIX= 85 DISTNAME= apache-${PORTNAME}-${PORTVERSION} MAINTAINER= vvd@unislabs.com COMMENT= Open-source Java web server by Apache, 8.5.x branch LICENSE= APACHE20 RUN_DEPENDS= jsvc:devel/jakarta-commons-daemon USES= cpe CPE_VENDOR= apache USE_JAVA= yes JAVA_VERSION= 1.7+ USE_RC_SUBR= ${PKGBASE:C/-/_/} NO_ARCH= yes NO_BUILD= yes PLIST_SUB= T=${TOMCAT_SUBDIR} \ WWWOWN=${WWWOWN} \ WWWGRP=${WWWGRP} SUB_LIST= TOMCAT_HOME=${TOMCAT_HOME} \ TOMCAT_USER=${WWWOWN} \ JAVA_HOME=${JAVA_HOME} OPTIONS_DEFINE= HOST_MANAGER MANAGER DOCS EXAMPLES ROOT OPTIONS_DEFAULT= HOST_MANAGER MANAGER ROOT OPTIONS_SUB= yes DOCS_DESC= Install Documentation web application EXAMPLES_DESC= Install Examples web application HOST_MANAGER_DESC= Install Host Manager application MANAGER_DESC= Install Manager web application ROOT_DESC= Install default ROOT web application TOMCAT_SUBDIR?= ${DISTNAME:R} TOMCAT_HOME= ${PREFIX}/${TOMCAT_SUBDIR} post-patch: @${RM} ${WRKSRC}/bin/commons-daemon-native.tar.gz ${WRKSRC}/bin/commons-daemon.jar ${WRKSRC}/bin/tomcat-native.tar.gz @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g; s|%%JAVAJARDIR%%|${JAVAJARDIR}|g' ${WRKSRC}/bin/daemon.sh @${FIND} ${WRKSRC} -name '*.bak' -delete -o -name '*.orig' -delete do-install: @${MKDIR} ${STAGEDIR}${TOMCAT_HOME}/logs @${MKDIR} ${STAGEDIR}${TOMCAT_HOME}/endorsed ${CP} -R ${WRKSRC}/* ${STAGEDIR}${TOMCAT_HOME} post-install: @${RM} ${STAGEDIR}${TOMCAT_HOME}/bin/*.bat (cd ${STAGEDIR}${TOMCAT_HOME}/conf &&\ for f in $$(find . -type f); do ${MV} $$f $$f.sample; done) post-install-HOST_MANAGER-on: (cd ${STAGEDIR}${TOMCAT_HOME}/webapps &&\ for f in host-manager/META-INF/context.xml host-manager/WEB-INF/web.xml; do \ ${MV} $$f $$f.sample; done) post-install-HOST_MANAGER-off: @${RM} -R ${STAGEDIR}${TOMCAT_HOME}/webapps/host-manager post-install-MANAGER-on: (cd ${STAGEDIR}${TOMCAT_HOME}/webapps &&\ for f in manager/META-INF/context.xml manager/WEB-INF/web.xml; do \ ${MV} $$f $$f.sample; done) post-install-MANAGER-off: @${RM} -R ${STAGEDIR}${TOMCAT_HOME}/webapps/manager post-install-DOCS-off: @${RM} -R ${STAGEDIR}${TOMCAT_HOME}/webapps/docs post-install-EXAMPLES-off: @${RM} -R ${STAGEDIR}${TOMCAT_HOME}/webapps/examples post-install-ROOT-off: @${RM} -R ${STAGEDIR}${TOMCAT_HOME}/webapps/ROOT .include Index: head/www/tomcat85/files/tomcat85.in =================================================================== --- head/www/tomcat85/files/tomcat85.in (revision 509574) +++ head/www/tomcat85/files/tomcat85.in (revision 509575) @@ -1,134 +1,145 @@ #!/bin/sh # # $FreeBSD$ # # PROVIDE: tomcat85 # REQUIRE: LOGIN # KEYWORD: shutdown # # Configuration settings for tomcat85 in /etc/rc.conf: # # tomcat85_enable (bool): # Set to "NO" by default. # Set it to "YES" to enable tomcat85 # # tomcat85_catalina_home (str) # Set to "%%TOMCAT_HOME%%" by default. # Set the CATALINA_HOME variable for the Tomcat process # # tomcat85_catalina_base (str) # Set to "${catalina.home}" by default. # Set the CATALINA_BASE variable for the Tomcat process # # tomcat85_catalina_tmpdir (str) # Set to "${catalina.base}/temp" by default. # Set the CATALINA_TMPDIR variable for the Tomcat process # # tomcat85_stdout (str) # Set to "${catalina.base}/logs/catalina.out" by default. # Set the stdout redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat85_stderr (str) # Set to "&1" by default. # Set the stderr redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat85_pipe_cmd (str): # Set to "" by default. # Set a piped command to process stdout/stderr when passthru # # tomcat85_logging_manager (str): # Set to "org.apache.juli.ClassLoaderLogManager" by default. # Set the JUL log manager # # tomcat85_logging_config (str): # Set to "${catalina.base}/conf/logging.properties" by default. -# Set the JUL config file +# Set the JUL config file # # tomcat85_java_home (str): # Set to "%%JAVA_HOME%%" by default. # Specify the Java VM to use. # # tomcat85_classpath (str): # Set to "" by default. # Addtional classes to add to the CLASSPATH. If set, must start with ':' # # tomcat85_java_opts (str): # Set to "" by default. # Java VM args to use. # # tomcat85_wait (int): # Set to "30" by default. # Set the wait time (in seconds) for Tomcat process startup # # tomcat85_umask (str): # Set to "0077" by default. # Sets the umask for Tomcat process. # # You may symlink this script with other names to run multiple # instances of tomcat85 with different configurations. # . /etc/rc.subr case $0 in /etc/rc*) # during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown), # so get the name of the script from $_file name=$_file ;; *) name=$0 ;; esac name=${name##*/} rcvar=${name}_enable load_rc_config "${name}" eval "${rcvar}=\${${rcvar}:-'NO'}" eval "_tomcat_java_home=\${${name}_java_home:-'%%JAVA_HOME%%'}" eval "_tomcat_catalina_user=\${${name}_catalina_user:-'%%TOMCAT_USER%%'}" eval "_tomcat_catalina_home=\${${name}_catalina_home:-'%%TOMCAT_HOME%%'}" eval "_tomcat_catalina_base=\${${name}_catalina_base:-'${_tomcat_catalina_home}'}" eval "_tomcat_catalina_tmpdir=\${${name}_catalina_tmpdir:-'${_tomcat_catalina_base}/temp'}" eval "_tomcat_stdout=\${${name}_stdout:-'${_tomcat_catalina_base}/logs/catalina.out'}" eval "_tomcat_stderr=\${${name}_stderr:-'&1'}" eval "_tomcat_pipe_cmd=\${${name}_pipe_cmd:-''}" eval "_tomcat_logging_manager=\${${name}_logging_manager:-'org.apache.juli.ClassLoaderLogManager'}" eval "_tomcat_logging_config=\${${name}_logging_config:-'${_tomcat_catalina_base}/conf/logging.properties'}" eval "_tomcat_classpath=\${${name}_classpath:-''}" eval "_tomcat_java_opts=\${${name}_java_opts:-''}" eval "_tomcat_wait=\${${name}_wait:-'30'}" eval "_tomcat_umask=\${${name}_umask:-'0077'}" pidfile="/var/run/${name}.pid" required_files="${_tomcat_catalina_base}/conf/server.xml" required_dirs="${_tomcat_catalina_tmpdir}" extra_commands="reload" +_tomcat_java_version=`${_tomcat_java_home}/bin/java -version 2>&1 | /usr/bin/awk -F '"' '/version/ {print $2}'` + +case "${_tomcat_java_version}" in + 9* | 1[0-9]* ) + _tomcat_endorsed_dirs_option= + ;; + *) + _tomcat_endorsed_dirs_option="-Djava.endorsed.dirs='${_tomcat_catalina_home}/endorsed'" + ;; +esac + command="%%LOCALBASE%%/bin/jsvc" command_args="-java-home '${_tomcat_java_home}' \ -server \ -user ${_tomcat_catalina_user} \ -umask ${_tomcat_umask} \ -pidfile '${pidfile}' \ -wait ${_tomcat_wait} \ -outfile '${_tomcat_stdout}' \ -errfile '${_tomcat_stderr}' \ -classpath '${_tomcat_catalina_home}/bin/bootstrap.jar:%%LOCALBASE%%/share/java/classes/commons-daemon.jar:${_tomcat_catalina_home}/bin/tomcat-juli.jar${_tomcat_classpath}' \ -Djava.util.logging.manager=${_tomcat_logging_manager} \ -Djava.util.logging.config.file='${_tomcat_logging_config}' \ ${_tomcat_java_opts} \ - -Djava.endorsed.dirs='${_tomcat_catalina_home}/endorsed' \ + ${_tomcat_endorsed_dirs_option} \ -Dcatalina.home='${_tomcat_catalina_home}' \ -Dcatalina.base='${_tomcat_catalina_base}' \ -Djava.io.tmpdir='${_tomcat_catalina_tmpdir}' \ org.apache.catalina.startup.Bootstrap \ ${_tomcat_pipe_cmd}" run_rc_command "$1"