Packaging large Java software stacks ?

Daniel Holbach daniel.holbach at ubuntu.com
Mon Jan 26 12:35:36 GMT 2009


I'll add this disclaimer once for all the thread now: I hope to not
sound too authoritative. If somebody knows a cleverer way, speak up. :-)

Thierry Carrez schrieb:
> 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 have a set of questions:
 - How many of these do we have already?
 - How many of these ever change?
 - How many of these break compatibility?
 - How hard is the dependency? Is this always "== JAR_VERSION" or often
a ">= JAR_VERSION" too?


> I'm not sure there is so much interest. 

If it's "hard-core scientific rocket science work", it's going to be
tough, but if we can demonstrate how it's done and clearly articulate
what needs doing, I'm sure we can generate some interest here. There's a
lot of people on the world who use Java and who would be happy to have
it distributed by their distribution just like the rest of quality
software that we ship.


> 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...

I'm not sure if a previous discussion of this ended up with differing
outcome, but I think there's no framework for us to allow this.


> 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
> wrong.

Maybe there needs to be a "Java Open Source Distribution Interest Group"
or something. The other distributions will have the same problem like we do.

Open Source Distributions essentially value and care about:
 - building from open source
 - shipping built binaries and being authoritative about what is shipped
and installed on the users machines
 - stable interfaces and a clear indication (versioning, tools, etc) of
changes
 - <add more items here>

It might be a long winding road (and sound a bit demanding too), but if
Java wants to be a "first class citizen" in the Open Source world, this
needs to be clear.

Have a great day,
 Daniel



More information about the ubuntu-devel mailing list