How to package Nuxeo DM, a Java EE application, in Ubuntu?

Scott Howard showard314 at ubuntu.com
Thu Feb 3 15:13:28 UTC 2011


Hello,

On Wed, Feb 2, 2011 at 8:25 AM, Stefane Fermigier <sf at nuxeo.com> wrote:
> Here are some thoughts and questions about how to package a Java EE
> application so that it can be accepted in partner.
> We have packages that have been created a few months ago, and would be
> really pleased if they could be included in Natty, so your help would be
> really appreciated.
>   S.

Thanks for wanting to contribute to Ubuntu!

First, if your project is LGPL, you are eligible for Debian Main and
Ubuntu Universe (and possibly Ubuntu main), both of which have more
visibility and easier use than Partner. Usually "Partner" is for
companies that have closed-source code but want to work with Canonical
to distribute their programs. The problem, as you know, are the 200
prepackaged jars - if any of them are not DFSG free, then your package
is contrib/multiverse - and if any of them prevent redistribution,
then we can't touch your project with those jars at all.

The most common path to getting a package into Ubuntu is to get it
into Debian. Ubuntu then automatically syncs your package into Ubuntu.
However, right now Debian's repositories are frozen and their queue
for new packages is quite long, so it probably won't get packaged and
through the queue in time for Natty. You also can upload directly to
Ubuntu's repositories, and link [1] describes the process.

It's probably best if you coordinate with the debian-java team
<debian-java at lists.debian.org>, who will be able to review and upload
your packages. Also see the debian java policy (which also applies to
Ubuntu [2]).

I have some experience with debian-java, so I can comment on your two points:

1) your have to use the ubuntu/debian Tomcat, but a script to set up a
custom instance could be possible as long as it doesn't cause problems
with other parts of the system (other tomcat instances, for example).

2) The main Debian and Ubuntu archives will never allow prepackaged
jars to be distributed for security reasons (we don't know what
actually is in there) and legal reasons (we don't know what license
each part of the code is). This could be a reason why you would want
to distribute your code in the "Partner" repository, but that process
is a little more opaque - someone else might be able to explain that
process. For "traditional" packages, however, you really should
discuss this with the debian-java team. They have volunteers who might
be interested in helping you get some of those packages into Debian
(and thus Ubuntu), although 200 RFP/ITP bugs and packages in the NEW
queue is a bit intimidating - and if anyone one of them has legal
problems (e.g. license incompatibilities) or technical problems (e.g.
not-sane build systems, missing source code), that would hold up the
whole packaging effort. Is there a "distribution" that has the source
code and builds all those third party libraries? We could then package
that distribution as a source package and each of the libraries as a
separate binary packages (also requiring a lot of work, but javahelper
[3] could help in that situation). It is possible to package different
versions of the same java library in Debian/Ubuntu (see [2]), but you
must use a version that is in Debian/Ubuntu.

In conclusion: it appears that it would be a lot of work to get the
package in Ubuntu the traditional way, and you should really discuss
this with the debian-java team. However, the "Partner" way could work
for you - but I don't know how to start that process.

Cheers,
Scott


[1] https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages
[2] http://www.debian.org/doc/packaging-manuals/java-policy/
[3] http://pkg-java.alioth.debian.org/docs/tutorial.html



More information about the ubuntu-devel mailing list