Bug#867247: tomcat8: Package tomcat8 or libtomcat8-java should depends package libservlet3.1-java

Detlev Brodowski debianfan at brodix.de
Wed Jul 5 06:30:08 UTC 2017


Package: tomcat8
Version: 8.5.16-1
Severity: normal
Tags: patch

Dear Tomcat Maintainers,

t the moment a whole installation of the tomcat8 packages does not require the installation of libservlet3.1-java caused by missing of a dependency within the control file.

The following error messages occured in catalina.out after Tomcat has been started.

5-Jul-2017 05:44:03.147 WARNING [localhost-startStop-1] org.apache.tomcat.util.scan.StandardJarScanner.scan Failed to scan [file:/usr/share/java/el-api-3.0.jar] from classloader hierarchy
 java.io.FileNotFoundException: /usr/share/java/el-api-3.0.jar (No such file or directory)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:219)
        at java.util.zip.ZipFile.<init>(ZipFile.java:149)
        at java.util.jar.JarFile.<init>(JarFile.java:166)
        at java.util.jar.JarFile.<init>(JarFile.java:130)
        at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60)
        at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49)
        at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338)
        at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288)
        at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262)
        at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)
        at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:101)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1144)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1878)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

05-Jul-2017 05:44:03.147 WARNING [localhost-startStop-1] org.apache.tomcat.util.scan.StandardJarScanner.scan Failed to scan [file:/usr/share/java/jsp-api-2.3.jar] from classloader hierarchy
 java.io.FileNotFoundException: /usr/share/java/jsp-api-2.3.jar (No such file or directory)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:219)
        at java.util.zip.ZipFile.<init>(ZipFile.java:149)
        at java.util.jar.JarFile.<init>(JarFile.java:166)
        at java.util.jar.JarFile.<init>(JarFile.java:130)
        at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60)
        at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49)
        at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338)
        at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288)
        at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262)
        at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)
        at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:101)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1144)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1878)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

I don't know really if 1) the package tomcat8 should contain the dependency to libservlet3.1-java or 2) analogously src:tomcat7 in Jessie the package libtomcat8-java should contain the dependency to libservlet3.1-java.


Furthermore the attached patch contains a second adjustment.
I don't know if there exists a convention regarding the dependency linking between the libxxx-java packages with their corresponding libxxx-java-doc packages, but imo the libservlet3.1-java should suggest libservlet3.1-java-doc but not vice versa.


Kind regards
Detlev


-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.11.0-1-amd64 (SMP w/6 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=de:en_US (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages tomcat8 depends on:
ii  adduser         3.115
ii  debconf         1.5.62
ii  lsb-base        9.20161125
ii  tomcat8-common  8.5.16-1
ii  ucf             3.0036

Versions of packages tomcat8 recommends:
pn  authbind       <none>
ii  libtcnative-1  1.2.12-2

Versions of packages tomcat8 suggests:
ii  tomcat8-admin     8.5.16-1
ii  tomcat8-docs      8.5.16-1
ii  tomcat8-examples  8.5.16-1
ii  tomcat8-user      8.5.16-1

-- Configuration Files:
/etc/tomcat8/catalina.properties [Errno 13] Keine Berechtigung: '/etc/tomcat8/catalina.properties'
/etc/tomcat8/context.xml [Errno 13] Keine Berechtigung: '/etc/tomcat8/context.xml'
/etc/tomcat8/jaspic-providers.xml [Errno 13] Keine Berechtigung: '/etc/tomcat8/jaspic-providers.xml'
/etc/tomcat8/logging.properties [Errno 13] Keine Berechtigung: '/etc/tomcat8/logging.properties'
/etc/tomcat8/policy.d/01system.policy [Errno 13] Keine Berechtigung: '/etc/tomcat8/policy.d/01system.policy'
/etc/tomcat8/policy.d/02debian.policy [Errno 13] Keine Berechtigung: '/etc/tomcat8/policy.d/02debian.policy'
/etc/tomcat8/policy.d/03catalina.policy [Errno 13] Keine Berechtigung: '/etc/tomcat8/policy.d/03catalina.policy'
/etc/tomcat8/policy.d/04webapps.policy [Errno 13] Keine Berechtigung: '/etc/tomcat8/policy.d/04webapps.policy'
/etc/tomcat8/policy.d/50local.policy [Errno 13] Keine Berechtigung: '/etc/tomcat8/policy.d/50local.policy'
/etc/tomcat8/server.xml [Errno 13] Keine Berechtigung: '/etc/tomcat8/server.xml'
/etc/tomcat8/tomcat-users.xml [Errno 13] Keine Berechtigung: '/etc/tomcat8/tomcat-users.xml'
/etc/tomcat8/web.xml [Errno 13] Keine Berechtigung: '/etc/tomcat8/web.xml'

-- debconf information:
* tomcat8/javaopts: -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
* tomcat8/username: tomcat8
* tomcat8/groupname: tomcat8
-------------- next part --------------
diff -uNr a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -43,8 +43,13 @@
 
 Package: tomcat8
 Architecture: all
-Depends: adduser, lsb-base (>= 3.0-6), tomcat8-common (>= ${source:Version}), ucf, ${misc:Depends}
-Recommends: authbind, libtcnative-1 (>= 1.2.6~)
+Depends: adduser,
+         lsb-base (>= 3.0-6),
+         tomcat8-common (>= ${source:Version}),
+         ucf,
+         ${misc:Depends}
+Recommends: authbind,
+            libtcnative-1 (>= 1.2.6~)
 Suggests: tomcat8-admin (>= ${source:Version}),
           tomcat8-docs (>= ${source:Version}),
           tomcat8-examples (>= ${source:Version}),
@@ -63,7 +68,9 @@
 
 Package: tomcat8-user
 Architecture: all
-Depends: netcat, tomcat8-common (>= ${source:Version}), ${misc:Depends}
+Depends: netcat,
+         tomcat8-common (>= ${source:Version}),
+         ${misc:Depends}
 Suggests: tomcat8 (>= ${source:Version}),
           tomcat8-admin (>= ${source:Version}),
           tomcat8-docs (>= ${source:Version}),
@@ -79,8 +86,11 @@
 
 Package: libtomcat8-java
 Architecture: all
-Depends: libecj-java (>= 3.11.0), ${misc:Depends}
-Recommends: libcommons-dbcp-java, libcommons-pool-java
+Depends: libecj-java (>= 3.11.0),
+         libservlet3.1-java (>= ${source:Version}),
+         ${misc:Depends}
+Recommends: libcommons-dbcp-java,
+            libcommons-pool-java
 Suggests: tomcat8 (>= ${source:Version})
 Description: Apache Tomcat 8 - Servlet and JSP engine -- core libraries
  Apache Tomcat implements the Java Servlet and the JavaServer Pages (JSP)
@@ -92,7 +102,8 @@
 
 Package: libtomcat8-embed-java
 Architecture: all
-Depends: libecj-java (>= 3.11.0), ${misc:Depends}
+Depends: libecj-java (>= 3.11.0),
+         ${misc:Depends}
 Description: Apache Tomcat 8 - Servlet and JSP engine -- embed libraries
  Apache Tomcat implements the Java Servlet and the JavaServer Pages (JSP)
  specifications from Oracle, and provides a "pure Java" HTTP web
@@ -104,6 +115,7 @@
 Package: libservlet3.1-java
 Architecture: all
 Depends: ${misc:Depends}
+Suggests: libservlet3.1-java-doc (>= ${source:Version})
 Description: Servlet 3.1, JSP 2.3, EL 3.0 and WebSocket 1.0 Java API classes
  Apache Tomcat implements the Java Servlet and the JavaServer Pages (JSP)
  specifications from Oracle, and provides a "pure Java" HTTP web
@@ -115,7 +127,6 @@
 Section: doc
 Architecture: all
 Depends: ${misc:Depends}
-Suggests: libservlet3.1-java (>= ${source:Version})
 Description: Servlet 3.1, JSP 2.3, EL 3.0 and WebSocket 1.0 Java API documentation
  Apache Tomcat implements the Java Servlet and the JavaServer Pages (JSP)
  specifications from Oracle, and provides a "pure Java" HTTP web
@@ -125,7 +136,8 @@
 
 Package: tomcat8-admin
 Architecture: all
-Depends: tomcat8-common (>= ${source:Version}), ${misc:Depends}
+Depends: tomcat8-common (>= ${source:Version}),
+         ${misc:Depends}
 Description: Apache Tomcat 8 - Servlet and JSP engine -- admin web applications
  Apache Tomcat implements the Java Servlet and the JavaServer Pages (JSP)
  specifications from Oracle, and provides a "pure Java" HTTP web
@@ -149,7 +161,8 @@
 Package: tomcat8-docs
 Section: doc
 Architecture: all
-Depends: tomcat8-common (>= ${source:Version}), ${misc:Depends}
+Depends: tomcat8-common (>= ${source:Version}),
+         ${misc:Depends}
 Description: Apache Tomcat 8 - Servlet and JSP engine -- documentation
  Apache Tomcat implements the Java Servlet and the JavaServer Pages (JSP)
  specifications from Oracle, and provides a "pure Java" HTTP web


More information about the pkg-java-maintainers mailing list