Hi all, Tomcat 8 has seen it's first alpha release in August and I took the opportunity to package it. I started from a copy of the tomcat7 package and I now have a working package ready for review:
http://anonscm.debian.org/gitweb/?p=pkg-java/tomcat8.git Besides the trivial tomcat7->tomcat8 renaming stuff there are a few items needing attention: 1. The tomcat jars in /usr/share/java have been renamed to avoid conflicts with other versions of Tomcat. There are two bugs related to this issue for tomcat6/7, #685298 and #718946. The jars are now named tomcat8-xxx.jar, even those that didn't have a 'tomcat' prefix like jasper.jar and catalina.jar. 2. The libservlet3.0-java package (from tomcat7) contains twice the servlet/jsp/el API jars with two different Maven groupIds. Once with the org.apache.tomcat grouId, and another time with the javax.xxx-api groupId. The artifacts under the org.apache.tomcat groupId are a bit odd because they use the version of the specification instead of the version of Tomcat. See: http://packages.debian.org/sid/all/libservlet3.0-java/filelist This is unlikely to be useful since this combination of groupId/artifactId/version doesn't exist in Maven central, so no package will ever need these artifacts. Moreover libservlet-java isn't specific to Tomcat, so it shouldn't contain Tomcat artifacts. For these reasons I moved them to the libtomcat8-java package. As a corollary, libtomcat8-java doesn't need to depend on libservlet3.1-java. 3. Tomcat builds it classpath from the jar found in /usr/share/tomcat/lib. This directory contains symklinks installed by two packages, libtomcat-java and tomcat-common: http://packages.debian.org/sid/all/libtomcat7-java/filelist http://packages.debian.org/sid/all/tomcat7-common/filelist For tomcat8 I had to add new jars and it wasn't clear which package was supposed to install them in the lib directory. I decided to install all the links with tomcat8-common. Thus libtomcat8-java contains only the jars in /usr/share/java and the Maven artifacts in /usr/share/maven-repo. tomcat8-common is responsible for assembling the various parts required by Tomcat. I think that's cleaner and easier to understand. Here is the full changelog: * New upstream release (Closes: #722675) - Updated the version of the Servlet, JSP and EL APIs - Switched to Java 7 - Updated the watch file to match the Tomcat 8 releases - Refreshed the patches - Updated debian/copyright, documented the xsd files licensed under the CDDL - Installed the new jars (spdy, jni, websocket, websocket-api, storeconfig) - Updated the artifactId of the specification jars to include the new javax prefix - Added the javax.websocket-api artifact to libservlet3.1-java * Use XZ compression for the upstream tarball * debian/control: - Replaced Sun Microsystems with Oracle in the packages descriptions - Mentioned 'Apache Tomcat' in the packages descriptions * Deploy the Tomcat artifacts in the Maven repository with the 8.x version instead of 'debian' to avoid conflicts with other versions of Tomcat. * Hard coded the versions in the poms in debian/javaxpoms to fix the version of the dependencies for jsp-api * Renamed the jars in /usr/share/java to tomcat8-xxx to avoid conflicts with other versions of Tomcat * Added the missing descriptions to the patches * Added a patch to ignore the failing tests * Moved the tomcat-{servlet|jsp|el}-api artifacts from libservlet3.1-java to libtomcat8-java and changed their versions to the Tomcat version instead of the specification version. * Removed libservlet3.1-java.links defining the tomcat-* links in /usr/share/java with the specifications versions * The symlinks to /usr/share/tomcat8/lib are no longer split between the two packages libtomcat8-java and tomcat8-common. tomcat8-common assembles all the jars required by Tomcat (tomcat jars + dbcp + pool). libtomcat8-java deploys only the jars in /usr/share/java and the Maven artifacts in /usr/share/maven-repo. * Added the EL and WebSocket APIs to libservlet3.1-java-doc * Added a Lintian override for the incompatible-java-bytecode-format warning since Tomcat requires Java 7 * Added a Lintian override to clear the codeless-jar warnings on the tomcat-i18n jars instead of a patch turning them into zip files. * Removed 0011-fix-classpath-lintian-warnings.patch and specified the classpath of jasper.jar in libtomcat8-java.manifest instead. Thank you for your reviews, Emmanuel Bourg
signature.asc
Description: OpenPGP digital signature