Packaging large Java software stacks ?

Thierry Carrez thierry.carrez at
Mon Jan 26 12:17:29 GMT 2009

Daniel Holbach wrote:
> Thierry Carrez schrieb:
>> Potential solutions to solve (1) include using a parallel delivery
>> mechanism for JARs, separated from the usual Ubuntu packages, something
>> that could hook into Maven repositories... or get ready to create a
>> separate package for each version of each JAR.
> While I don't know much about Java, JARs and Java packaging, this sounds
> most like the most ubuntuic or debianic alternative. I realise that it
> will take huge amount of work and a very active Java team that manages
> the source packages that are out-of-date, etc. very well.

Creating a separate package for each version of each JAR is indeed the
most debianic approach, however I'm not sure it's realistic. Glassfish
alone needs ~230 separate versions of dependencies to build (of which we
have ~30 in the tree currently). Add the dependencies to those
dependencies to the mix, and the 1000 mark is probably not very far. And
Glassfish has a rather clean dependency approach compared to Geronimo...

> I'm sure there's a lot of interest in getting this solved, but as far as
> I know we'd need more documentation or "agree on" example packages to
> make this work easier. What do you think?

I'm not sure there is so much interest. It's quite easy to install Java
software from upstream binary tarballs. Even with tomcat6 packaged, lots
of Java developers are still unpacking binary tarballs to install their
own Tomcat...

>> Please let me know what you think of all this problem. I'm pretty sure
>> the Java world will one day gets its senses back and have a more
>> distribution-friendly dependency system, but we probably need a
>> solution until such day happens... or forget about such Java software
>> altogether.
> The only way I see to go about this is very careful bitching about
> breaking compatibility over and over again. We've done this successfully
> in other parts of the Open Source community. :-)

Yes, we still have to advocate the right way. Note that from Java
developers point of view, their way of doing things (including precise
external libraries as part of the package) is the right way, and our way
(trying to run several things on top of the same pile of libraries) is

Thierry Carrez
Ubuntu server team

More information about the ubuntu-devel mailing list