diff --git a/www/tomcat-devel/Makefile b/www/tomcat-devel/Makefile index d140d367a371..d643c6982b9d 100644 --- a/www/tomcat-devel/Makefile +++ b/www/tomcat-devel/Makefile @@ -1,68 +1,68 @@ PORTNAME= tomcat DISTVERSION= 11.0.6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www java MASTER_SITES= APACHE/${PORTNAME}/${PORTNAME}-${DISTVERSION:C/([0-9]+)(.*)/\1/}/v${DISTVERSION}/bin PKGNAMESUFFIX= -devel DISTNAME= apache-${PORTNAME}-${DISTVERSION} MAINTAINER= vvd@FreeBSD.org COMMENT= Open-source Java web server by Apache, 11.0.x branch WWW= https://tomcat.apache.org/ LICENSE= APACHE20 RUN_DEPENDS= jsvc:devel/apache-commons-daemon USES= cpe java CPE_VENDOR= apache JAVA_VERSION= 17+ USE_RC_SUBR= ${PKGBASE:C/-/_/} NO_ARCH= yes NO_BUILD= yes SUB_LIST= TOMCAT_HOME=${TOMCAT_HOME} \ TOMCAT_USER=${WWWOWN} \ JAVA_HOME=${JAVA_HOME} PLIST_SUB= T=${TOMCAT_SUBDIR} \ WWWOWN=${WWWOWN} \ WWWGRP=${WWWGRP} OPTIONS_DEFINE= HOST_MANAGER MANAGER DOCS EXAMPLES ROOT NLS 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}${PKGNAMESUFFIX} 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 @${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 -not -name '*.xsd'); 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/manager.xml host-manager/WEB-INF/web.xml; do \ ${MV} $$f $$f.sample; done) 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) .include diff --git a/www/tomcat-devel/files/tomcat_devel.in b/www/tomcat-devel/files/tomcat_devel.in index 89df00dd6075..c4de5de2f969 100644 --- a/www/tomcat-devel/files/tomcat_devel.in +++ b/www/tomcat-devel/files/tomcat_devel.in @@ -1,141 +1,141 @@ #!/bin/sh # PROVIDE: tomcat_devel # REQUIRE: LOGIN # KEYWORD: shutdown # # Configuration settings for tomcat_devel in /etc/rc.conf: # # tomcat_devel_enable (bool): # Set to "NO" by default. # Set it to "YES" to enable tomcat_devel # # tomcat_devel_catalina_home (str) # Set to "%%TOMCAT_HOME%%" by default. # Set the CATALINA_HOME variable for the Tomcat process # # tomcat_devel_catalina_base (str) # Set to "${catalina.home}" by default. # Set the CATALINA_BASE variable for the Tomcat process # # tomcat_devel_catalina_tmpdir (str) # Set to "${catalina.base}/temp" by default. # Set the CATALINA_TMPDIR variable for the Tomcat process # # tomcat_devel_stdout (str) # Set to "${catalina.base}/logs/catalina.out" by default. # Set the stdout redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat_devel_stderr (str) # Set to "&1" by default. # Set the stderr redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat_devel_pipe_cmd (str): # Set to "" by default. # Set a piped command to process stdout/stderr when passthru # # tomcat_devel_logging_manager (str): # Set to "org.apache.juli.ClassLoaderLogManager" by default. # Set the JUL log manager # # tomcat_devel_logging_config (str): # Set to "${catalina.base}/conf/logging.properties" by default. # Set the JUL config file # # tomcat_devel_java_home (str): # Set to "%%JAVA_HOME%%" by default. # Specify the Java VM to use. # # tomcat_devel_classpath (str): # Set to "" by default. # Addtional classes to add to the CLASSPATH. If set, must start with ':' # # tomcat_devel_java_opts (str): # Set to "" by default. # Java VM args to use. # # tomcat_devel_wait (int): # Set to "30" by default. # Set the wait time (in seconds) for Tomcat process startup # # tomcat_devel_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 tomcat_devel 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}'` - -export JAVA_TOOL_OPTIONS="\ +#_tomcat_java_version=`${_tomcat_java_home}/bin/java -version 2>&1 | /usr/bin/awk -F '"' '/version/ {print $2}'` +_tomcat_java9_opts="\ --add-opens=java.base/java.lang=ALL-UNNAMED \ --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \ --add-opens=java.base/java.io=ALL-UNNAMED \ --add-opens=java.base/java.util=ALL-UNNAMED \ --add-opens=java.base/java.util.concurrent=ALL-UNNAMED \ - --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED \ - --enable-native-access=ALL-UNNAMED" + --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" +_tomcat_java17_opts="--enable-native-access=ALL-UNNAMED" +_tomcat_java_opts="${_tomcat_java_opts} ${_tomcat_java9_opts} ${_tomcat_java17_opts}" 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} \ -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" diff --git a/www/tomcat101/Makefile b/www/tomcat101/Makefile index 5f3401c6b053..755b7bd76299 100644 --- a/www/tomcat101/Makefile +++ b/www/tomcat101/Makefile @@ -1,69 +1,69 @@ PORTNAME= tomcat DISTVERSION= 10.1.40 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www java MASTER_SITES= APACHE/${PORTNAME}/${PORTNAME}-${DISTVERSION:C/([0-9]+)(.*)/\1/}/v${DISTVERSION}/bin PKGNAMESUFFIX= 101 DISTNAME= apache-${PORTNAME}-${DISTVERSION} MAINTAINER= vvd@FreeBSD.org COMMENT= Open-source Java web server by Apache, 10.1.x branch WWW= https://tomcat.apache.org/ LICENSE= APACHE20 RUN_DEPENDS= jsvc:devel/apache-commons-daemon USES= cpe java CPE_VENDOR= apache JAVA_VERSION= 11+ USE_RC_SUBR= ${PKGBASE:C/-/_/} NO_ARCH= yes NO_BUILD= yes SUB_LIST= TOMCAT_HOME=${TOMCAT_HOME} \ TOMCAT_USER=${WWWOWN} \ JAVA_HOME=${JAVA_HOME} PLIST_SUB= T=${TOMCAT_SUBDIR} \ WWWOWN=${WWWOWN} \ WWWGRP=${WWWGRP} OPTIONS_DEFINE= HOST_MANAGER MANAGER DOCS EXAMPLES ROOT NLS 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 -not -name '*.xsd'); 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/manager.xml host-manager/WEB-INF/web.xml; do \ ${MV} $$f $$f.sample; done) 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) .include diff --git a/www/tomcat101/files/tomcat101.in b/www/tomcat101/files/tomcat101.in index ac405c2fc815..a60d0f5f3a18 100644 --- a/www/tomcat101/files/tomcat101.in +++ b/www/tomcat101/files/tomcat101.in @@ -1,140 +1,149 @@ #!/bin/sh # PROVIDE: tomcat101 # REQUIRE: LOGIN # KEYWORD: shutdown # # Configuration settings for tomcat101 in /etc/rc.conf: # # tomcat101_enable (bool): # Set to "NO" by default. # Set it to "YES" to enable tomcat101 # # tomcat101_catalina_home (str) # Set to "%%TOMCAT_HOME%%" by default. # Set the CATALINA_HOME variable for the Tomcat process # # tomcat101_catalina_base (str) # Set to "${catalina.home}" by default. # Set the CATALINA_BASE variable for the Tomcat process # # tomcat101_catalina_tmpdir (str) # Set to "${catalina.base}/temp" by default. # Set the CATALINA_TMPDIR variable for the Tomcat process # # tomcat101_stdout (str) # Set to "${catalina.base}/logs/catalina.out" by default. # Set the stdout redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat101_stderr (str) # Set to "&1" by default. # Set the stderr redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat101_pipe_cmd (str): # Set to "" by default. # Set a piped command to process stdout/stderr when passthru # # tomcat101_logging_manager (str): # Set to "org.apache.juli.ClassLoaderLogManager" by default. # Set the JUL log manager # # tomcat101_logging_config (str): # Set to "${catalina.base}/conf/logging.properties" by default. # Set the JUL config file # # tomcat101_java_home (str): # Set to "%%JAVA_HOME%%" by default. # Specify the Java VM to use. # # tomcat101_classpath (str): # Set to "" by default. # Addtional classes to add to the CLASSPATH. If set, must start with ':' # # tomcat101_java_opts (str): # Set to "" by default. # Java VM args to use. # # tomcat101_wait (int): # Set to "30" by default. # Set the wait time (in seconds) for Tomcat process startup # # tomcat101_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 tomcat101 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}'` - -export JAVA_TOOL_OPTIONS="\ +_tomcat_java9_opts="\ --add-opens=java.base/java.lang=ALL-UNNAMED \ --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \ --add-opens=java.base/java.io=ALL-UNNAMED \ --add-opens=java.base/java.util=ALL-UNNAMED \ --add-opens=java.base/java.util.concurrent=ALL-UNNAMED \ --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" +_tomcat_java17_opts="--enable-native-access=ALL-UNNAMED" +_tomcat_java_opts="${_tomcat_java_opts} ${_tomcat_java9_opts}" + +case "${_tomcat_java_version}" in + 1[7-9]* | [2-9][0-9]* ) + _tomcat_java_opts="${_tomcat_java_opts} ${_tomcat_java17_opts}" + ;; + *) + ;; +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} \ -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" diff --git a/www/tomcat110/Makefile b/www/tomcat110/Makefile index fd6db53a3cb3..a35009afb7e2 100644 --- a/www/tomcat110/Makefile +++ b/www/tomcat110/Makefile @@ -1,68 +1,68 @@ PORTNAME= tomcat DISTVERSION= 11.0.6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www java MASTER_SITES= APACHE/${PORTNAME}/${PORTNAME}-${DISTVERSION:C/([0-9]+)(.*)/\1/}/v${DISTVERSION}/bin PKGNAMESUFFIX= 110 DISTNAME= apache-${PORTNAME}-${DISTVERSION} MAINTAINER= vvd@FreeBSD.org COMMENT= Open-source Java web server by Apache, 11.0.x branch WWW= https://tomcat.apache.org/ LICENSE= APACHE20 RUN_DEPENDS= jsvc:devel/apache-commons-daemon USES= cpe java CPE_VENDOR= apache JAVA_VERSION= 17+ USE_RC_SUBR= ${PKGBASE:C/-/_/} NO_ARCH= yes NO_BUILD= yes SUB_LIST= TOMCAT_HOME=${TOMCAT_HOME} \ TOMCAT_USER=${WWWOWN} \ JAVA_HOME=${JAVA_HOME} PLIST_SUB= T=${TOMCAT_SUBDIR} \ WWWOWN=${WWWOWN} \ WWWGRP=${WWWGRP} OPTIONS_DEFINE= HOST_MANAGER MANAGER DOCS EXAMPLES ROOT NLS 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 @${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 -not -name '*.xsd'); 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/manager.xml host-manager/WEB-INF/web.xml; do \ ${MV} $$f $$f.sample; done) 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) .include diff --git a/www/tomcat110/files/tomcat110.in b/www/tomcat110/files/tomcat110.in index b375c9a2d0ff..20ddc6672db2 100644 --- a/www/tomcat110/files/tomcat110.in +++ b/www/tomcat110/files/tomcat110.in @@ -1,141 +1,141 @@ #!/bin/sh # PROVIDE: tomcat110 # REQUIRE: LOGIN # KEYWORD: shutdown # # Configuration settings for tomcat110 in /etc/rc.conf: # # tomcat110_enable (bool): # Set to "NO" by default. # Set it to "YES" to enable tomcat110 # # tomcat110_catalina_home (str) # Set to "%%TOMCAT_HOME%%" by default. # Set the CATALINA_HOME variable for the Tomcat process # # tomcat110_catalina_base (str) # Set to "${catalina.home}" by default. # Set the CATALINA_BASE variable for the Tomcat process # # tomcat110_catalina_tmpdir (str) # Set to "${catalina.base}/temp" by default. # Set the CATALINA_TMPDIR variable for the Tomcat process # # tomcat110_stdout (str) # Set to "${catalina.base}/logs/catalina.out" by default. # Set the stdout redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat110_stderr (str) # Set to "&1" by default. # Set the stderr redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat110_pipe_cmd (str): # Set to "" by default. # Set a piped command to process stdout/stderr when passthru # # tomcat110_logging_manager (str): # Set to "org.apache.juli.ClassLoaderLogManager" by default. # Set the JUL log manager # # tomcat110_logging_config (str): # Set to "${catalina.base}/conf/logging.properties" by default. # Set the JUL config file # # tomcat110_java_home (str): # Set to "%%JAVA_HOME%%" by default. # Specify the Java VM to use. # # tomcat110_classpath (str): # Set to "" by default. # Addtional classes to add to the CLASSPATH. If set, must start with ':' # # tomcat110_java_opts (str): # Set to "" by default. # Java VM args to use. # # tomcat110_wait (int): # Set to "30" by default. # Set the wait time (in seconds) for Tomcat process startup # # tomcat110_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 tomcat110 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}'` - -export JAVA_TOOL_OPTIONS="\ +#_tomcat_java_version=`${_tomcat_java_home}/bin/java -version 2>&1 | /usr/bin/awk -F '"' '/version/ {print $2}'` +_tomcat_java9_opts="\ --add-opens=java.base/java.lang=ALL-UNNAMED \ --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \ --add-opens=java.base/java.io=ALL-UNNAMED \ --add-opens=java.base/java.util=ALL-UNNAMED \ --add-opens=java.base/java.util.concurrent=ALL-UNNAMED \ - --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED \ - --enable-native-access=ALL-UNNAMED" + --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" +_tomcat_java17_opts="--enable-native-access=ALL-UNNAMED" +_tomcat_java_opts="${_tomcat_java_opts} ${_tomcat_java9_opts} ${_tomcat_java17_opts}" 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} \ -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" diff --git a/www/tomcat9/Makefile b/www/tomcat9/Makefile index 8b4efd75b3ea..6f5598aa5350 100644 --- a/www/tomcat9/Makefile +++ b/www/tomcat9/Makefile @@ -1,68 +1,68 @@ PORTNAME= tomcat DISTVERSION= 9.0.104 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www java MASTER_SITES= APACHE/${PORTNAME}/${PORTNAME}-${DISTVERSION:C/([0-9])(.*)/\1/}/v${DISTVERSION}/bin PKGNAMESUFFIX= 9 DISTNAME= apache-${PORTNAME}-${DISTVERSION} MAINTAINER= vvd@FreeBSD.org COMMENT= Open-source Java web server by Apache, 9.0.x branch WWW= https://tomcat.apache.org/ LICENSE= APACHE20 RUN_DEPENDS= jsvc:devel/apache-commons-daemon USES= cpe java CPE_VENDOR= apache USE_RC_SUBR= ${PKGBASE:C/-/_/} NO_ARCH= yes NO_BUILD= yes SUB_LIST= TOMCAT_HOME=${TOMCAT_HOME} \ TOMCAT_USER=${WWWOWN} \ JAVA_HOME=${JAVA_HOME} PLIST_SUB= T=${TOMCAT_SUBDIR} \ WWWOWN=${WWWOWN} \ WWWGRP=${WWWGRP} OPTIONS_DEFINE= HOST_MANAGER MANAGER DOCS EXAMPLES ROOT NLS 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 -not -name '*.xsd'); 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/manager.xml host-manager/WEB-INF/web.xml; do \ ${MV} $$f $$f.sample; done) 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) .include diff --git a/www/tomcat9/files/tomcat9.in b/www/tomcat9/files/tomcat9.in index 21f4624e41e4..e807618d5c48 100644 --- a/www/tomcat9/files/tomcat9.in +++ b/www/tomcat9/files/tomcat9.in @@ -1,150 +1,156 @@ #!/bin/sh # PROVIDE: tomcat9 # REQUIRE: LOGIN # KEYWORD: shutdown # # Configuration settings for tomcat9 in /etc/rc.conf: # # tomcat9_enable (bool): # Set to "NO" by default. # Set it to "YES" to enable tomcat9 # # tomcat9_catalina_home (str) # Set to "%%TOMCAT_HOME%%" by default. # Set the CATALINA_HOME variable for the Tomcat process # # tomcat9_catalina_base (str) # Set to "${catalina.home}" by default. # Set the CATALINA_BASE variable for the Tomcat process # # tomcat9_catalina_tmpdir (str) # Set to "${catalina.base}/temp" by default. # Set the CATALINA_TMPDIR variable for the Tomcat process # # tomcat9_stdout (str) # Set to "${catalina.base}/logs/catalina.out" by default. # Set the stdout redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat9_stderr (str) # Set to "&1" by default. # Set the stderr redirection. It may also be '/dev/null', '&1' or '&2' # # tomcat9_pipe_cmd (str): # Set to "" by default. # Set a piped command to process stdout/stderr when passthru # # tomcat9_logging_manager (str): # Set to "org.apache.juli.ClassLoaderLogManager" by default. # Set the JUL log manager # # tomcat9_logging_config (str): # Set to "${catalina.base}/conf/logging.properties" by default. # Set the JUL config file # # tomcat9_java_home (str): # Set to "%%JAVA_HOME%%" by default. # Specify the Java VM to use. # # tomcat9_classpath (str): # Set to "" by default. # Addtional classes to add to the CLASSPATH. If set, must start with ':' # # tomcat9_java_opts (str): # Set to "" by default. # Java VM args to use. # # tomcat9_wait (int): # Set to "30" by default. # Set the wait time (in seconds) for Tomcat process startup # # tomcat9_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 tomcat9 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}'` +_tomcat_java9_opts="\ + --add-opens=java.base/java.lang=ALL-UNNAMED \ + --add-opens=java.base/java.lang.invoke=ALL-UNNAMED \ + --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \ + --add-opens=java.base/java.io=ALL-UNNAMED \ + --add-opens=java.base/java.util=ALL-UNNAMED \ + --add-opens=java.base/java.util.concurrent=ALL-UNNAMED \ + --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" +_tomcat_java17_opts="--enable-native-access=ALL-UNNAMED" case "${_tomcat_java_version}" in - 9* | [1-2][0-9]* ) + 1[7-9]* | [2-9][0-9]* ) _tomcat_endorsed_dirs_option= - export JAVA_TOOL_OPTIONS="\ - --add-opens=java.base/java.lang=ALL-UNNAMED \ - --add-opens=java.base/java.lang.invoke=ALL-UNNAMED \ - --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \ - --add-opens=java.base/java.io=ALL-UNNAMED \ - --add-opens=java.base/java.util=ALL-UNNAMED \ - --add-opens=java.base/java.util.concurrent=ALL-UNNAMED \ - --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" + _tomcat_java_opts="${_tomcat_java_opts} ${_tomcat_java9_opts} ${_tomcat_java17_opts}" + ;; + 9* | 1[0-6]* ) + _tomcat_endorsed_dirs_option= + _tomcat_java_opts="${_tomcat_java_opts} ${_tomcat_java9_opts}" ;; *) _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} \ ${_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"