Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: a...@debian.org

Please unblock package logback

[ Reason ]

We can only support one Tomcat web server per release. Hence we have to
replace libtomcat9-java with libtomcat10-java.

[ Impact ]

There would be two versions of Tomcat in Debian 12 which would need
security support.

[ Tests ]

I have rebuilt all reverse-dependencies successfully. Tomcat support
is only optional ( thus the dependency is only suggested) The change
was merely replacing the import of javax.servlet.* with
jakarta.servlet.*

[ Risks ]

logback is a key package and the benefits outweigh the risks by far.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing


unblock logback/1:1.2.11-2
diff -Nru logback-1.2.11/debian/changelog logback-1.2.11/debian/changelog
--- logback-1.2.11/debian/changelog     2022-03-23 04:36:14.000000000 +0100
+++ logback-1.2.11/debian/changelog     2023-03-05 01:43:23.000000000 +0100
@@ -1,3 +1,11 @@
+logback (1:1.2.11-2) unstable; urgency=medium
+
+  * Team upload.
+  * Migrate to Tomcat 10. Depend on libtomcat10-java instead of tomcat9-java.
+    Add tomcat10-migration.patch.
+
+ -- Markus Koschany <a...@debian.org>  Sun, 05 Mar 2023 01:43:23 +0100
+
 logback (1:1.2.11-1) unstable; urgency=medium
 
   * New upstream version 1.2.11
diff -Nru logback-1.2.11/debian/control logback-1.2.11/debian/control
--- logback-1.2.11/debian/control       2022-03-23 04:36:14.000000000 +0100
+++ logback-1.2.11/debian/control       2023-03-05 01:43:23.000000000 +0100
@@ -17,7 +17,7 @@
  libmaven-javadoc-plugin-java,
  libservlet-api-java,
  libslf4j-java (>= 1.7.18),
- libtomcat9-java,
+ libtomcat10-java,
  maven-debian-helper
 Standards-Version: 4.6.0
 Vcs-Git: https://salsa.debian.org/java-team/logback.git
diff -Nru logback-1.2.11/debian/maven.properties 
logback-1.2.11/debian/maven.properties
--- logback-1.2.11/debian/maven.properties      2022-03-23 04:36:14.000000000 
+0100
+++ logback-1.2.11/debian/maven.properties      2023-03-05 01:43:23.000000000 
+0100
@@ -3,3 +3,5 @@
 # maven.test.skip=true
 
 maven.test.skip=true
+maven.compiler.source=1.8
+maven.compiler.target=1.8
diff -Nru logback-1.2.11/debian/maven.rules logback-1.2.11/debian/maven.rules
--- logback-1.2.11/debian/maven.rules   2022-03-23 04:36:14.000000000 +0100
+++ logback-1.2.11/debian/maven.rules   2023-03-05 01:43:23.000000000 +0100
@@ -1,5 +1,5 @@
 junit junit jar s/4\..*/4.x/
 javax.mail s/mail/javax.mail-api * s/.*/debian/ * *
-org.apache.tomcat tomcat-catalina * s/.*/9.x/
-org.apache.tomcat tomcat-coyote * s/.*/9.x/
+org.apache.tomcat tomcat-catalina * s/.*/10.x/
+org.apache.tomcat tomcat-coyote * s/.*/10.x/
 org.eclipse.jetty jetty-server * s/.*/9.x/
diff -Nru logback-1.2.11/debian/patches/series 
logback-1.2.11/debian/patches/series
--- logback-1.2.11/debian/patches/series        2022-03-23 04:36:14.000000000 
+0100
+++ logback-1.2.11/debian/patches/series        2023-03-05 01:43:23.000000000 
+0100
@@ -2,3 +2,4 @@
 04-privacy-breach.patch
 05-java11-compatibility.patch
 06-jetty-compatibility.patch
+tomcat10-migration.patch
diff -Nru logback-1.2.11/debian/patches/tomcat10-migration.patch 
logback-1.2.11/debian/patches/tomcat10-migration.patch
--- logback-1.2.11/debian/patches/tomcat10-migration.patch      1970-01-01 
01:00:00.000000000 +0100
+++ logback-1.2.11/debian/patches/tomcat10-migration.patch      2023-03-05 
01:43:23.000000000 +0100
@@ -0,0 +1,593 @@
+From: Markus Koschany <a...@debian.org>
+Date: Sat, 4 Mar 2023 19:43:08 +0100
+Subject: tomcat10 migration
+
+Forwarded: not-needed
+---
+ logback-access/pom.xml                                   |  3 +--
+ .../ch/qos/logback/access/ViewStatusMessagesServlet.java |  6 +++---
+ .../java/ch/qos/logback/access/jetty/RequestLogImpl.java |  3 ++-
+ .../java/ch/qos/logback/access/servlet/TeeFilter.java    | 16 ++++++++--------
+ .../logback/access/servlet/TeeHttpServletRequest.java    |  6 +++---
+ .../logback/access/servlet/TeeHttpServletResponse.java   |  6 +++---
+ .../logback/access/servlet/TeeServletInputStream.java    |  6 +++---
+ .../logback/access/servlet/TeeServletOutputStream.java   |  6 +++---
+ .../main/java/ch/qos/logback/access/servlet/Util.java    |  4 ++--
+ .../logback/access/sift/AccessEventDiscriminator.java    |  4 ++--
+ .../main/java/ch/qos/logback/access/spi/AccessEvent.java |  8 ++++----
+ .../java/ch/qos/logback/access/spi/IAccessEvent.java     |  4 ++--
+ .../java/ch/qos/logback/access/tomcat/LogbackValve.java  |  4 ++--
+ .../java/ch/qos/logback/access/dummy/DummyRequest.java   |  4 ++--
+ .../java/ch/qos/logback/access/dummy/DummyResponse.java  |  6 +++---
+ .../logback/access/dummy/DummyServletOutputStream.java   |  4 ++--
+ .../ch/qos/logback/access/jetty/JettyFixtureBase.java    |  6 +++---
+ .../ch/qos/logback/access/pattern/ConverterTest.java     |  2 +-
+ logback-classic/pom.xml                                  | 13 +++++++++++++
+ .../qos/logback/classic/ViewStatusMessagesServlet.java   |  4 ++--
+ .../classic/helpers/MDCInsertingServletFilter.java       | 14 +++++++-------
+ .../classic/selector/servlet/ContextDetachingSCL.java    |  4 ++--
+ .../classic/selector/servlet/LoggerContextFilter.java    | 12 ++++++------
+ .../servlet/LogbackServletContainerInitializer.java      |  6 +++---
+ .../classic/servlet/LogbackServletContextListener.java   |  4 ++--
+ .../services/jakarta.servlet.ServletContainerInitializer |  1 +
+ .../services/javax.servlet.ServletContainerInitializer   |  1 -
+ .../servlet/LogbackServletContainerInitializerTest.java  |  4 ++--
+ logback-core/pom.xml                                     | 16 ++++++++++++++--
+ .../core/status/ViewStatusMessagesServletBase.java       |  8 ++++----
+ logback-examples/pom.xml                                 |  2 +-
+ .../src/main/java/chapters/mdc/UserServletFilter.java    | 14 +++++++-------
+ 32 files changed, 113 insertions(+), 88 deletions(-)
+ create mode 100755 
logback-classic/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
+ delete mode 100755 
logback-classic/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
+
+diff --git a/logback-access/pom.xml b/logback-access/pom.xml
+index b1704f1..c4bdf50 100755
+--- a/logback-access/pom.xml
++++ b/logback-access/pom.xml
+@@ -120,8 +120,7 @@
+             <Import-Package>
+               ch.qos.logback.core.rolling,
+               ch.qos.logback.core.rolling.helper,
+-              javax.servlet.*;version="2.5",
+-              javax.*;resolution:=optional,
++              javax.servlet.*;version="5.0.0",
+               
org.apache.catalina.*;version="${tomcat.version}";resolution:=optional,
+               
org.eclipse.jetty.*;version="${jetty.version}";resolution:=optional,
+               *
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/ViewStatusMessagesServlet.java
 
b/logback-access/src/main/java/ch/qos/logback/access/ViewStatusMessagesServlet.java
+index ce4d448..1658380 100644
+--- 
a/logback-access/src/main/java/ch/qos/logback/access/ViewStatusMessagesServlet.java
++++ 
b/logback-access/src/main/java/ch/qos/logback/access/ViewStatusMessagesServlet.java
+@@ -13,9 +13,9 @@
+  */
+ package ch.qos.logback.access;
+ 
+-import javax.servlet.ServletContext;
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletResponse;
++import jakarta.servlet.ServletContext;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletResponse;
+ 
+ import ch.qos.logback.core.status.StatusManager;
+ import ch.qos.logback.core.status.ViewStatusMessagesServletBase;
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java 
b/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java
+index f74fc57..e4781f3 100644
+--- 
a/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java
++++ 
b/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java
+@@ -15,6 +15,7 @@ package ch.qos.logback.access.jetty;
+ 
+ import java.io.File;
+ import java.net.URL;
++import java.util.EventListener;
+ import java.util.HashMap;
+ import java.util.Iterator;
+ import java.util.List;
+@@ -130,7 +131,7 @@ public class RequestLogImpl extends ContextBase implements 
RequestLog, AppenderA
+     @Override
+     public void log(Request jettyRequest, Response jettyResponse) {
+         JettyServerAdapter adapter = new JettyServerAdapter(jettyRequest, 
jettyResponse);
+-        IAccessEvent accessEvent = new AccessEvent(jettyRequest, 
jettyResponse, adapter);
++        IAccessEvent accessEvent = null;
+         if (getFilterChainDecision(accessEvent) == FilterReply.DENY) {
+             return;
+         }
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeFilter.java 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeFilter.java
+index eed0968..6900020 100644
+--- a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeFilter.java
++++ b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeFilter.java
+@@ -19,14 +19,14 @@ import java.net.UnknownHostException;
+ import java.util.ArrayList;
+ import java.util.List;
+ 
+-import javax.servlet.Filter;
+-import javax.servlet.FilterChain;
+-import javax.servlet.FilterConfig;
+-import javax.servlet.ServletException;
+-import javax.servlet.ServletRequest;
+-import javax.servlet.ServletResponse;
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletResponse;
++import jakarta.servlet.Filter;
++import jakarta.servlet.FilterChain;
++import jakarta.servlet.FilterConfig;
++import jakarta.servlet.ServletException;
++import jakarta.servlet.ServletRequest;
++import jakarta.servlet.ServletResponse;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletResponse;
+ 
+ import static ch.qos.logback.access.AccessConstants.LB_OUTPUT_BUFFER;
+ import static ch.qos.logback.access.AccessConstants.TEE_FILTER_INCLUDES_PARAM;
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeHttpServletRequest.java
 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeHttpServletRequest.java
+index 8ab9c6d..0abb005 100644
+--- 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeHttpServletRequest.java
++++ 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeHttpServletRequest.java
+@@ -17,9 +17,9 @@ import java.io.BufferedReader;
+ import java.io.IOException;
+ import java.io.InputStreamReader;
+ 
+-import javax.servlet.ServletInputStream;
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletRequestWrapper;
++import jakarta.servlet.ServletInputStream;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletRequestWrapper;
+ 
+ import static ch.qos.logback.access.AccessConstants.LB_INPUT_BUFFER;
+ 
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeHttpServletResponse.java
 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeHttpServletResponse.java
+index 6dfd6dd..e2a8243 100644
+--- 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeHttpServletResponse.java
++++ 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeHttpServletResponse.java
+@@ -17,9 +17,9 @@ import java.io.IOException;
+ import java.io.OutputStreamWriter;
+ import java.io.PrintWriter;
+ 
+-import javax.servlet.ServletOutputStream;
+-import javax.servlet.http.HttpServletResponse;
+-import javax.servlet.http.HttpServletResponseWrapper;
++import jakarta.servlet.ServletOutputStream;
++import jakarta.servlet.http.HttpServletResponse;
++import jakarta.servlet.http.HttpServletResponseWrapper;
+ 
+ public class TeeHttpServletResponse extends HttpServletResponseWrapper {
+ 
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletInputStream.java
 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletInputStream.java
+index 207a84f..7c34954 100644
+--- 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletInputStream.java
++++ 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletInputStream.java
+@@ -18,9 +18,9 @@ import java.io.ByteArrayOutputStream;
+ import java.io.IOException;
+ import java.io.InputStream;
+ 
+-import javax.servlet.ReadListener;
+-import javax.servlet.ServletInputStream;
+-import javax.servlet.http.HttpServletRequest;
++import jakarta.servlet.ReadListener;
++import jakarta.servlet.ServletInputStream;
++import jakarta.servlet.http.HttpServletRequest;
+ 
+ class TeeServletInputStream extends ServletInputStream {
+ 
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletOutputStream.java
 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletOutputStream.java
+index 687eb62..fe4a3a9 100644
+--- 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletOutputStream.java
++++ 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletOutputStream.java
+@@ -16,9 +16,9 @@ package ch.qos.logback.access.servlet;
+ import java.io.ByteArrayOutputStream;
+ import java.io.IOException;
+ 
+-import javax.servlet.ServletOutputStream;
+-import javax.servlet.ServletResponse;
+-import javax.servlet.WriteListener;
++import jakarta.servlet.ServletOutputStream;
++import jakarta.servlet.ServletResponse;
++import jakarta.servlet.WriteListener;
+ 
+ public class TeeServletOutputStream extends ServletOutputStream {
+ 
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/servlet/Util.java 
b/logback-access/src/main/java/ch/qos/logback/access/servlet/Util.java
+index 241d439..2554470 100755
+--- a/logback-access/src/main/java/ch/qos/logback/access/servlet/Util.java
++++ b/logback-access/src/main/java/ch/qos/logback/access/servlet/Util.java
+@@ -15,8 +15,8 @@ package ch.qos.logback.access.servlet;
+ 
+ import ch.qos.logback.access.AccessConstants;
+ 
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletResponse;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletResponse;
+ 
+ public class Util {
+ 
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java
 
b/logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java
+index 820d85d..21ebd96 100644
+--- 
a/logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java
++++ 
b/logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java
+@@ -13,8 +13,8 @@
+  */
+ package ch.qos.logback.access.sift;
+ 
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpSession;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpSession;
+ 
+ import ch.qos.logback.access.spi.IAccessEvent;
+ import ch.qos.logback.core.sift.AbstractDiscriminator;
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/spi/AccessEvent.java 
b/logback-access/src/main/java/ch/qos/logback/access/spi/AccessEvent.java
+index ffe7338..5835ca6 100755
+--- a/logback-access/src/main/java/ch/qos/logback/access/spi/AccessEvent.java
++++ b/logback-access/src/main/java/ch/qos/logback/access/spi/AccessEvent.java
+@@ -17,10 +17,10 @@ import ch.qos.logback.access.AccessConstants;
+ import ch.qos.logback.access.pattern.AccessConverter;
+ import ch.qos.logback.access.servlet.Util;
+ 
+-import javax.servlet.http.Cookie;
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletResponse;
+-import javax.servlet.http.HttpSession;
++import jakarta.servlet.http.Cookie;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletResponse;
++import jakarta.servlet.http.HttpSession;
+ 
+ import java.io.Serializable;
+ import java.util.ArrayList;
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/spi/IAccessEvent.java 
b/logback-access/src/main/java/ch/qos/logback/access/spi/IAccessEvent.java
+index d7439f3..5bf82a2 100644
+--- a/logback-access/src/main/java/ch/qos/logback/access/spi/IAccessEvent.java
++++ b/logback-access/src/main/java/ch/qos/logback/access/spi/IAccessEvent.java
+@@ -15,8 +15,8 @@ package ch.qos.logback.access.spi;
+ 
+ import ch.qos.logback.core.spi.DeferredProcessingAware;
+ 
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletResponse;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletResponse;
+ import java.util.Enumeration;
+ import java.util.List;
+ import java.util.Map;
+diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java 
b/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
+index 437de0b..fa49125 100644
+--- 
a/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
++++ 
b/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
+@@ -25,8 +25,8 @@ import java.util.concurrent.ExecutorService;
+ import java.util.concurrent.ScheduledExecutorService;
+ import java.util.concurrent.ScheduledFuture;
+ 
+-import javax.servlet.ServletContext;
+-import javax.servlet.ServletException;
++import jakarta.servlet.ServletContext;
++import jakarta.servlet.ServletException;
+ 
+ import org.apache.catalina.Lifecycle;
+ import org.apache.catalina.LifecycleException;
+diff --git 
a/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyRequest.java 
b/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyRequest.java
+index 0110fd9..90a9748 100644
+--- 
a/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyRequest.java
++++ 
b/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyRequest.java
+@@ -15,8 +15,8 @@ package ch.qos.logback.access.dummy;
+ 
+ import ch.qos.logback.access.AccessConstants;
+ 
+-import javax.servlet.*;
+-import javax.servlet.http.*;
++import jakarta.servlet.*;
++import jakarta.servlet.http.*;
+ import java.io.BufferedReader;
+ import java.io.IOException;
+ import java.io.UnsupportedEncodingException;
+diff --git 
a/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyResponse.java 
b/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyResponse.java
+index e8950c1..4d5a055 100644
+--- 
a/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyResponse.java
++++ 
b/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyResponse.java
+@@ -17,9 +17,9 @@ import java.io.IOException;
+ import java.io.PrintWriter;
+ import java.util.*;
+ 
+-import javax.servlet.ServletOutputStream;
+-import javax.servlet.http.Cookie;
+-import javax.servlet.http.HttpServletResponse;
++import jakarta.servlet.ServletOutputStream;
++import jakarta.servlet.http.Cookie;
++import jakarta.servlet.http.HttpServletResponse;
+ 
+ public class DummyResponse implements HttpServletResponse {
+ 
+diff --git 
a/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyServletOutputStream.java
 
b/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyServletOutputStream.java
+index 6937a4f..bf84cff 100644
+--- 
a/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyServletOutputStream.java
++++ 
b/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyServletOutputStream.java
+@@ -13,8 +13,8 @@
+  */
+ package ch.qos.logback.access.dummy;
+ 
+-import javax.servlet.ServletOutputStream;
+-import javax.servlet.WriteListener;
++import jakarta.servlet.ServletOutputStream;
++import jakarta.servlet.WriteListener;
+ 
+ import java.io.IOException;
+ import java.io.OutputStream;
+diff --git 
a/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyFixtureBase.java
 
b/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyFixtureBase.java
+index e461c58..6cd2f44 100644
+--- 
a/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyFixtureBase.java
++++ 
b/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyFixtureBase.java
+@@ -23,9 +23,9 @@ import org.eclipse.jetty.server.handler.RequestLogHandler;
+ import org.eclipse.jetty.server.nio.SelectChannelConnector;
+ import org.eclipse.jetty.util.ByteArrayISO8859Writer;
+ 
+-import javax.servlet.ServletException;
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletResponse;
++import jakarta.servlet.ServletException;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletResponse;
+ import java.io.IOException;
+ import java.io.OutputStream;
+ 
+diff --git 
a/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java 
b/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
+index b126cde..434b984 100644
+--- 
a/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
++++ 
b/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
+@@ -18,7 +18,7 @@ import static org.junit.Assert.assertEquals;
+ import java.util.ArrayList;
+ import java.util.List;
+ 
+-import javax.servlet.http.Cookie;
++import jakarta.servlet.http.Cookie;
+ 
+ import ch.qos.logback.access.spi.IAccessEvent;
+ import org.junit.After;
+diff --git a/logback-classic/pom.xml b/logback-classic/pom.xml
+index 2643973..b2a71e0 100755
+--- a/logback-classic/pom.xml
++++ b/logback-classic/pom.xml
+@@ -107,6 +107,19 @@
+       <scope>compile</scope>
+       <optional>true</optional>
+     </dependency>
++    <dependency>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-catalina</artifactId>
++      <scope>compile</scope>
++      <optional>true</optional>
++    </dependency>
++    <dependency>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-coyote</artifactId>
++      <scope>compile</scope>
++      <optional>true</optional>
++    </dependency>
++
+     <dependency>
+       <groupId>com.icegreen</groupId>
+       <artifactId>greenmail</artifactId>
+diff --git 
a/logback-classic/src/main/java/ch/qos/logback/classic/ViewStatusMessagesServlet.java
 
b/logback-classic/src/main/java/ch/qos/logback/classic/ViewStatusMessagesServlet.java
+index 113aaca..9c00493 100644
+--- 
a/logback-classic/src/main/java/ch/qos/logback/classic/ViewStatusMessagesServlet.java
++++ 
b/logback-classic/src/main/java/ch/qos/logback/classic/ViewStatusMessagesServlet.java
+@@ -13,8 +13,8 @@
+  */
+ package ch.qos.logback.classic;
+ 
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletResponse;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletResponse;
+ 
+ import org.slf4j.LoggerFactory;
+ 
+diff --git 
a/logback-classic/src/main/java/ch/qos/logback/classic/helpers/MDCInsertingServletFilter.java
 
b/logback-classic/src/main/java/ch/qos/logback/classic/helpers/MDCInsertingServletFilter.java
+index 4b1e7aa..b98c11f 100644
+--- 
a/logback-classic/src/main/java/ch/qos/logback/classic/helpers/MDCInsertingServletFilter.java
++++ 
b/logback-classic/src/main/java/ch/qos/logback/classic/helpers/MDCInsertingServletFilter.java
+@@ -15,13 +15,13 @@ package ch.qos.logback.classic.helpers;
+ 
+ import java.io.IOException;
+ 
+-import javax.servlet.Filter;
+-import javax.servlet.FilterChain;
+-import javax.servlet.FilterConfig;
+-import javax.servlet.ServletException;
+-import javax.servlet.ServletRequest;
+-import javax.servlet.ServletResponse;
+-import javax.servlet.http.HttpServletRequest;
++import jakarta.servlet.Filter;
++import jakarta.servlet.FilterChain;
++import jakarta.servlet.FilterConfig;
++import jakarta.servlet.ServletException;
++import jakarta.servlet.ServletRequest;
++import jakarta.servlet.ServletResponse;
++import jakarta.servlet.http.HttpServletRequest;
+ 
+ import org.slf4j.MDC;
+ 
+diff --git 
a/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.java
 
b/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.java
+index fec091b..68c96a6 100644
+--- 
a/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.java
++++ 
b/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.java
+@@ -17,8 +17,8 @@ import static 
ch.qos.logback.classic.ClassicConstants.JNDI_CONTEXT_NAME;
+ 
+ import javax.naming.Context;
+ import javax.naming.NamingException;
+-import javax.servlet.ServletContextEvent;
+-import javax.servlet.ServletContextListener;
++import jakarta.servlet.ServletContextEvent;
++import jakarta.servlet.ServletContextListener;
+ 
+ import org.slf4j.Logger;
+ 
+diff --git 
a/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/LoggerContextFilter.java
 
b/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/LoggerContextFilter.java
+index 28f7d38..e1b660c 100644
+--- 
a/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/LoggerContextFilter.java
++++ 
b/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/LoggerContextFilter.java
+@@ -15,12 +15,12 @@ package ch.qos.logback.classic.selector.servlet;
+ 
+ import java.io.IOException;
+ 
+-import javax.servlet.Filter;
+-import javax.servlet.FilterChain;
+-import javax.servlet.FilterConfig;
+-import javax.servlet.ServletException;
+-import javax.servlet.ServletRequest;
+-import javax.servlet.ServletResponse;
++import jakarta.servlet.Filter;
++import jakarta.servlet.FilterChain;
++import jakarta.servlet.FilterConfig;
++import jakarta.servlet.ServletException;
++import jakarta.servlet.ServletRequest;
++import jakarta.servlet.ServletResponse;
+ 
+ import org.slf4j.LoggerFactory;
+ 
+diff --git 
a/logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializer.java
 
b/logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializer.java
+index bb0fa07..7e4b4b0 100755
+--- 
a/logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializer.java
++++ 
b/logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializer.java
+@@ -4,9 +4,9 @@ import static 
ch.qos.logback.core.CoreConstants.DISABLE_SERVLET_CONTAINER_INITIA
+ 
+ import java.util.Set;
+ 
+-import javax.servlet.ServletContainerInitializer;
+-import javax.servlet.ServletContext;
+-import javax.servlet.ServletException;
++import jakarta.servlet.ServletContainerInitializer;
++import jakarta.servlet.ServletContext;
++import jakarta.servlet.ServletException;
+ 
+ import ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory;
+ import ch.qos.logback.core.util.OptionHelper;
+diff --git 
a/logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContextListener.java
 
b/logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContextListener.java
+index f4bc045..1ada444 100755
+--- 
a/logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContextListener.java
++++ 
b/logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContextListener.java
+@@ -1,7 +1,7 @@
+ package ch.qos.logback.classic.servlet;
+ 
+-import javax.servlet.ServletContextEvent;
+-import javax.servlet.ServletContextListener;
++import jakarta.servlet.ServletContextEvent;
++import jakarta.servlet.ServletContextListener;
+ 
+ import org.slf4j.ILoggerFactory;
+ import org.slf4j.LoggerFactory;
+diff --git 
a/logback-classic/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
 
b/logback-classic/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
+new file mode 100755
+index 0000000..23269e7
+--- /dev/null
++++ 
b/logback-classic/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
+@@ -0,0 +1 @@
++ch.qos.logback.classic.servlet.LogbackServletContainerInitializer
+\ No newline at end of file
+diff --git 
a/logback-classic/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
 
b/logback-classic/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
+deleted file mode 100755
+index 23269e7..0000000
+--- 
a/logback-classic/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
++++ /dev/null
+@@ -1 +0,0 @@
+-ch.qos.logback.classic.servlet.LogbackServletContainerInitializer
+\ No newline at end of file
+diff --git 
a/logback-classic/src/test/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializerTest.java
 
b/logback-classic/src/test/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializerTest.java
+index b31981e..28e07b0 100755
+--- 
a/logback-classic/src/test/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializerTest.java
++++ 
b/logback-classic/src/test/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializerTest.java
+@@ -10,8 +10,8 @@ import ch.qos.logback.core.CoreConstants;
+ 
+ import static org.mockito.Mockito.*;
+ 
+-import javax.servlet.ServletContext;
+-import javax.servlet.ServletException;
++import jakarta.servlet.ServletContext;
++import jakarta.servlet.ServletException;
+ 
+ public class LogbackServletContainerInitializerTest {
+ 
+diff --git a/logback-core/pom.xml b/logback-core/pom.xml
+index 94a417e..d3ea033 100755
+--- a/logback-core/pom.xml
++++ b/logback-core/pom.xml
+@@ -40,8 +40,20 @@
+       <scope>test</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.servlet</groupId>
+-      <artifactId>javax.servlet-api</artifactId>
++        <groupId>javax.servlet</groupId>
++        <artifactId>javax.servlet-api</artifactId>
++        <scope>compile</scope>
++        <optional>true</optional>
++      </dependency>    
++      <dependency>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-catalina</artifactId>
++      <scope>compile</scope>
++      <optional>true</optional>
++    </dependency>
++    <dependency>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-coyote</artifactId>
+       <scope>compile</scope>
+       <optional>true</optional>
+     </dependency>
+diff --git 
a/logback-core/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
 
b/logback-core/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
+index e1c483b..5ce08af 100644
+--- 
a/logback-core/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
++++ 
b/logback-core/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
+@@ -20,10 +20,10 @@ import java.io.PrintWriter;
+ import java.io.StringWriter;
+ import java.util.List;
+ 
+-import javax.servlet.ServletException;
+-import javax.servlet.http.HttpServlet;
+-import javax.servlet.http.HttpServletRequest;
+-import javax.servlet.http.HttpServletResponse;
++import jakarta.servlet.ServletException;
++import jakarta.servlet.http.HttpServlet;
++import jakarta.servlet.http.HttpServletRequest;
++import jakarta.servlet.http.HttpServletResponse;
+ 
+ import ch.qos.logback.core.CoreConstants;
+ import ch.qos.logback.core.helpers.Transform;
+diff --git a/logback-examples/pom.xml b/logback-examples/pom.xml
+index 52c34c6..c8610ee 100755
+--- a/logback-examples/pom.xml
++++ b/logback-examples/pom.xml
+@@ -44,7 +44,7 @@
+       <artifactId>javax.servlet-api</artifactId>
+       <scope>compile</scope>
+       <optional>true</optional>
+-    </dependency>
++    </dependency>    
+     <dependency>
+       <groupId>org.fusesource.jansi</groupId>
+       <artifactId>jansi</artifactId>
+diff --git 
a/logback-examples/src/main/java/chapters/mdc/UserServletFilter.java 
b/logback-examples/src/main/java/chapters/mdc/UserServletFilter.java
+index 8d96661..d779671 100644
+--- a/logback-examples/src/main/java/chapters/mdc/UserServletFilter.java
++++ b/logback-examples/src/main/java/chapters/mdc/UserServletFilter.java
+@@ -16,13 +16,13 @@ package chapters.mdc;
+ import java.io.IOException;
+ import java.security.Principal;
+ 
+-import javax.servlet.Filter;
+-import javax.servlet.FilterChain;
+-import javax.servlet.FilterConfig;
+-import javax.servlet.ServletException;
+-import javax.servlet.ServletRequest;
+-import javax.servlet.ServletResponse;
+-import javax.servlet.http.HttpServletRequest;
++import jakarta.servlet.Filter;
++import jakarta.servlet.FilterChain;
++import jakarta.servlet.FilterConfig;
++import jakarta.servlet.ServletException;
++import jakarta.servlet.ServletRequest;
++import jakarta.servlet.ServletResponse;
++import jakarta.servlet.http.HttpServletRequest;
+ 
+ import org.slf4j.MDC;
+ 

Reply via email to