MaverickJavaFrameworksSpec
Launchpad Entry: server-maverick-java-frameworks
Created: 2010-05-20
Contributors: ThierryCarrez
Packages affected: libhibernate3-java (and all its build dependencies), libspring-2.5-java
Summary
This spec is about planned improvements in Java frameworks support in Ubuntu, including:
- Sync Spring to avoid the JRuby dependency
- Moving Hibernate to main
Release Note
Hibernate is now properly supported in Ubuntu main.
Rationale
Hibernate3 is in universe as of Lucid. Eucalyptus depends on hibernate but uses a stripped copy in eucalyptus-commons-ext (which is in main). This was originally done to avoid the extra work on moving to main all of Hibernate build dependencies (and dependencies of build dependencies). With ehcache potentially targeted to main, that makes two top-level stacks needing Hibernate properly supported. Now that LTS is out we can have a fresh look at the issue again.
User stories
As a Java packager, I want to properly push packages depending on Hibernate into Ubuntu main (or packages depending on Spring to Ubuntu universe). Using the Java stack available in 10.10, I can now do so.
Assumptions
Moving Hibernate to main depends on the MIR team acceptation of the related packages. Having pre-acceptation that the number (36) and the scope of packages (JBoss4/Glassfish) are not a problem would be good.
Design
Hibernate
Update to Hibernate 3.5
Hibernate 3.5 supports JPA2 so it's definitely something we want to support in the distribution. This is likely to happen in Debian through the efforts of Damien Raude-Morvan.
Move libhibernate3-java to main
One Ubuntu-specific issue is that Hibernate3 is still in universe. Eucalyptus depends on hibernate but uses a stripped copy in eucalyptus-commons-ext (which is in main). This was originally done to avoid the extra work on moving to main all of Hibernate build dependencies (and dependencies of build dependencies). Now that LTS is out we can have a fresh look at the issue again. Here is the graph of the 36 packages:
- libhibernate3-java
- libjgroups-java
- jbossas4 (libjboss-system-java, libjboss-jmx-java)
- libjboss-common-java
- libjboss-profiler-java
- libjboss-xml-binding-java
- libdtdparser-java
- libjboss-remoting-java
- libjboss-microcontainer-java
- libjboss-integration-java
- libjboss-managed-java
- libjboss-reflect-java
- libjboss-metadata-java
- libjboss-aop-java
- libjboss-serialization-java
- libjboss-web-services-java
- libjboss-vfs-java
- libgetopt-java
- libconcurrent-java
- libquartz-java
- libhibernate-entitymanager-java
- libhibernate-annotations-java
- libhibernate-commons-annotations-java
- libhibernate-validator-java
- glassfish (glassfish-toplink-essentials)
- ehcache
- libjsr107-java
- liboscache-java
- libjboss-cache1-java
- libdb-je-java
- libjdbm-java
- libjboss-cache2-java
- libjgroups2.6-java
- libjcip-annotations-java
- libexml-java
- libswarmcache-java
Notes:
- The list will need to be refreshed after Debian sync/merges and potential move to Hibernate 3.5
- There might be ways to get rid of some of those dependencies for someone that knows Hibernate or JBoss well.
The main blocker to expect is resistance from the MIR team to pull some high-profile source packages (jbossas4, glassfish) into main. However, the related server packages (jbossas4, glassfish-appserv) would stay in universe, which somehow reduces the impact.
Spring
Spring needs to be updated to the latest version in Debian which does not depend anymore on JRuby for building. Otherwise it will be pushed to multiverse by the forces of nature and policy.
Other
The JRuby situation needs to be tackled as it becomes more and more difficult to work around it. Debian bug 551618 tracks the necessary work on JRuby build dependencies.
Implementation
Ubuntu-specific work
See work items in server-maverick-java-frameworks whiteboard for details.
Debian-side work
- Upgrade to Hibernate 3.5 (in progress)
- Properly package JRuby (in progress)
Test/Demo Plan
tbd
Unresolved issues
None.
BoF agenda and discussion
UDS discussion notes
Policy:
- Do not package frameworks, only care if they are needed by other stacks
Actions:
- Ubuntu to check with eucalyptus upgrade to hibernate 3.5
Ubuntu to consider moving Hibernate to main (to support ehcache/eucalyptus) -> 32 MIR, including JBoss4/GF
- Ubuntu to sync Spring so that it doesn't depend on JRuby
- Debian to update Hibernate to 3.5
- Debian/Ubuntu to start working on getting JRuby properly packaged
MaverickJavaFrameworksSpec (last edited 2010-05-20 14:07:04 by lns-bzn-48f-81-56-218-246)