geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <>
Subject Ubuntu Main Distribution
Date Mon, 04 Aug 2008 00:06:39 GMT
Ubuntu are evaluating Java EE servers for inclusion in their "main"  
distribution. See for information.  
I think it would be cool for Geronimo to be chosen as their Java EE  
implementation. I'd like to take some time to evaluate the Geronimo  
problems that they are having, evaluate what (if anything) we can do  
about these problems, and decide if there's anything that we want to  
do to address their use case.

First, a little background. As I understand things, Ubuntu "main" is a  
Debian-style repository that contains artifacts that are supported by  
Ubuntu. All artifacts within "main" must be built from source. A build  
of a main artifact cannot be dependent upon an internet connection  
(any binary dependencies must either be built or already be present in  
the "main" repository.

The problems that Ubuntu have encountered are:

1) Java SE 6
2) Dependencies

1) OpenJDK 6 seems to be the most stable JSE available in Ubuntu  
"main", at the moment. Currently our build fails, if you attempt to  
build Geronimo with a Java 6 JDK. There are some runtime errors, in  
certain environments/runtimes. IMO, this is a relatively minor issue.  
We already have Java 6 support identified as a Geronimo 2.2 feature.  
Fixing the build issue is trivial (Ubuntu have already patched this).  
Runtime issues are a minor hurdle that we're going to be implementing,  

2) Dependencies are a separate matter, altogether. As you can guess,  
maven's handling of dependencies causes problems with Ubuntu's  
philosophy for building main artifacts.

A) The build cannot access external maven repositories. I wonder if  
it's possible for maven to retrieve artifacts from a Debian  
repository, rather than from a maven repository. Perhaps some work has  
already occurred in this area. Anybody know? If not, wondering if we  
can work with the maven community to help address this issue.

B) A maven build will access multiple, redundant, versions of the same  
artifact. We control the versions that will be included in our server  
assemblies. However, we don't really control the build-time  
dependencies that our build will require. Thus, the transitive  
dependencies accessed during a build may be much more than will  
actually be needed/used in the server assemblies. Is there some way we  
can help limit the number of artifacts which must be available during  
a build?

There may be other Ubuntu-related issues. Hopefully we can get some  
participation in this discussion from the Ubuntu community. I'll reach  
out to them.


View raw message