Jetty packaging help?

Greg Wilkins gregw at mortbay.com
Sun Nov 4 23:31:43 UTC 2007


Hi,

I'd like to create some debian packages for Jetty 6 (and hightide 6) and I'm
looking for somebody who know more about the process to help guide me.

Jetty6 is a servlet 2.5 container.   hightide6 is the "premium" distro
of jetty6, which means that it is patched and compiled for java5 and comes
with preconfigured support for JNDI, JMS, JTA etc.

Jetty and hightide are both apache 2.0 licensed.

We'd love for the end result to end up as part of debian, but would be
just as happy to have the debs available from our project site.


There are a number of tricky things with Jetty6 and hightide, including:

We compile the majority of Jetty6 for java1.4  including the servlet 2.5 API.
Theoretically the 2.5 API is meant to be only java5, but there is nothing in
the API that forces java5, so we like to make it available to java1.4 users.
Unfortunately that has prevented us from using other servlet 2.5 API packages
and we build our own API.   Depending on the policies of debian, we would
be happy to either continue having our own api bundle, or perhaps just say
that jetty debians are java5 only and use a standard api bundle.  As I understand
java 1.4 was not truely opensource, then the later approach may be better?

servlet api is the only dependency of core jetty, and I would like to see
 * a libjetty6 package with the core jars available (used by many other
   java projects)
 * a jetty6 package with the run time configuration and scripts etc
 * potentially a binary setuid package that allows jetty to open port
   80 and then change to another user.
 * a jetty6-plus package with our optional jars for naming, jndi, ssl, ajp
   I guess a lot of these could be in individual packages, but I think a
   grab bag package might be simplest to start with?


JSP is then a bit of a problem.  Jetty6 can work with the JSP 2.0 from
jakarta, unpatched but we need to bring in some slf4j and commons logging
jars to join the logging together.

But we really want to use JSP 2.1 (to be compliant with servlet 2.5).
Jetty uses JSP 2.1 from glassfish project (CDDL license), which our
build process checkouts, patches (to join our logging) and then compiles.
Due to some history of the glassfish project, the result is not a very
clean division of API and impl.  The jsp-api-2.1 jar that results actually
includes jstl and el APIs and the jsp-2.1 impl jar includes implementations
for all of those.  Glassfish are in the process of refactoring their project
to make the bits easier to reuse and I expect those dependencies may shake
out then.  But for now I would like to make a jetty6-jsp2.1 package
which is all the api and impl jars needed without any attempt to re-use
other packages.  Once glassfish has refactored, I would definitely work
to get the duplication removed from the jetty project and the debs.

hightide is much the same, except it definitely is all compiled for
java 5.  But it also has extra dependencies on packages like
activemq and atomikos.  If these can be made available via debs - great,
but I would not want to delay my own debs waiting for them.  So I
think a certain degree of bundling extra jars will be needed.

Anyway, while I am a ubuntu user, I have never built a deb before, so
I'd really appreciate if somebody(s) could volunteer to be my mentor in
this process?

cheers












































More information about the pkg-java-maintainers mailing list