Packages

Differences between revisions 1 and 34 (spanning 33 versions)
Revision 1 as of 2009-08-04 15:46:04
Size: 8327
Editor: 89
Comment:
Revision 34 as of 2009-08-12 12:27:39
Size: 6745
Editor: lns-bzn-48f-81-56-218-246
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
||'''Dep level'''||'''Package'''||'''Highlights'''||
|0|antlr3||
|0|eucalyptus-commons-ext-java* (eucalyptus-commons-ext-java)||
|0|groovy||
|0|janino||
|0|asm2 (libasm2-java)||
|0|libaxiom-java* (libaxiom-java)||
|0|c3p0 (libc3p0-java)||
|0|cglib2.1 (libcglib2.1-java)||
|0|libcommons-cli-java||
|0|libcommons-fileupload-java||
|0|commons-io (libcommons-io-java)||
|0|libcommons-jxpath-java||
|0|dnsjava* (libdnsjava-java)||
|0|drools* (libdrools-core-java)||
|0|excalibur-logkit (libexcalibur-logkit-java)||
|0|libezmorph-java||
|0|geronimo-ejb-3.0-spec* (libgeronimo-ejb-3.0-spec-java)||
|0|geronimo-j2ee-connector-1.5-spec* (libgeronimo-j2ee-connector-1.5-spec-java)||
|0|geronimo-jms-1.1-spec (libgeronimo-jms-1.1-spec-java)||
|0|geronimo-jpa-3.0-spec* (libgeronimo-jpa-3.0-spec-java)||
|0|geronimo-jta-1.0.1b-spec (libgeronimo-jta-1.0.1b-spec-java)||
|0|geronimo-jacc-1.1-spec* (libgeronimo-jacc-1.1-spec-java)||
|0|geronimo-interceptor-3.0-spec* (libgeronimo-interceptor-3.0-spec-java)||
|0|libgoogle-collections-java||
|0|gwt* (libgwt-java)||
|0|javassist (libjavassist-java)||
|0|jetty* (libjetty-java)||
|0|libjibx-java||
|0|libjson-java||
|0|jug* (libjug-asl-java)||
|0|mvel* (libmvel-java)||
|0|netty* (libnetty-java)||
|0|libslf4j-java||
|0|wss4j* (libwss4j-java)||
|0|libxml-security-java||
Highlight tags:
 * unconfirmed: wasn't confirmed as being 100% sure needed by Eucalyptus team yet
 * not-just-java: contains more than just a JAR file or javadoc, potentially some binaries
 * some-debian-bugs: Package has a couple non-critical debian bugs opened (the others don't)
 * network: Library potentially interacts with network
 * security-review: Package has some security history (the others don't have any)
 * not-in-debian: Package is not present in Debian, adoption plans are in progress
 * not-in-archive-yet, in-NEW-queue: Package is not in universe yet
 * not-cdbs: Package doesn't use the classic ant cdbs class
Line 38: Line 11:
1st-level Dependencies of deps
{{{
ivy [for groovy]
jruby1.1 [for eucalyptus-commons-ext-java]
junit4 [for groovy]
libaopalliance-java [for eucalyptus-commons-ext-java]
asm (libasm-java) [for libcglib2.1-java, eucalyptus-commons-ext-java]
aspectwerkz2 (libaspectwerkz2-java) [for libcglib2.1-java]
libcommons-attributes-java [for eucalyptus-commons-ext-java]
libjamon-java [for eucalyptus-commons-ext-java]
jexcelapi (libjexcelapi-java) [for drools]
mockobjects (libmockobjects-java) [for groovy]
ow-util-ant-tasks (libow-util-ant-tasks-java) [for libasm2-java]
qdox (libqdox-java) [for libjibx-java]
stringtemplate (libstringtemplate-java) [for antlr3]
swt-gtk (libswt-gtk-3.4-java) [for gwt]
libxstream-java [for drools, groovy, eucalyptus-commons-ext-java]
}}}
Status:
 * reviewneeded: Package is ready for MIR team review
Line 57: Line 14:
2nd and more level
{{{
commons-vfs (libcommons-vfs-java) [for ivy]
concurrent-dfsg (libconcurrent-java) [for libaspectwerkz2-java]
libhamcrest-java [for junit4]
jarjar (libjarjar-java) [for libaspectwerkz2-java]
jmock (libjmock-java) [for libqdox-java]
libjoda-time-java [for libxstream-java]
jrexx (libjrexx-java) [for libaspectwerkz2-java]
trove (libtrove-java) [for libaspectwerkz2-java]

asm3 (libasm3-java) [for libjarjar-java]
easymock (libeasymock-java) [for libhamcrest-java]
}}}

=== Total ===

'''Total: 60 packages to MIR'''

== Implementation ==

=== Create new eucalyptus-javadeps ===

Create the specific eucalyptus hibernate libraries, containing the subset of hibernate needed for Eucalyptus and not all the JBoss hooks the libhibernate3-java package contains. Same for ehcache and Spring.

Those should be shipped as the new "eucalyptus-javadeps" package (which is kept to include all the non-standard libraries required by Eucalyptus).

=== Implement other hacks ===

All the other number-reducing hacks should be implemented:

 * Remove dependency from libclassworlds-java -> maven-ant-helper: DONE
 * Remove jmock and libconcurrent dependency on kaffe

=== Determine final map of MIR, split into sets ===

The final dependencies should be determined and splitted into sets that can be handled separately.
||'''Dep level'''||'''Package'''||'''Highlights'''||'''Reviewer'''||'''Status'''||
||0||antlr3||||||||
||0||eucalyptus-commons-ext* (libeucalyptus-commons-ext-java)||unconfirmed pile-of-code not-in-archive-yet||||||
||0||groovy||not-just-java some-debian-bugs|| ||reviewneeded||
||0||janino||not-just-java|| ||reviewneeded||
||0||asm2 (libasm2-java)|| || ||reviewneeded||
||0||libaxiom-java* (libaxiom-java)||not-in-debian|| ||reviewneeded||
||0||c3p0 (libc3p0-java)||network|| ||reviewneeded||
||0||cglib2.1 (libcglib2.1-java)|||| ||reviewneeded||
||0||libcommons-cli-java||unconfirmed||||||
||0||libcommons-fileupload-java||unconfirmed||||||
||0||commons-io (libcommons-io-java)||unconfirmed||||||
||0||libcommons-jxpath-java||unconfirmed||||||
||0||dnsjava* (libdnsjava-java)||not-in-debian network|| ||reviewneeded||
||0||drools* (libdrools-core-java)||not-in-debian in-NEW-queue||||||
||0||excalibur-logkit (libexcalibur-logkit-java)||unconfirmed||||||
||0||libezmorph-java||unconfirmed||||||
||0||geronimo-ejb-3.0-spec* (libgeronimo-ejb-3.0-spec-java)||not-in-debian|| ||reviewneeded||
||0||geronimo-j2ee-connector-1.5-spec* (libgeronimo-j2ee-connector-1.5-spec-java)||not-in-debian|| ||reviewneeded||
||0||geronimo-jms-1.1-spec (libgeronimo-jms-1.1-spec-java)||not-in-debian|| ||reviewneeded||
||0||geronimo-jpa-3.0-spec* (libgeronimo-jpa-3.0-spec-java)||not-in-debian in-NEW-queue||||||
||0||geronimo-jta-1.0.1b-spec (libgeronimo-jta-1.0.1b-spec-java)||not-in-debian|| ||reviewneeded||
||0||geronimo-jacc-1.1-spec* (libgeronimo-jacc-1.1-spec-java)||not-in-debian|| ||reviewneeded||
||0||geronimo-interceptor-3.0-spec* (libgeronimo-interceptor-3.0-spec-java)||not-in-debian|| ||reviewneeded||
||0||libgoogle-collections-java||unconfirmed||||||
||0||gwt* (libgwt-java)||security-review in-NEW-queue||||||
||0||javassist (libjavassist-java)|| || ||reviewneeded||
||0||jetty6* (libjetty-java)||security-review in-NEW-queue||||||
||0||libjibx-java|| || ||reviewneeded||
||0||libjson-java||unconfirmed||||||
||0||jug* (libjug-asl-java)||not-in-debian|| ||reviewneeded||
||0||mvel* (libmvel-java)||not-in-debian|| ||reviewneeded||
||0||netty* (libnetty-java)||not-in-debian network|| ||reviewneeded||
||0||libslf4j-java|| || ||reviewneeded||
||0||wss4j* (libwss4j-java)||not-in-debian|| ||reviewneeded||
||0||libxml-security-java|| || ||reviewneeded||
||1||ivy [for groovy]|| || ||reviewneeded||
||1||jruby1.1 [for eucalyptus-commons-ext]||unconfirmed not-only-java||||||
||1||junit4 [for groovy]|| || ||reviewneeded||
||1||libaopalliance-java [for eucalyptus-commons-ext]||unconfirmed||||||
||1||asm (libasm-java) [for libcglib2.1-java, eucalyptus-commons-ext]|| || ||reviewneeded||
||1||aspectwerkz2 (libaspectwerkz2-java) [for libcglib2.1-java]|| || ||reviewneeded||
||1||libcommons-attributes-java [for eucalyptus-commons-ext]||unconfirmed||||||
||1||libjamon-java [for eucalyptus-commons-ext]||unconfirmed||||||
||1||jexcelapi (libjexcelapi-java) [for drools]||||||||
||1||mockobjects (libmockobjects-java) [for groovy]|| || ||reviewneeded||
||1||ow-util-ant-tasks (libow-util-ant-tasks-java) [for libasm2-java]||not-cdbs|| ||reviewneeded||
||1||qdox (libqdox-java) [for libjibx-java]|| || ||reviewneeded||
||1||stringtemplate (libstringtemplate-java) [for antlr3]||unconfirmed||||||
||1||swt-gtk (libswt-gtk-3.4-java) [for gwt]||not-just-java not-cdbs|| ||reviewneeded||
||1||libxstream-java [for drools, groovy, eucalyptus-commons-ext]|| || asac ||reviewneeded||
||2||commons-vfs (libcommons-vfs-java) [for ivy]|| || asac ||reviewneeded||
||2||concurrent-dfsg (libconcurrent-java) [for libaspectwerkz2-java]|| || asac ||reviewneeded||
||2||libhamcrest-java [for junit4]|| || asac ||reviewneeded||
||2||jarjar (libjarjar-java) [for libaspectwerkz2-java]|| || asac ||reviewneeded||
||2||jmock (libjmock-java) [for libqdox-java]||not-cdbs|| lool ||reviewneeded||
||2||libjoda-time-java [for libxstream-java]|| || lool ||reviewneeded||
||2||jrexx (libjrexx-java) [for libaspectwerkz2-java]|| || lool ||reviewneeded||
||2||trove (libtrove-java) [for libaspectwerkz2-java]|| || lool ||reviewneeded||
||3||asm3 (libasm3-java) [for libjarjar-java]||not-cdbs|| lool ||reviewneeded||
||3||easymock (libeasymock-java) [for libhamcrest-java]|| || lool ||reviewneeded||
Line 105: Line 86:
Here are exceptions to the common "simple Debian JAR package" case:
 * '''Not just Java libraries'''
   * janino (binary)
   * groovy (binary)
   * swt-gtk (-jni native libraries)
 * '''Security concerns'''
   * gwt
   * jetty6
 * '''Not updated to default-java stuff yet'''
   * commons-vfs
   * libjoda-time-java
   * jarjar
   * asm3
   * aspectwerkz2
   * jrexx
   * trove
 * '''Not in Debian yet'''
   * libaxiom-java
   * dnsjava
   * netty
   * jug
   * mvel
   * wss4j
   * geronimo-*-spec
   * jetty6 (work in progress)
   * gwt
=== TBD ===
Line 132: Line 88:
Unconfirmed sets
{{{
commons-cli commons-fileupload commons-io commons-jxpath excalibur-logkit commons-attributes
ezmorph google-collections json
antlr3 / stringtemplate
drools / jexcelapi
euca-commons-ext / jruby1.1 aopalliance jamon
}}}
 * Upload remaining confirmed packages to universe [ttx]: DONE (in NEW)
 * Fix default-jdk usage [ttx]: DONE
 * Review bugs in Debian, Ubuntu and upstream and flag any critical bug which MIR team should be aware of [ttx]: DONE
 * Split work across the team [pitti]: TODO
 * Subscribe to bugs in Ubuntu for important packages [ttx]: TODO
 * Update list of deps when final list of upstream deps is ready [ttx]: TODO
 * (optional) Commit trivial changes done in Ubuntu by ttx to the pkg-java repo [ttx]: TODO
 * (optional) Add watch files [ttx]: TODO
 * (optional) Document upstream status (dead/alive) [ttx]: TODO
Line 141: Line 98:
Expected exceptional ones in there:
 * euca-commons-ext: NOTINDEBIAN, DUPLICATION, SECURITY (Spring)
 * jruby1.1 : BINARY
== Things to Review ==
Line 145: Line 100:
=== Process MIR sets ===

Several options, to be discussed with MIR team:

 * One bug per set, one task per package in set
 * One bug per package
 * One bug for everything
 * Process outside Launchpad, with one metabug to track progress

== Test/Demo Plan ==

''It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.''

== Unresolved issues ==

None.

== BoF agenda and discussion ==

=== UDS discussion ===

==== Current status ====
 * 99 packages which would need to move to main.
 * Java in main is currently driven by OpenOffice. Tomcat6 is there, but has few dependencies.

==== Future ====
 * Eucalyptus version for Karmic should have fewer dependencies anyway from upstream refactoring.

==== How can the number of build/runtime dependencies be reduced? ====
 * Get rid of anything not necessary
  * Geronimo spec packages (already provided by glassfish-j2ee)
 * Move parts into Eucalyptus code
 * Refactor packages (e.g. hibernate pulls in a lot of stuff)
  * Requires multiple source packages or only to promote some resulting binaries to main.
    (doko recommends duplicating the source package and documenting it)

==== What could be expected to be refused inclusion to main ====
 * Active upstream criteria
  * Annogen
  * OpenSAML
  * WSS4J?
 * Known to be insecure
  * Nothing obvious
 * Partial builds (because of non-free dependencies)
  * Mule
  * We don't really care

==== Size issues (adding to default CD) ====
 * GWT is 6MB of binary
  * 1.6 should be more granular and work with existing java packages more
 * JRuby is 3MB
  * Just be a build-time dependency of GWT
 * libjgroups-java, 3MB. Not needed ?
 * glassfish-toplink-essentials, 2.4MB, comes from hibernate
 * Avoiding JDK would save about 50MB of CD space
 * Avoiding GCJ would save about 20MB

==== Can we use the new Spring packaging from Debian? ====
 * Not included yet in Debian, but work is underway
 * Might make too hard choices for us ? Testing from Eucalyptus side needed.

==== Safety net ====
 * Keep a eucalyptus-javadeps package to drop in any problematic parts which can't be fixed (hibernate?).
  * One tiny part of Drools

==== Action Summary ====
 * Which Eucalyptus version we'll use in Karmic and its dependencies?
 * Can we use Spring from Debian?
 * What can we do to reduce Hibernate size?
  * Will it be acceptable to move JBoss to main?
 * JDK dependency investigation
 * Ask Colin about blacklisting for the server seed only to solve GCJ issue
 * Once it's known what is required, start preparing/filing MIRs to avoid a last minute panic.

----
CategorySpec
 * Overall packaging
 * Lintian warning
 * Critical bugs
 * Security review for some
 * Internationalization? ttx: Not really, almost none of the packages has that
 * Default java

Highlight tags:

  • unconfirmed: wasn't confirmed as being 100% sure needed by Eucalyptus team yet
  • not-just-java: contains more than just a JAR file or javadoc, potentially some binaries
  • some-debian-bugs: Package has a couple non-critical debian bugs opened (the others don't)
  • network: Library potentially interacts with network
  • security-review: Package has some security history (the others don't have any)
  • not-in-debian: Package is not present in Debian, adoption plans are in progress
  • not-in-archive-yet, in-NEW-queue: Package is not in universe yet
  • not-cdbs: Package doesn't use the classic ant cdbs class

Status:

  • reviewneeded: Package is ready for MIR team review

Dep level

Package

Highlights

Reviewer

Status

0

antlr3

0

eucalyptus-commons-ext* (libeucalyptus-commons-ext-java)

unconfirmed pile-of-code not-in-archive-yet

0

groovy

not-just-java some-debian-bugs

reviewneeded

0

janino

not-just-java

reviewneeded

0

asm2 (libasm2-java)

reviewneeded

0

libaxiom-java* (libaxiom-java)

not-in-debian

reviewneeded

0

c3p0 (libc3p0-java)

network

reviewneeded

0

cglib2.1 (libcglib2.1-java)

reviewneeded

0

libcommons-cli-java

unconfirmed

0

libcommons-fileupload-java

unconfirmed

0

commons-io (libcommons-io-java)

unconfirmed

0

libcommons-jxpath-java

unconfirmed

0

dnsjava* (libdnsjava-java)

not-in-debian network

reviewneeded

0

drools* (libdrools-core-java)

not-in-debian in-NEW-queue

0

excalibur-logkit (libexcalibur-logkit-java)

unconfirmed

0

libezmorph-java

unconfirmed

0

geronimo-ejb-3.0-spec* (libgeronimo-ejb-3.0-spec-java)

not-in-debian

reviewneeded

0

geronimo-j2ee-connector-1.5-spec* (libgeronimo-j2ee-connector-1.5-spec-java)

not-in-debian

reviewneeded

0

geronimo-jms-1.1-spec (libgeronimo-jms-1.1-spec-java)

not-in-debian

reviewneeded

0

geronimo-jpa-3.0-spec* (libgeronimo-jpa-3.0-spec-java)

not-in-debian in-NEW-queue

0

geronimo-jta-1.0.1b-spec (libgeronimo-jta-1.0.1b-spec-java)

not-in-debian

reviewneeded

0

geronimo-jacc-1.1-spec* (libgeronimo-jacc-1.1-spec-java)

not-in-debian

reviewneeded

0

geronimo-interceptor-3.0-spec* (libgeronimo-interceptor-3.0-spec-java)

not-in-debian

reviewneeded

0

libgoogle-collections-java

unconfirmed

0

gwt* (libgwt-java)

security-review in-NEW-queue

0

javassist (libjavassist-java)

reviewneeded

0

jetty6* (libjetty-java)

security-review in-NEW-queue

0

libjibx-java

reviewneeded

0

libjson-java

unconfirmed

0

jug* (libjug-asl-java)

not-in-debian

reviewneeded

0

mvel* (libmvel-java)

not-in-debian

reviewneeded

0

netty* (libnetty-java)

not-in-debian network

reviewneeded

0

libslf4j-java

reviewneeded

0

wss4j* (libwss4j-java)

not-in-debian

reviewneeded

0

libxml-security-java

reviewneeded

1

ivy [for groovy]

reviewneeded

1

jruby1.1 [for eucalyptus-commons-ext]

unconfirmed not-only-java

1

junit4 [for groovy]

reviewneeded

1

libaopalliance-java [for eucalyptus-commons-ext]

unconfirmed

1

asm (libasm-java) [for libcglib2.1-java, eucalyptus-commons-ext]

reviewneeded

1

aspectwerkz2 (libaspectwerkz2-java) [for libcglib2.1-java]

reviewneeded

1

libcommons-attributes-java [for eucalyptus-commons-ext]

unconfirmed

1

libjamon-java [for eucalyptus-commons-ext]

unconfirmed

1

jexcelapi (libjexcelapi-java) [for drools]

1

mockobjects (libmockobjects-java) [for groovy]

reviewneeded

1

ow-util-ant-tasks (libow-util-ant-tasks-java) [for libasm2-java]

not-cdbs

reviewneeded

1

qdox (libqdox-java) [for libjibx-java]

reviewneeded

1

stringtemplate (libstringtemplate-java) [for antlr3]

unconfirmed

1

swt-gtk (libswt-gtk-3.4-java) [for gwt]

not-just-java not-cdbs

reviewneeded

1

libxstream-java [for drools, groovy, eucalyptus-commons-ext]

asac

reviewneeded

2

commons-vfs (libcommons-vfs-java) [for ivy]

asac

reviewneeded

2

concurrent-dfsg (libconcurrent-java) [for libaspectwerkz2-java]

asac

reviewneeded

2

libhamcrest-java [for junit4]

asac

reviewneeded

2

jarjar (libjarjar-java) [for libaspectwerkz2-java]

asac

reviewneeded

2

jmock (libjmock-java) [for libqdox-java]

not-cdbs

lool

reviewneeded

2

libjoda-time-java [for libxstream-java]

lool

reviewneeded

2

jrexx (libjrexx-java) [for libaspectwerkz2-java]

lool

reviewneeded

2

trove (libtrove-java) [for libaspectwerkz2-java]

lool

reviewneeded

3

asm3 (libasm3-java) [for libjarjar-java]

not-cdbs

lool

reviewneeded

3

easymock (libeasymock-java) [for libhamcrest-java]

lool

reviewneeded

MIR sets

1: jibx asm2 janino / qdox jmock libow-util-ant-tasks (LP: #405715)
2: libaxiom-java dnsjava netty jug mvel slf4j xmlsecurity wss4j javassist (LP: #406346)
3: groovy / junit4 mockobjects xstream ivy commons-vfs libhamcrest-java easymock libjoda-time-java jarjar asm3
4: cglib2.1 / aspectwerkz2 concurrent-dfsg jrexx trove asm
5: geronimo-* (6 or 7)
6: jetty gwt / swt-gtk

TBD

  • Upload remaining confirmed packages to universe [ttx]: DONE (in NEW)
  • Fix default-jdk usage [ttx]: DONE
  • Review bugs in Debian, Ubuntu and upstream and flag any critical bug which MIR team should be aware of [ttx]: DONE
  • Split work across the team [pitti]: TODO
  • Subscribe to bugs in Ubuntu for important packages [ttx]: TODO
  • Update list of deps when final list of upstream deps is ready [ttx]: TODO
  • (optional) Commit trivial changes done in Ubuntu by ttx to the pkg-java repo [ttx]: TODO
  • (optional) Add watch files [ttx]: TODO
  • (optional) Document upstream status (dead/alive) [ttx]: TODO

Things to Review

  • Overall packaging
  • Lintian warning
  • Critical bugs
  • Security review for some
  • Internationalization? ttx: Not really, almost none of the packages has that
  • Default java

EucalyptusInMainSpec/Packages (last edited 2009-10-29 17:58:32 by eth0)