Packaging large Java software stacks ?
thierry.carrez at ubuntu.com
Wed Jan 28 10:10:50 GMT 2009
Dustin Kirkland wrote:
> Just curious, but have you (or anyone else) checked how JBoss is
> packaged and built by and for Red Hat? Not that I'm suggesting JBoss
> as a replacement for Glassfish/Geronimo/etc, but perhaps they have
> made some break-throughs in the realm of packaging that we might
JBoss 4.2 has a much cleaner dependency approach (builds with ant,
relatively small number of deps, no =VERSION dep). It's actually
packaged in jaunty so it works with our stack :) You could compare
its clean dependency approach to Tomcat.
So the solution for us might be to continue to do the same, package from
source the sane upstream works (Tomcat, JBoss), do the
big-binary-tarball approach for those we need but that can't build/run
from our stack (Glassfish, Geronimo) and, when we can, encourage them to
have a cleaner dependency approach.
There are a few lessons to learn from RedHat/Fedora approach to Java
packaging though. They have been leading/integrating the JPackage
project, which is a nice attempt to provide a consistent RPM-based
platform of Java libraries. They provide a single version of each JAR
and work hard to patch everything to work with them... or they just
leave the unfriendly software out of JPackage.
Note that you could consider that JPackage repositories are built around
JBoss dependency needs. It's not so much difficult when you control both
sides and your platform is built around a few key stacks need. There is
no complete Geronimo 2 or Glassfish in JPackage.
JPackage is apparently losing traction those days. They have been doing
quite an exceptional job to make everything work together but it doesn't
scale very well when you try to add new software (due to dependencies on
different versions of the same JAR, one of the problems we are trying to
solve here) or when you want to upgrade (you basically need a completely
new repository and start the work all over again). Some Java upstream
developers are already using the past when talking about JPackage, and a
few are describing this laudable attempt as a failure (but they are biased).
Ubuntu server team
More information about the ubuntu-devel