diff --git a/.gitignore b/.gitignore index 5b097a4..e69de29 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +0,0 @@ -SOURCES/tomcat-9.0.50.redhat-00006-src.zip diff --git a/.pki-servlet-engine.metadata b/.pki-servlet-engine.metadata deleted file mode 100644 index 0d66dba..0000000 --- a/.pki-servlet-engine.metadata +++ /dev/null @@ -1 +0,0 @@ -d3342fad0113532635b6d2ec733e189abeadaf0d SOURCES/tomcat-9.0.50.redhat-00006-src.zip diff --git a/SOURCES/removeUnusedDependencies.patch b/SOURCES/removeUnusedDependencies.patch deleted file mode 100644 index 1aaa933..0000000 --- a/SOURCES/removeUnusedDependencies.patch +++ /dev/null @@ -1,303 +0,0 @@ ---- build.xml.orig 2021-12-09 13:29:38.000000000 -0500 -+++ build.xml 2022-06-24 15:11:09.283008874 -0400 -@@ -73,7 +73,6 @@ - - - -- - - - -@@ -239,11 +238,6 @@ - - - -- -- -- -- -- - - - -@@ -298,7 +292,6 @@ - - - -- - - - -@@ -453,6 +446,7 @@ - - - -+ - - - -@@ -964,7 +958,7 @@ - - - -- -+ - - - - -+ - - - -@@ -1032,7 +1027,7 @@ - filesDir="${tomcat.classes}" - filesId="files.annotations-api" - manifest="${tomcat.manifests}/annotations-api.jar.manifest" -- addOSGi="true" /> -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - -+ /> - - - - - -+ depends="build-manifests,compile,package" > - - - -@@ -3137,7 +3132,7 @@ skip.installer property in build.propert - - -+ > - - - -@@ -3712,15 +3707,6 @@ Read the Building page on the Apache Tom - - - -- -- -- -- -- -- -- -- -- - - -diff -up ./java/org/apache/el/ExpressionFactoryImpl.java.orig ./java/org/apache/el/ExpressionFactoryImpl.java ---- ./java/org/apache/el/ExpressionFactoryImpl.java.orig 2022-06-24 15:17:45.976566618 -0400 -+++ ./java/org/apache/el/ExpressionFactoryImpl.java 2022-06-24 15:17:51.346506484 -0400 -@@ -33,7 +33,6 @@ import org.apache.el.util.MessageFactory - * - * @author Jacob Hookom [jacob@hookom.net] - */ --@aQute.bnd.annotation.spi.ServiceProvider(value=ExpressionFactory.class) - public class ExpressionFactoryImpl extends ExpressionFactory { - - @Override -diff -up ./java/org/apache/juli/logging/LogFactory.java.orig ./java/org/apache/juli/logging/LogFactory.java ---- ./java/org/apache/juli/logging/LogFactory.java.orig 2022-06-24 15:17:21.628839270 -0400 -+++ ./java/org/apache/juli/logging/LogFactory.java 2022-06-24 15:17:37.625660134 -0400 -@@ -21,8 +21,6 @@ import java.nio.file.FileSystems; - import java.util.ServiceLoader; - import java.util.logging.LogManager; - --import aQute.bnd.annotation.spi.ServiceConsumer; -- - /** - * This is a modified LogFactory that uses a simple {@link ServiceLoader} based - * discovery mechanism with a default of using JDK based logging. An -@@ -63,7 +61,6 @@ import aQute.bnd.annotation.spi.ServiceC - * @author Costin Manolache - * @author Richard A. Sitze - */ --@ServiceConsumer(value=org.apache.juli.logging.Log.class) - public class LogFactory { - - private static final LogFactory singleton = new LogFactory(); -diff -up ./java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java.orig ./java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java ---- ./java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java.orig 2022-06-24 15:17:09.250977880 -0400 -+++ ./java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java 2022-06-24 15:17:14.091923670 -0400 -@@ -26,7 +26,6 @@ import javax.websocket.HandshakeResponse - import javax.websocket.server.HandshakeRequest; - import javax.websocket.server.ServerEndpointConfig; - --@aQute.bnd.annotation.spi.ServiceProvider(value=ServerEndpointConfig.Configurator.class) - public class DefaultServerEndpointConfigurator - extends ServerEndpointConfig.Configurator { - -diff -up ./java/org/apache/tomcat/websocket/WsContainerProvider.java.orig ./java/org/apache/tomcat/websocket/WsContainerProvider.java ---- ./java/org/apache/tomcat/websocket/WsContainerProvider.java.orig 2022-06-24 15:16:58.046103352 -0400 -+++ ./java/org/apache/tomcat/websocket/WsContainerProvider.java 2022-06-24 15:17:03.098046783 -0400 -@@ -19,7 +19,6 @@ package org.apache.tomcat.websocket; - import javax.websocket.ContainerProvider; - import javax.websocket.WebSocketContainer; - --@aQute.bnd.annotation.spi.ServiceProvider(value=ContainerProvider.class) - public class WsContainerProvider extends ContainerProvider { - - @Override diff --git a/SOURCES/tomcat-9.0-bootstrap-MANIFEST.MF.patch b/SOURCES/tomcat-9.0-bootstrap-MANIFEST.MF.patch deleted file mode 100644 index e2ee93e..0000000 --- a/SOURCES/tomcat-9.0-bootstrap-MANIFEST.MF.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- res/META-INF/bootstrap.jar.manifest.orig 2010-04-06 10:11:09.000000000 -0600 -+++ res/META-INF/bootstrap.jar.manifest 2010-04-06 10:45:56.000000000 -0600 -@@ -1,6 +1,5 @@ - Manifest-Version: 1.0 - Main-Class: org.apache.catalina.startup.Bootstrap --Class-Path: commons-daemon.jar - Specification-Title: Apache Tomcat Bootstrap - Specification-Version: @VERSION_MAJOR_MINOR@ - Specification-Vendor: Apache Software Foundation diff --git a/SOURCES/tomcat-9.0-catalina-policy.patch b/SOURCES/tomcat-9.0-catalina-policy.patch deleted file mode 100644 index 0a460dc..0000000 --- a/SOURCES/tomcat-9.0-catalina-policy.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- conf/catalina.policy.orig 2021-12-09 13:29:38.000000000 -0500 -+++ conf/catalina.policy 2022-06-24 14:57:25.418254977 -0400 -@@ -56,6 +56,30 @@ grant codeBase "file:${java.home}/lib/ex - // permission java.security.AllPermission; - //}; - -+// ========== RHEL SPECIFIC CODE PERMISSIONS ======================================= -+ -+// Allowing everything in /usr/share/java allows too many unknowns to be permitted -+// Specifying the individual jars that tomcat needs to function with the security manager -+// is the safest way forward. -+grant codeBase "file:/usr/share/java/tomcat-servlet-4.0-api.jar" { -+ permission java.security.AllPermission; -+}; -+grant codeBase "file:/usr/share/java/tomcat-jsp-2.3-api.jar" { -+ permission java.security.AllPermission; -+}; -+grant codeBase "file:/usr/share/java/tomcat-el-3.0-api.jar" { -+ permission java.security.AllPermission; -+}; -+grant codeBase "file:/usr/share/java/ant.jar" { -+ permission java.security.AllPermission; -+}; -+grant codeBase "file:/usr/share/java/ant-launcher.jar" { -+ permission java.security.AllPermission; -+}; -+grant codeBase "file:/usr/lib/jvm/java/lib/tools.jar" { -+ permission java.security.AllPermission; -+}; -+ - - // ========== CATALINA CODE PERMISSIONS ======================================= - diff --git a/SOURCES/tomcat-9.0-digest.script b/SOURCES/tomcat-9.0-digest.script deleted file mode 100644 index d2b626c..0000000 --- a/SOURCES/tomcat-9.0-digest.script +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# tomcat-digest script -# JPackage Project - -# Source functions library -if [ -f /usr/share/java-utils/java-functions ] ; then - . /usr/share/java-utils/java-functions -else - echo "Can't find functions library, aborting" - exit 1 -fi - -# Get the tomcat config (use this for environment specific settings) -if [ -z "${TOMCAT_CFG}" ]; then - TOMCAT_CFG="/etc/tomcat/tomcat.conf" -fi - -if [ -r "$TOMCAT_CFG" ]; then - . $TOMCAT_CFG -fi - -set_javacmd - -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-api.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-util.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-util-scan.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-coyote.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/catalina.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/servlet-api.jar" -export CLASSPATH - -# Configuration -MAIN_CLASS="org.apache.catalina.startup.Tool" -BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\"" -BASE_OPTIONS="" -#BASE_JARS="tomcat/tomcat-util tomcat/tomcat-util-scan" -#BASE_JARS="${BASE_JARS} tomcat/tomcat-coyote tomcat/catalina" -#BASE_JARS="${BASE_JARS} tomcat/servlet-api" - -# Set parameters -#set_classpath $BASE_JARS -set_flags $BASE_FLAGS -set_options $BASE_OPTIONS - -# Let's start -run -server org.apache.catalina.realm.RealmBase "$@" diff --git a/SOURCES/tomcat-9.0-tomcat-users-webapp.patch b/SOURCES/tomcat-9.0-tomcat-users-webapp.patch deleted file mode 100644 index 860c4cf..0000000 --- a/SOURCES/tomcat-9.0-tomcat-users-webapp.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- conf/tomcat-users.xml~ 2008-01-28 17:41:06.000000000 -0500 -+++ conf/tomcat-users.xml 2008-03-07 19:40:07.000000000 -0500 -@@ -23,4 +23,14 @@ - - - --> -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - diff --git a/SOURCES/tomcat-9.0-tool-wrapper.script b/SOURCES/tomcat-9.0-tool-wrapper.script deleted file mode 100644 index e427dbc..0000000 --- a/SOURCES/tomcat-9.0-tool-wrapper.script +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# tomcat-digest script -# JPackage Project - -# Source functions library -if [ -f /usr/share/java-utils/java-functions ] ; then - . /usr/share/java-utils/java-functions -else - echo "Can't find functions library, aborting" - exit 1 -fi - -# Get the tomcat config (use this for environment specific settings) -if [ -z "${TOMCAT_CFG}" ]; then - TOMCAT_CFG="/etc/tomcat/tomcat.conf" -fi - -if [ -r "$TOMCAT_CFG" ]; then - . $TOMCAT_CFG -fi - -set_javacmd - -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-api.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-util.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-util-scan.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-coyote.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/catalina.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/servlet-api.jar" -export CLASSPATH - -# Configuration -MAIN_CLASS="org.apache.catalina.startup.Tool" -BASE_OPTIONS="" -BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\"" -#BASE_JARS="tomcat/tomcat-util tomcat/tomcat-util-scan" -#BASE_JARS="${BASE_JARS} tomcat/tomcat-coyote tomcat/catalina" -#BASE_JARS="${BASE_JARS} tomcat/servlet-api" - -# Set parameters -#set_classpath $BASE_JARS -set_flags $BASE_FLAGS -set_options $BASE_OPTIONS - -# Let's start -run "$@" diff --git a/SOURCES/tomcat-9.0.conf b/SOURCES/tomcat-9.0.conf deleted file mode 100644 index d680192..0000000 --- a/SOURCES/tomcat-9.0.conf +++ /dev/null @@ -1,61 +0,0 @@ -# This will be loaded by systemd as an environment file, -# so please keep the syntax. For shell expansion support -# place your custom files as /etc/tomcat/conf.d/*.conf. -# -# There are 2 "classes" of startup behavior in this package. -# The old one, the default service named tomcat.service. -# The new named instances are called tomcat@instance.service. -# -# Use this file to change default values for all services. -# Change the service specific ones to affect only one service. -# For tomcat.service it's /etc/sysconfig/tomcat, for -# tomcat@instance it's /etc/sysconfig/tomcat@instance. - -# This variable is used to figure out if config is loaded or not. -TOMCAT_CFG_LOADED="1" - -# Where your java installation lives -#JAVA_HOME="/usr/lib/jvm/java" - -# Where your tomcat installation lives -CATALINA_BASE="@@@TCHOME@@@" -CATALINA_HOME="@@@TCHOME@@@" -CATALINA_TMPDIR="@@@TCTEMP@@@" - -# You can pass some parameters to java here if you wish to -#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3" - -# You can change your tomcat locale here -#LANG="en_US" - -# Run tomcat under the Java Security Manager -SECURITY_MANAGER="false" - -# DEPRECATED VARIABLES -# -# TOMCAT_USER has been deprecated. To update the tomcat process owner, -# please see User in tomcat.service. -# -# TOMCAT_GROUP has been deprecated. To update the tomcat process group, -# please see Group in tomcat.service. -# -# SHUTDOWN_WAIT has been deprecated. To change the shutdown wait time, set -# TimeoutStopSec in tomcat.service. -# -# SHUTDOWN_VERBOSE has been deprecated. There is no replacement for this behavior. -# -# CATALINA_PID has been deprecated. A replacement for this behavior is to set -# PIDFile in tomcat.service. -# -# CONNECTOR_PORT has been deprecated. There is no replacement for this behavior. -# Set init script output file -# -# TOMCAT_LOG has been deprecated. Output from start/stop/status operations are -# logged to the system's journal. -# -# LOGGING_CONFIG has been deprecated. To update the logging properties in use, use: -# LOGGING_PROPERTIES="${CATALINA_HOME}/lib/log4j.properties" - -# If you wish to further customize your tomcat environment, -# put your own definitions here -# (i.e. LD_LIBRARY_PATH for some jdbc drivers) diff --git a/SOURCES/tomcat-9.0.service b/SOURCES/tomcat-9.0.service deleted file mode 100644 index bf90428..0000000 --- a/SOURCES/tomcat-9.0.service +++ /dev/null @@ -1,21 +0,0 @@ -# Systemd unit file for default tomcat -# -# To create clones of this service: -# DO NOTHING, use tomcat@.service instead. - -[Unit] -Description=Apache Tomcat Web Application Container -After=syslog.target network.target - -[Service] -Type=simple -EnvironmentFile=/etc/tomcat/tomcat.conf -Environment="NAME=" -EnvironmentFile=-/etc/sysconfig/tomcat -ExecStart=/usr/libexec/tomcat/server start -SuccessExitStatus=143 -User=tomcat -UMask=027 - -[Install] -WantedBy=multi-user.target diff --git a/SOURCES/tomcat-9.0.sysconfig b/SOURCES/tomcat-9.0.sysconfig deleted file mode 100644 index 39db94a..0000000 --- a/SOURCES/tomcat-9.0.sysconfig +++ /dev/null @@ -1,11 +0,0 @@ -# Service-specific configuration file for tomcat. This will be sourced by -# systemd for the default service (tomcat.service) -# If you want to customize named instance, make a similar file -# and name it tomcat@instancename. - -# You will not need to set this, usually. For default service it equals -# CATALINA_HOME. For named service, it equals ${TOMCATS_BASE}${NAME} -#CATALINA_BASE="@@@TCHOME@@@" - -# Please take a look at /etc/tomcat/tomcat.conf to have an idea -# what you can override. diff --git a/SOURCES/tomcat-9.0.wrapper b/SOURCES/tomcat-9.0.wrapper deleted file mode 100644 index c97cb85..0000000 --- a/SOURCES/tomcat-9.0.wrapper +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -if [ "$1" = "version" ]; then - . /usr/libexec/tomcat/preamble - exec ${JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \ - org.apache.catalina.util.ServerInfo -fi - -SRV="tomcat" -if [ -n "$2" ]; then - SRV="tomcat@$2" -fi - -if [ "$1" = "start" ]; then - systemctl start ${SRV}.service -elif [ "$1" = "stop" ]; then - systemctl stop ${SRV}.service -elif [ "$1" = "version" ]; then - ${JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \ - org.apache.catalina.util.ServerInfo -else - echo "Usage: $0 {start|stop|version} [server-id]" - exit 1 -fi diff --git a/SOURCES/tomcat-functions b/SOURCES/tomcat-functions deleted file mode 100644 index ac7f00d..0000000 --- a/SOURCES/tomcat-functions +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -if [ -r /usr/share/java-utils/java-functions ]; then - . /usr/share/java-utils/java-functions -else - echo "Can't read Java functions library, aborting" - exit 1 -fi - -_save_function() { - local ORIG_FUNC=$(declare -f $1) - local NEWNAME_FUNC="$2${ORIG_FUNC#$1}" - eval "$NEWNAME_FUNC" -} - -_save_function run run_java - -run() { - if [ "${USE_JSVC}" = "true" ] ; then - echo "JSVC support is not available with this Tomcat package." - exit 1 - else - run_java $@ - fi -} - diff --git a/SOURCES/tomcat-named.service b/SOURCES/tomcat-named.service deleted file mode 100644 index 66cf45c..0000000 --- a/SOURCES/tomcat-named.service +++ /dev/null @@ -1,26 +0,0 @@ -# Systemd unit file for tomcat instances. -# -# To create clones of this service: -# 0. systemctl enable tomcat@name.service -# 1. create catalina.base directory structure in -# /var/lib/tomcats/name -# 2. profit. - -[Unit] -Description=Apache Tomcat Web Application Container -After=syslog.target network.target - -[Service] -Type=simple -EnvironmentFile=/etc/tomcat/tomcat.conf -Environment="NAME=%I" -EnvironmentFile=-/etc/sysconfig/tomcat@%I -ExecStart=/usr/libexec/tomcat/server start -ExecStop=/usr/libexec/tomcat/server stop -SuccessExitStatus=143 -User=tomcat -UMask=027 - -[Install] -WantedBy=multi-user.target - diff --git a/SOURCES/tomcat-preamble b/SOURCES/tomcat-preamble deleted file mode 100644 index 07d28a3..0000000 --- a/SOURCES/tomcat-preamble +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash - -. /usr/libexec/tomcat/functions - -# Get the tomcat config (use this for environment specific settings) - -if [ -z "${TOMCAT_CFG_LOADED}" ]; then - if [ -z "${TOMCAT_CFG}" ]; then - TOMCAT_CFG="/etc/tomcat/tomcat.conf" - fi - . $TOMCAT_CFG -fi - -if [ -d "${TOMCAT_CONFD=/etc/tomcat/conf.d}" ]; then - for file in ${TOMCAT_CONFD}/*.conf ; do - if [ -f "$file" ] ; then - . "$file" - fi - done -fi - -if [ -z "$CATALINA_BASE" ]; then - if [ -n "$NAME" ]; then - if [ -z "$TOMCATS_BASE" ]; then - TOMCATS_BASE="/var/lib/tomcats/" - fi - CATALINA_BASE="${TOMCATS_BASE}${NAME}" - else - CATALINA_BASE="${CATALINA_HOME}" - fi -fi -VERBOSE=1 -set_javacmd -cd ${CATALINA_HOME} -# CLASSPATH munging -if [ ! -z "$CLASSPATH" ] ; then - CLASSPATH="$CLASSPATH": -fi - -if [ -n "$JSSE_HOME" ]; then - CLASSPATH="${CLASSPATH}$(build-classpath jcert jnet jsse 2>/dev/null):" -fi -CLASSPATH="${CLASSPATH}${CATALINA_HOME}/bin/bootstrap.jar" -CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar" - -# Since ECJ is no longer available, add ant, ant-launcher, and tools jars to the -# classpath so that runtime compilation of JSPs still works. -CLASSPATH="${CLASSPATH}:/usr/share/java/ant.jar:/usr/share/java/ant-launcher.jar" -CLASSPATH="${CLASSPATH}:/usr/lib/jvm/java/lib/tools.jar" - -if [ -z "$LOGGING_PROPERTIES" ] ; then - LOGGING_PROPERTIES="${CATALINA_BASE}/conf/logging.properties" - if [ ! -f "${LOGGING_PROPERTIES}" ] ; then - LOGGING_PROPERTIES="${CATALINA_HOME}/conf/logging.properties" - fi -fi diff --git a/SOURCES/tomcat-server b/SOURCES/tomcat-server deleted file mode 100644 index 17ae385..0000000 --- a/SOURCES/tomcat-server +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -. /usr/libexec/tomcat/preamble - -MAIN_CLASS=org.apache.catalina.startup.Bootstrap - -FLAGS="$JAVA_OPTS" -OPTIONS="-Dcatalina.base=$CATALINA_BASE \ --Dcatalina.home=$CATALINA_HOME \ --Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \ --Djava.io.tmpdir=$CATALINA_TMPDIR \ --Djava.util.logging.config.file=${LOGGING_PROPERTIES} \ --Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" - -if [ "$1" = "start" ] ; then - FLAGS="${FLAGS} $CATALINA_OPTS" - if [ "${SECURITY_MANAGER}" = "true" ] ; then - OPTIONS="${OPTIONS} \ - -Djava.security.manager \ - -Djava.security.policy==${CATALINA_BASE}/conf/catalina.policy" - fi - run start -elif [ "$1" = "stop" ] ; then - run stop -fi diff --git a/SPECS/pki-servlet-engine.spec b/SPECS/pki-servlet-engine.spec index 51a0b62..f67c3d5 100644 --- a/SPECS/pki-servlet-engine.spec +++ b/SPECS/pki-servlet-engine.spec @@ -28,438 +28,34 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -%global major_version 9 -%global minor_version 0 -%global micro_version 50 -%global redhat_version 00006 -%global packdname apache-tomcat-%{version}.redhat-%{redhat_version}-src - -# Specification versions -%global servletspec 4.0 -%global jspspec 2.3 -%global elspec 3.0 - -%global tcuid 91 - -# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/ -%global basedir %{_var}/lib/tomcat -%global appdir %{basedir}/webapps -%global homedir %{_datadir}/tomcat -%global bindir %{homedir}/bin -%global confdir %{_sysconfdir}/tomcat -%global libdir %{_javadir}/tomcat -%global logdir %{_var}/log/tomcat -%global cachedir %{_var}/cache/tomcat -%global tempdir %{cachedir}/temp -%global workdir %{cachedir}/work -%global _initrddir %{_sysconfdir}/init.d -%global _systemddir /lib/systemd/system - Name: pki-servlet-engine Epoch: 1 -Version: %{major_version}.%{minor_version}.%{micro_version} +Version: 9.0.62 Release: 1%{?dist} -Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API +Summary: Servlet Engine for PKI Group: System Environment/Daemons License: ASL 2.0 -URL: http://tomcat.apache.org/ - -#Source0: http://www.apache.org/dist/tomcat/tomcat-%%{major_version}/v%%{version}/src/%%{packdname}.tar.gz -Source0: tomcat-%{version}.redhat-%{redhat_version}-src.zip -Source1: tomcat-%{major_version}.%{minor_version}.conf -Source3: tomcat-%{major_version}.%{minor_version}.sysconfig -Source4: tomcat-%{major_version}.%{minor_version}.wrapper -Source6: tomcat-%{major_version}.%{minor_version}-digest.script -Source7: tomcat-%{major_version}.%{minor_version}-tool-wrapper.script -Source8: tomcat-%{major_version}.%{minor_version}.service -Source21: tomcat-functions -Source30: tomcat-preamble -Source31: tomcat-server -Source32: tomcat-named.service - -Patch0: tomcat-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch -Patch1: tomcat-%{major_version}.%{minor_version}-tomcat-users-webapp.patch -Patch2: tomcat-%{major_version}.%{minor_version}-catalina-policy.patch -Patch3: removeUnusedDependencies.patch - +URL: http://tomcat.apache.org BuildArch: noarch -BuildRequires: ant -BuildRequires: findutils -BuildRequires: java-devel >= 1:1.8.0 -BuildRequires: jpackage-utils >= 0:1.7.0 -BuildRequires: maven-local -BuildRequires: systemd-units +Requires: tomcat -Requires: ant -Requires: java-headless >= 1:1.8.0 -Requires: java-devel >= 1:1.8.0 -Requires: jpackage-utils -Requires: procps -Requires(pre): shadow-utils -Requires(post): chkconfig -Requires(postun): chkconfig -Requires(preun): chkconfig -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units -Requires(preun): coreutils -Requires: pki-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} +Obsoletes: pki-servlet-container < %{epoch}:%{version}-%{release} -# Add bundled so that everyone knows this is Tomcat -Provides: bundled(tomcat) = 9.0.30.redhat-%{redhat_version} - -Obsoletes: pki-servlet-container +Obsoletes: pki-servlet-4.0-api < %{epoch}:%{version}-%{release} +Provides: pki-servlet-4.0-api = %{epoch}:%{version}-%{release} %description -Tomcat is the servlet engine that is used in the official Reference -Implementation for the Java Servlet and JavaServer Pages technologies. -The Java Servlet and JavaServer Pages specifications are developed by -Sun under the Java Community Process. +The pki-servlet-engine package has been replaced by the tomcat package. +This package is provided for backward compatibility only, so it contains +no files and will be removed in the future. Please use the tomcat package +directly instead. -Tomcat is developed in an open and participatory environment and -released under the Apache Software License version 2.0. Tomcat is intended -to be a collaboration of the best-of-breed developers from around the world. - -%package -n pki-servlet-%{servletspec}-api -Group: Development/Libraries -Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes -Requires(post): chkconfig -Requires(postun): chkconfig - -%description -n pki-servlet-%{servletspec}-api -Apache Tomcat Servlet API Implementation Classes. - -%prep -%setup -q -n %{packdname} - -# remove pre-built binaries and windows files -find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name "*.gz" -o \ - -name "*.jar" -o -name "*.war" -o -name "*.zip" \) -delete - -%patch0 -p0 -%patch1 -p0 -%patch2 -p0 -%patch3 -p0 - -# Since we don't support ECJ in RHEL anymore, remove the class that requires it -%{__rm} -f java/org/apache/jasper/compiler/JDTCompiler.java - -%build -export OPT_JAR_LIST="xalan-j2-serializer" - -# Create a dummy file for later removal -touch HACK - -# who needs a build.properties file anyway -%{ant} -Dbase.path="." \ - -Dbuild.compiler="modern" \ - -Dcommons-daemon.jar="HACK" \ - -Dcommons-daemon.native.src.tgz="HACK" \ - -Djdt.jar="HACK" \ - -Dtomcat-native.tar.gz="HACK" \ - -Dtomcat-native.home="." \ - -Dcommons-daemon.native.win.mgr.exe="HACK" \ - -Dnsis.exe="HACK" \ - deploy dist-prepare dist-source - -# remove some jars that we don't need -#%%{__rm} output/build/bin/commons-daemon.jar - -%install -# build initial path structure -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_bindir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_initrddir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_systemddir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{appdir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{bindir} -%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir} -%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost -%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}/conf.d -/bin/echo "Place your custom *.conf files here. Shell expansion is supported." > ${RPM_BUILD_ROOT}%{confdir}/conf.d/README -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{libdir} -%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{logdir} -%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats -%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{homedir} -%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{tempdir} -%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{workdir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_unitdir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_libexecdir}/tomcat - -# move things into place -# First copy supporting libs to tomcat lib -pushd output/build - %{__cp} -a bin/*.{jar,xml} ${RPM_BUILD_ROOT}%{bindir} - %{__cp} -a conf/*.{policy,properties,xml,xsd} ${RPM_BUILD_ROOT}%{confdir} - %{__cp} -a lib/*.jar ${RPM_BUILD_ROOT}%{libdir} -popd - -%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ - -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \ - > ${RPM_BUILD_ROOT}%{confdir}/tomcat.conf -%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ - -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \ - > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/tomcat -%{__install} -m 0644 %{SOURCE4} \ - ${RPM_BUILD_ROOT}%{_sbindir}/tomcat -%{__install} -m 0644 %{SOURCE8} \ - ${RPM_BUILD_ROOT}%{_unitdir}/tomcat.service -%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ - -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \ - > ${RPM_BUILD_ROOT}%{_bindir}/tomcat-digest -%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ - -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \ - > ${RPM_BUILD_ROOT}%{_bindir}/tomcat-tool-wrapper - -%{__install} -m 0644 %{SOURCE21} \ - ${RPM_BUILD_ROOT}%{_libexecdir}/tomcat/functions -%{__install} -m 0755 %{SOURCE30} \ - ${RPM_BUILD_ROOT}%{_libexecdir}/tomcat/preamble -%{__install} -m 0755 %{SOURCE31} \ - ${RPM_BUILD_ROOT}%{_libexecdir}/tomcat/server -%{__install} -m 0644 %{SOURCE32} \ - ${RPM_BUILD_ROOT}%{_unitdir}/tomcat@.service - -# Substitute libnames in catalina-tasks.xml -sed -i \ - "s,el-api.jar,tomcat-el-%{elspec}-api.jar,; - s,servlet-api.jar,tomcat-servlet-%{servletspec}-api.jar,; - s,jsp-api.jar,tomcat-jsp-%{jspspec}-api.jar,;" \ - ${RPM_BUILD_ROOT}%{bindir}/catalina-tasks.xml - -# create jsp and servlet API symlinks -pushd ${RPM_BUILD_ROOT}%{_javadir} - %{__mv} tomcat/jsp-api.jar tomcat-jsp-%{jspspec}-api.jar - %{__ln_s} tomcat-jsp-%{jspspec}-api.jar tomcat-jsp-api.jar - %{__mv} tomcat/servlet-api.jar tomcat-servlet-%{servletspec}-api.jar - %{__ln_s} tomcat-servlet-%{servletspec}-api.jar tomcat-servlet-api.jar - %{__mv} tomcat/el-api.jar tomcat-el-%{elspec}-api.jar - %{__ln_s} tomcat-el-%{elspec}-api.jar tomcat-el-api.jar -popd - -pushd ${RPM_BUILD_ROOT}%{libdir} - # symlink JSP and servlet API jars - %{__ln_s} ../../java/tomcat-jsp-%{jspspec}-api.jar . - %{__ln_s} ../../java/tomcat-servlet-%{servletspec}-api.jar . - %{__ln_s} ../../java/tomcat-el-%{elspec}-api.jar . - - # Temporary copy the juli jar here from /usr/share/java/tomcat (for maven depmap) - %{__cp} -a ${RPM_BUILD_ROOT}%{bindir}/tomcat-juli.jar ./ -popd - -# symlink to the FHS locations where we've installed things -pushd ${RPM_BUILD_ROOT}%{homedir} - %{__ln_s} %{appdir} webapps - %{__ln_s} %{confdir} conf - %{__ln_s} %{libdir} lib - %{__ln_s} %{logdir} logs - %{__ln_s} %{tempdir} temp - %{__ln_s} %{workdir} work -popd - -# Install the maven metadata -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_mavenpomdir} -pushd output/dist/src/res/maven -for pom in *.pom; do - # fix-up version in all pom files - sed -i 's/@MAVEN.DEPLOY.VERSION@/%{version}/g' $pom -done - -# we won't install dbcp, juli-adapters and juli-extras pom files -for libname in annotations-api catalina jasper-el jasper catalina-ha; do - %{__cp} -a tomcat-$libname.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-$libname.pom - %add_maven_depmap JPP.tomcat-$libname.pom tomcat/$libname.jar -done - -# tomcat-util-scan -%{__cp} -a tomcat-util-scan.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-util-scan.pom -%add_maven_depmap JPP.tomcat-util-scan.pom tomcat/tomcat-util-scan.jar - -# tomcat-jni -%{__cp} -a tomcat-jni.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-jni.pom -%add_maven_depmap JPP.tomcat-jni.pom tomcat/tomcat-jni.jar - -# servlet-api jsp-api and el-api are not in tomcat subdir, since they are widely re-used elsewhere -%{__cp} -a tomcat-jsp-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-jsp-api.pom -%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -a "org.eclipse.jetty.orbit:javax.servlet.jsp" - -%{__cp} -a tomcat-el-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-el-api.pom -%add_maven_depmap JPP-tomcat-el-api.pom tomcat-el-api.jar -a "org.eclipse.jetty.orbit:javax.el" - -%{__cp} -a tomcat-servlet-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-servlet-api.pom -# Generate a depmap fragment javax.servlet:servlet-api pointing to -# tomcat-servlet-3.0-api for backwards compatibility -# also provide jetty depmap (originally in jetty package, but it's cleaner to have it here -%add_maven_depmap JPP-tomcat-servlet-api.pom tomcat-servlet-%{servletspec}-api.jar -f "tomcat-servlet-api" - -# replace temporary copy with link -%{__ln_s} -f $(abs2rel %{bindir}/tomcat-juli.jar %{libdir}) ${RPM_BUILD_ROOT}%{libdir}/ - -# two special pom where jar files have different names -%{__cp} -a tomcat-tribes.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-catalina-tribes.pom -%add_maven_depmap JPP.tomcat-catalina-tribes.pom tomcat/catalina-tribes.jar - -%{__cp} -a tomcat-coyote.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-coyote.pom -%add_maven_depmap JPP.tomcat-tomcat-coyote.pom tomcat/tomcat-coyote.jar - -%{__cp} -a tomcat-juli.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-juli.pom -%add_maven_depmap JPP.tomcat-tomcat-juli.pom tomcat/tomcat-juli.jar - -%{__cp} -a tomcat-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-api.pom -%add_maven_depmap JPP.tomcat-tomcat-api.pom tomcat/tomcat-api.jar - -%{__cp} -a tomcat-util.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-util.pom -%add_maven_depmap JPP.tomcat-tomcat-util.pom tomcat/tomcat-util.jar - -%{__cp} -a tomcat-jdbc.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-jdbc.pom -%add_maven_depmap JPP.tomcat-tomcat-jdbc.pom tomcat/tomcat-jdbc.jar - -# tomcat-websocket-api -%{__cp} -a tomcat-websocket-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-websocket-api.pom -%add_maven_depmap JPP.tomcat-websocket-api.pom tomcat/websocket-api.jar - -# tomcat-tomcat-websocket -%{__cp} -a tomcat-websocket.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-websocket.pom -%add_maven_depmap JPP.tomcat-tomcat-websocket.pom tomcat/tomcat-websocket.jar - -# tomcat-jaspic-api -%{__cp} -a tomcat-jaspic-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-jaspic-api.pom -%add_maven_depmap JPP.tomcat-jaspic-api.pom tomcat/jaspic-api.jar - -# Manually change the metadata filenames -%{__mv} ${RPM_BUILD_ROOT}%{_datadir}/maven-metadata/%{name}.xml ${RPM_BUILD_ROOT}%{_datadir}/maven-metadata/tomcat.xml -%{__mv} ${RPM_BUILD_ROOT}%{_datadir}/maven-metadata/%{name}-tomcat-servlet-api.xml ${RPM_BUILD_ROOT}%{_datadir}/maven-metadata/tomcat-servlet-api.xml - -%pre -# add the tomcat user and group -%{_sbindir}/groupadd -g %{tcuid} -r tomcat 2>/dev/null || : -%{_sbindir}/useradd -c "Apache Tomcat" -u %{tcuid} -g tomcat \ - -s /sbin/nologin -r -d %{homedir} tomcat 2>/dev/null || : - -%post -# install but don't activate -%systemd_post tomcat.service - -# Collapse all of the alternatives installations into one -%{_sbindir}/update-alternatives --install %{_javadir}/jsp.jar jsp \ - %{_javadir}/tomcat-jsp-%{jspspec}-api.jar 20200 -%{_sbindir}/update-alternatives --install %{_javadir}/servlet.jar servlet \ - %{_javadir}/tomcat-servlet-%{servletspec}-api.jar 30000 -%{_sbindir}/update-alternatives --install %{_javadir}/elspec.jar elspec \ - %{_javadir}/tomcat-el-%{elspec}-api.jar 20300 - -%preun -# clean tempdir and workdir on removal or upgrade -%{__rm} -rf %{workdir}/* %{tempdir}/* -%systemd_preun tomcat.service - -%postun -%systemd_postun_with_restart tomcat.service - -# Collapse all of the alternatives removals into one -if [ "$1" = "0" ]; then - %{_sbindir}/update-alternatives --remove jsp \ - %{_javadir}/tomcat-jsp-%{jspspec}-api.jar - %{_sbindir}/update-alternatives --remove servlet \ - %{_javadir}/tomcat-servlet-%{servletspec}-api.jar - %{_sbindir}/update-alternatives --remove elspec \ - %{_javadir}/tomcat-el-%{elspec}-api.jar -fi - -%files -%defattr(0664,root,tomcat,0755) -%doc {LICENSE,NOTICE,RELEASE*} -%attr(0755,root,root) %{_bindir}/tomcat-digest -%attr(0755,root,root) %{_bindir}/tomcat-tool-wrapper -%attr(0755,root,root) %{_sbindir}/tomcat -%attr(0644,root,root) %{_unitdir}/tomcat.service -%attr(0644,root,root) %{_unitdir}/tomcat@.service -%attr(0755,root,root) %dir %{_libexecdir}/tomcat -%attr(0755,root,root) %dir %{_localstatedir}/lib/tomcats -%attr(0644,root,root) %{_libexecdir}/tomcat/functions -%attr(0755,root,root) %{_libexecdir}/tomcat/preamble -%attr(0755,root,root) %{_libexecdir}/tomcat/server -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/tomcat -%attr(0755,root,tomcat) %dir %{basedir} -%attr(0755,root,tomcat) %dir %{confdir} - -%defattr(0664,tomcat,root,0770) -%attr(0770,tomcat,root) %dir %{logdir} - -%defattr(0664,root,tomcat,0770) -%attr(0770,root,tomcat) %dir %{cachedir} -%attr(0770,root,tomcat) %dir %{tempdir} -%attr(0770,root,tomcat) %dir %{workdir} - -%defattr(0644,root,tomcat,0775) -%attr(0775,root,tomcat) %dir %{appdir} -%attr(0775,root,tomcat) %dir %{confdir}/Catalina -%attr(0775,root,tomcat) %dir %{confdir}/Catalina/localhost -%attr(0755,root,tomcat) %dir %{confdir}/conf.d -%{confdir}/conf.d/README -%config(noreplace) %{confdir}/tomcat.conf -%config(noreplace) %{confdir}/*.policy -%config(noreplace) %{confdir}/*.properties -%config(noreplace) %{confdir}/context.xml -%config(noreplace) %{confdir}/server.xml -%attr(0640,root,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml -%attr(0664,root,tomcat) %{confdir}/tomcat-users.xsd -%attr(0664,root,tomcat) %config(noreplace) %{confdir}/jaspic-providers.xml -%attr(0664,root,tomcat) %{confdir}/jaspic-providers.xsd -%config(noreplace) %{confdir}/web.xml -%dir %{homedir} -%{bindir}/bootstrap.jar -%{bindir}/catalina-tasks.xml -%{homedir}/lib -%{homedir}/temp -%{homedir}/webapps -%{homedir}/work -%{homedir}/logs -%{homedir}/conf - -%defattr(-,root,root,-) -%dir %{libdir} -%{libdir}/*.jar -%{_javadir}/*.jar -%{bindir}/tomcat-juli.jar -%{_mavenpomdir}/JPP.tomcat-annotations-api.pom -%{_mavenpomdir}/JPP.tomcat-catalina-ha.pom -%{_mavenpomdir}/JPP.tomcat-catalina-tribes.pom -%{_mavenpomdir}/JPP.tomcat-catalina.pom -%{_mavenpomdir}/JPP.tomcat-jasper-el.pom -%{_mavenpomdir}/JPP.tomcat-jasper.pom -%{_mavenpomdir}/JPP.tomcat-tomcat-api.pom -%{_mavenpomdir}/JPP.tomcat-tomcat-juli.pom -%{_mavenpomdir}/JPP.tomcat-tomcat-coyote.pom -%{_mavenpomdir}/JPP.tomcat-tomcat-util.pom -%{_mavenpomdir}/JPP.tomcat-tomcat-jdbc.pom -%{_mavenpomdir}/JPP.tomcat-websocket-api.pom -%{_mavenpomdir}/JPP.tomcat-tomcat-websocket.pom -%{_mavenpomdir}/JPP.tomcat-jaspic-api.pom -%{_mavenpomdir}/JPP.tomcat-jni.pom -%{_mavenpomdir}/JPP.tomcat-util-scan.pom -%{_mavenpomdir}/JPP-tomcat-jsp-api.pom -%{_mavenpomdir}/JPP-tomcat-el-api.pom -%{_datadir}/maven-metadata/tomcat.xml -%exclude %{_javadir}/tomcat-servlet-%{servletspec}*.jar - -%files -n pki-servlet-%{servletspec}-api -%defattr(-,root,root,-) -%doc LICENSE -%{_javadir}/tomcat-servlet-%{servletspec}*.jar -%{_datadir}/maven-metadata/tomcat-servlet-api.xml -%{_mavenpomdir}/JPP-tomcat-servlet-api.pom +%files %changelog -* Fri Mar 04 2022 Coty Sutherland - 1:9.0.50-1 -- Update to JWS 5.6.1 distribution -- Resolves: rhbz#2057162 Rebase pki-servlet-engine to 9.0.50 +* Mon Feb 05 2024 Red Hat PKI Team - 1:9.0.62-1 +- Convert pki-servlet-engine into an alias for tomcat * Fri Jun 11 2021 Coty Sutherland - 1:9.0.30-3 - Reverts: rhbz#1969366 as it causes other issues