[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Rethinking the Servlet API packaging



Hi!

Am 06.08.2018 um 12:47 schrieb Emmanuel Bourg:
> Hi all,
> 
> I'm starting to plan the packaging of Tomcat 9 which should be the
> version of Tomcat shipped with Buster. Before doing that I'd like to
> rethink how the Servlet/JSP API are packaged in Debian.

[...]

That is a very good idea. I also think that it makes sense to decouple
the Servlet API from src:tomcat{7,8,9}

[...]

> So I'd like to take the opportunity of the Tomcat 9 packaging to suggest
> the following changes:
> * The src:tomcat(n>=9) packages no longer build libservlet<m>-java.

+1

> * The Servlet, JSP, EL and WebSocket APIs are packaged separately,
>   using the JavaEE (now Eclipse EE4J/JakartaEE) repositories on GitHub.
>   These API packages are kept in the archive as long as necessary. Being
>   pure API with no actual implementation, they aren't security sensitive
>   and don't create a maintenance burden.

+1

> * When src:tomcat(n<9) is removed, introduce standalone API packages.
> 
> In details, that would give:
> 
> 1. Create a new src:servlet-4.0-api package building libservlet4.0-java
>    with the Servlet API *only*, no JSP/EL/WebSocket API, not even as a
>    dependency.
> 
> 2. libservlet3.1-java gets split into 4 packages, one per API:
>    libservlet3.1-java, libjsp2.3-java, libel3.0-java and
>    libwebsocket1.1-java. libservlet3.1-java would depend on the three
>    other packages to preserve the compatibility and avoid updating
>    all the packages depending on the JSP/EL APIs.
> 
> 3. libservlet3.0-java is similarly split into: libservlet3.0-java,
>    libjsp2.2-java, libel2.2-java
> 
> 4. Create new source packages to take over the API packages from
>    src:tomcat7 and src:tomcat8:
>    * servlet-3.0-api and servlet-3.1-api
>      (built from https://github.com/javaee/servlet-spec)
>    * jsp-2.2-api and jsp-2.3-api
>      (built from https://github.com/javaee/javaee-jsp-api)
>    * el-2.2-api and el-3.0-api
>      (built from https://github.com/javaee/el-spec)
>    * websocket-1.1-api
>      (built from https://github.com/javaee/websocket-spec)
> 
> 5. remove src:tomcat7, and later src:tomcat8 once src:tomcat9
>    is available
> 
> What do you think?

As long as we don't have to change reverse-dependencies and everything
is just a drop-in, I think it's good. I can start packaging
libservlet4.0-java (I would name source and binary package the same). Is
it this one?

https://github.com/javaee/servlet-spec/releases/tag/4.0.1

Regards,

Markus


Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: