From Fedora Project Wiki

No edit summary
(168 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This page is for tracking progress on the packaging of (primarily Java-based) dependencies for Eucalyptus 3.x.  This project will have some overlap with [[JBossAS7|JBossAS7]]Other required Java packages include:
This page is for tracking progress on the packaging Eucalyptus 3.x in FedoraWe've been tracking this for three releases now, and the dependency packaging is mostly complete, except for Google Web Toolkit, which we can omit for nowTherefore, it's more useful for the top of this page to summarize the _other_ changes needed to make Eucalyptus build and run on Fedora 18.


* ActiveMQ
== Remaining tasks ==
* Axiom
* Google Web Toolkit
* HA-JDBC
* Infinispan (it's not clear whether this is required at runtime; the build succeeds without it)
* JasperReports
* Mule


The majority of other required packages are either already part of Fedora or are transitive dependencies of the above dependencies.  These packages require large parts of jboss, geronimo, and spring2, among other things.  Packaging spring2 in particular seems to be a task full of circular dependencies, so the bootstrapping may be difficult.
=== Polish systemd units for eucalyptus services ===


SPEC and SRPM files up for review will live under https://downloads.eucalyptus.com/software/devel/fedora-16/
There are three init scripts in eucalyptus:
I have also posted some "rough draft" packages (which are mostly rebuilds of JPP packages which still need clean-up) here:  https://downloads.eucalyptus.com/software/devel/fedora-16-draft/
* eucalyptus-cloud - starts a java service, which may be a Cloud Controller, Walrus, or Storage Controller
* eucalyptus-cc - starts a Cluster Controller (CC), which is a custom httpd instance with wso2-axis2 configured
* eucalyptus-nc - starts a Node Controller (NC), which is a custom httpd instance with wso2-axis2 configured


Note:  this page is focused on java dependencies, but for completeness, there are two other necessary packages which Eucalyptus currently maintains but should submit to Fedora:
In Fedora 18, we provide systemd units which simple execute the old init scripts, which have been moved to /usr/libexec/eucalyptus.  Ideally, the old init scripts should go away completely.
* axis2c (and axis2c-devel)
* rampartc


=== Working dependencies already in Fedora ===
=== Create SELinux contexts/policies ===


These packages are already in Fedora at versions which allow the Eucalyptus 3 build to succeed:
Eucalyptus must run in permissive mode in Fedora 18.  We need to work on policy that will allow it to run in enforcing mode.


* ant-1.8.2-6.fc16
=== Make Axis2/Java 1.6 work for code generation ===
* antlr3-tool-3.2-14.fc15
* apache-commons-beanutils-1.8.3-4.fc15
* apache-commons-cli-1.2-4.fc15
* apache-commons-codec-1.4-12.fc15
* apache-commons-collections-3.2.1-11.fc16
* apache-commons-compress-1.1-1.fc16
* apache-commons-digester-1.8.1-8.fc15
* apache-commons-fileupload-1.2.2-2.fc15
* apache-commons-logging-1.1.1-16.fc16
* apache-commons-pool-1.5.6-1.fc16
* avalon-framework-4.3-3.fc16
* avalon-logkit-2.1-5.fc16
* backport-util-concurrent-3.1-6
* batik-1.7-12.fc16
* bcel-5.2-9.fc15
* bea-stax-api-1.2.0-0.8.rc1.fc15
* bouncycastle-1.46-1.fc16
* bsf-2.4.0-9.fc15
* cglib-2.2-8.fc15
* dnsjava-2.0.6-8.fc15
* dom4j-1.6.1-6.fc15
* ezmorph-1.0.6-3.fc15
* geronimo-ejb-1.0-4.fc15
* geronimo-jms-1.1.1-8.fc15
* geronimo-jta-1.1.1-7.fc15
* groovy-1.8.1-3.fc16
* hibernate-commons-annotations-3.2.0-3.fc16
* hsqldb-1.8.1.3-3.fc15
* itext-2.1.7-7.fc15
* jakarta-commons-httpclient-3.1-5.fc16
* javamail-1.4.3-6.fc15
* javassist-3.14.0-5.fc16
* jaxen-1.1.1-3.1.fc12
* jettison-1.3-1.fc16
* jetty-6.1.26-7.fc16 (Note that /usr/share/jetty/lib/ext/jetty-rewrite-handler-6.1.26.jar is needed)
* jibx-1.2.3-1.fc16
* jsch-0.1.44-3.fc15
* json-lib-2.3-5.fc15
* junit4-4.8.2-2.fc15
* log4j-1.2.16-7.fc15
* mysql-connector-java-5.1.17-1.fc16.x86_64 (this will eventually be made optional)
* objectweb-asm-3.3.1-1.fc16
* regexp-1.5-6.fc15
* slf4j-1.6.1-3.fc16
* tomcat6-servlet-2.5-api-6.0.32-11.fc16
* velocity-1.7-1.fc16
* wsdl4j-1.6.2-2.fc15
* xalan-j2-2.7.1-4.fc16
* xerces-j2-2.11.0-3.fc15
* xml-commons-apis-1.4.01-4.fc16
* xom-1.0-6.6.fc15
* xpp3-1.1.3.8-5.fc15


=== Non-working dependencies in Fedora ===
The C code generated by Axis2/Java 1.6.0 does not work with Eucalyptus's currently defined handlers.  Currently, one must use an [http://arg.fedorapeople.org/axis2v14/noarch/ Axis2/Java 1.4 package] to build a tarball of generated code for inclusion in the eucalyptus package.


These packages are in Fedora, but due to either an incomplete build or a significant version difference, they do not allow a successful build.
=== Fix the reporting module ===


* hamcrest-1.1-10.4.fc15.noarch (Euca uses 1.2) -- {{bz|736735}}
There is a build issue in the reporting module due to the use of Guava 9 in the upstream Eucalyptus build. For now, the module has been disabled.
* jgroups-2.2.9.2-8.fc15.noarch (Euca uses 2.12.1.Final -- I'm talking to fnasser about updating this in Fedora) - see {{bz|731765}} --[[User:Goldmann|Marek Goldmann]] 08:57, 5 September 2011 (UTC)
* netty-3.2.3-3.fc15.noarch (Euca uses 3.1.0.CR1 -- we should be able to fix our code)
* guava -- needs an update to r09; I am now a comaintainer and will have this in soon.


=== Working dependencies we have built ===
=== Enable the admin console ===


These are packages which we have built and can use in the Eucalyptus build:
The admin console is based on GWT, which is not yet in Fedora.  It may not be worth the time to build it, though, as Eucalyptus intends to phase out the GWT-based UI.
 
== Packaging Progress ==
 
These are the packages still in progress which are necessary for the Eucalyptus build:


{|
{|
Line 100: Line 43:
!Comments
!Comments
|-
|-
|1
|27
|btm
|gwt
|2.1.1
|2.4.0
|
|
|{{bz|732150}}
|[[User:Arg|arg]]
|'''<span style="color:green">Approved</span>'''
|
|-
|2
|java-uuid-generator
|3.1.2
|
|
|{{bz|7345454}}
|[[User:Arg|arg]]
|[[User:Arg|arg]]
|'''Released'''
|'''<span style="color:red">Clean-up Required</span>'''
|
|Required for admin console
|-
|-
|3
|36
|quartz
|josql
|1.6.6
|2.2
|
|
|{{bz|738079}}
|{{bz|822832}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:yellow">Reviewed</span>'''
|'''<span style="color:green">In Rawhide</span>'''
|We may need to move to a newer version, as 1.6.6 is old/unsupported.  1.8 may be sufficient.  2.1 is latest, though.
|ActiveMQ deps
|-
|-
|4
|47
|ha-jdbc
|mqtt-client
|2.0.16
|1.3
|
|
|[[User:Arg|arg]]
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|
|
|{{bz|853055}}
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|-
|5
|48
|proxool
|groovy-gram
|0.9.1
|1.2
|
|
|[[User:Arg|arg]]
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|
|
|{{bz|846561}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|-
|-
|6
|49
|rhq
|pax-logging
|4.1.0 (plugins-annotations is 3.0.1)
|1.6.9
|
|
|[[User:Arg|arg]]
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|
|
|{{bz|849469}}
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|-
|7
|50
|wstx
|sitemesh
|3.2.8
|2.4.2
|
|
|
|{{bz|853439}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|'''<span style="color:orange">Awaiting Review</span>'''
|This was rebuilt from JPP, and does not meet Fedora guidelines
|ActiveMQ deps
|-
|-
|8
|51
|xml-security
|apache-commons-primitives
|1.4.5
|1.1
|
|{{bz|736516}}
|[[User:Arg|arg]]
|'''<span style="color:yellow">Awaiting Review</span>'''
|
|
|{{bz|832803}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|-
|-
|9
|52
|axiom
|felix-fileinstall
|1.2.8
|3.2.0
|
|
|
|[[User:Arg|arg]]
|{{bz|855192}}
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|[[User:gil|gil]]
|This was rebuilt from JPP, and does not meet Fedora guidelines
|'''<span style="color:orange">Awaiting Review</span>'''
|Apache Karaf deps
|-
|-
|10
|53
|htmlunit-core-js
|felix-webconsole
|2.9
|4.0.0
|
|
|{{bz|735518}}
|{{bz|855193}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''Released'''
|'''<span style="color:orange">Awaiting Review</span>'''
|This is required for GWT
|Apache Karaf deps
|-
|-
|11
|54
|apache-parent
|hawtbuf
|10
|1.9
|
|
|{{bz|736069}}
|{{bz|853050}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''Released'''
|'''<span style="color:green">In Rawhide</span>'''
|This replaces an older POM from maven2-common-poms
|mqtt-client deps
|-
|-
|12
|55
|axis2c
|hawtdispatch
|1.6.0
|1.11
|N/A
|{{bz|735225}}
|[[User:Gholms|gholms]]
|'''<span style="color:blue">Review in Progress</span>'''
|
|
|{{bz|853052}}
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|mqtt-client deps
|-
|-
|13
|56
|geronimo-validation
|oscache
|1.1
|2.4.1
|
|
|{{bz|747357}}
|{{bz|849470}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:yellow">Awaiting Review</span>'''
|'''<span style="color:orange">Awaiting Review</span>'''
|Blocks hibernate-validator
|Hibernate 3.x deps (module of the same name)
|-
|-
|14
|57
|sablecc
|swarmcache
|3.2
|1.0
|
|
|{{bz|747429}}
|{{bz|849471}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:yellow">Awaiting Review</span>'''
|'''<span style="color:orange">Awaiting Review</span>'''
|Blocks jsilver
|Hibernate 3.x deps (module of the same name)
|-
|-
|15
|58
|joda-convert
|activemq
|1.1
|5.6.0
|
|
|{{bz|747448}}
|{{bz|857193}}
|[[User:Arg|arg]]
|[[User:madsa|madsa]]
|'''<span style="color:yellow">Awaiting Review</span>'''
|'''<span style="color:orange">Awaiting Review</span>'''
|Blocks joda-time
|-
|16
|jtype
|0.1.2
|
|
|{{bz|747460}}
|[[User:Arg|arg]]
|'''<span style="color:yellow">Awaiting Review</span>'''
|Blocks hibernate-validator
|-
|-
|17
|59
|joda-time
|classmate
|2.0
|0.5.4
|
|
|
|{{bz|815060}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:red">Blocked</span>'''
|'''<span style="color:green">In Rawhide</span>'''
|Blocks hibernate-validator, Blocked by joda-convert
|An Hibernate 4.x dependency. module hibernate-core
|-
|-
|18
|60
|hibernate-validator
|karaf
|4.2.0
|2.2.5
|
|
|
|[[User:Arg|arg]]
|{{bz|875692}}
|'''<span style="color:red">Blocked</span>'''
|[[User:gil|gil]]
|Blocked by several deps, blocks gwt
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|-
|-
|19
|61
|htmlunit
|gemini-blueprint
|2.9
|1.0.2
|
|
|
|{{bz|866239}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:red">Blocked</span>'''
|'''<span style="color:green">In Rawhide</span>'''
|Blocked by {{bz|735521}}, blocks gwt
|ActiveMQ deps
|-
|-
|20
|62
|tapestry-util-text
|springframework-ws
|4.0.2
|2.0.5.RELEASE
|
|
|
|[[User:Arg|arg]]
|{{bz|877152}}
|'''<span style="color:orange">Awaiting Advice</span>'''
|[[User:gil|gil]]
|this is a fragment of apache tapestry 4.  Is it acceptable on its own?
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|-
|21
|63
|gwt
|camel
|2.4.0
|2.10.4
|
|
|
|{{bz|968136}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:red">Blocked</span>'''
|'''<span style="color:orange">Awaiting Review</span>'''
|Blocked by htmlunit, hibernate-validator, jsilver, tapestry-util-text
|ActiveMQ deps
|}
|}


=== Dependencies left to build ===
=== Optional dependencies and sub-dependencies ===


* activemq 5.4.1
Enough of ActiveMQ is built for Eucalyptus to function. Packages mentioned here are only necessary to activate more of the activemq modules.
* axis2
* geronimo-j2ee-connector-1.5-spec-1.1
* geronimo-jpa_2.0_spec-1.1 (Fedora includes only the 3.0 spec)
* hibernate-3.5.6-Final
* infinispan (if needed)
* jasperreports-3.7.2
* jbosscache-core-3.2.1.GA
* mule-2.0.1 -- I was able to partially build this against JPP, but it needs to be redone
* spring-beans-2.5.1.jar -- I have a partial spring2 build, but I don't yet know whether it's functional
* wss4j-1.5.7.jar


==== sub-dependencies ====
ActiveMQ 5.6.0 dependencies:
 
* activesoap jaxp-api (replace with glassfish-jaxb-api)
ActiveMQ 5 dependencies:
* annogen
* apache-commons-primitives
* apacheds
* camel 2.9.2 or major, http://camel.apache.org/ (required modules: camel-core, camel-jetty, camel-jms, camel-spring)
* easymock-classextension
* easymock-classextension
 
* gentlyweb-utils
Axiom dependencies:
* groovy-gram
* osgi-bundle-utility (ch.jm.osgi.util.bundle -- figure out the appropriate name and POM structure for this)
* TODO jrms
* wstx
* mqtt-client
 
* karaf, module org.apache.karaf.shell.console
Axis2 dependencies:
* TODO fuse-extra (module fusemq-leveldb)
* ws-commons-neethi
* TODO pax-exam 1.x
* ws-commons-XmlSchema
* pax-logging
* possibly spring2 and many other things -- need to find the minimum requirement set here.
* sitemesh 2.4.2
* NOTE: we *may* be able to build a derivative project that *only* does WSDL2C -- grze has done some work on this, and it could simplify things immensely.
* gemini-blueprint see http://www.springsource.org/osgi (spring-osgi).
 
* springframework-ws
Infinispan dependencies
* xbean 3.9 or major: maven-xbean-plugin, TODO xbean-blueprint (see {{bz|849955}}) and xbean-spring modules
* rhq
* etc. (I am unsure of the full dep chain at this time
 
JasperReports dependencies:
* barcode4j
* eigenbase-properties (for mondrian)
* eigenbase-resgen (for mondrian)
* jexcelapi
* olap4j (for mondrian)
* TODO: mondrian
* TODO: commons-javaflow
* TODO: png-encoder
* TODO: barbecue
* TODO: jdt-compiler (is this already in as part of eclipse??)
* TODO: hibernate
 
Mule dependencies:
* aopalliance
* glassfish-jaf (or geronimo-activation)
* jsr107cache (for ehcache) -- note that with some simple code changes, I think jbosscache could replace this requirement
* java-uuid-generator
* ognl
* quartz
 
Spring2 dependencies (deps below are enough for a partial build):
* tiles-master
* tiles
* struts-master
* apache-parent
* hessian
* apache-portlet-1.0-api
* maven-injection-plugin
* apt-maven-plugin
* glassfish-jstl
* xml-maven-plugin
* myfaces-core
* commons-chain
* struts

Revision as of 17:17, 5 December 2013

This page is for tracking progress on the packaging Eucalyptus 3.x in Fedora. We've been tracking this for three releases now, and the dependency packaging is mostly complete, except for Google Web Toolkit, which we can omit for now. Therefore, it's more useful for the top of this page to summarize the _other_ changes needed to make Eucalyptus build and run on Fedora 18.

Remaining tasks

Polish systemd units for eucalyptus services

There are three init scripts in eucalyptus:

  • eucalyptus-cloud - starts a java service, which may be a Cloud Controller, Walrus, or Storage Controller
  • eucalyptus-cc - starts a Cluster Controller (CC), which is a custom httpd instance with wso2-axis2 configured
  • eucalyptus-nc - starts a Node Controller (NC), which is a custom httpd instance with wso2-axis2 configured

In Fedora 18, we provide systemd units which simple execute the old init scripts, which have been moved to /usr/libexec/eucalyptus. Ideally, the old init scripts should go away completely.

Create SELinux contexts/policies

Eucalyptus must run in permissive mode in Fedora 18. We need to work on policy that will allow it to run in enforcing mode.

Make Axis2/Java 1.6 work for code generation

The C code generated by Axis2/Java 1.6.0 does not work with Eucalyptus's currently defined handlers. Currently, one must use an Axis2/Java 1.4 package to build a tarball of generated code for inclusion in the eucalyptus package.

Fix the reporting module

There is a build issue in the reporting module due to the use of Guava 9 in the upstream Eucalyptus build. For now, the module has been disabled.

Enable the admin console

The admin console is based on GWT, which is not yet in Fedora. It may not be worth the time to build it, though, as Eucalyptus intends to phase out the GWT-based UI.

Packaging Progress

These are the packages still in progress which are necessary for the Eucalyptus build:

# Package Version POM Review request Packager Status Comments
27 gwt 2.4.0 arg Clean-up Required Required for admin console
36 josql 2.2 RHBZ #822832 gil In Rawhide ActiveMQ deps
47 mqtt-client 1.3 RHBZ #853055 gil In Rawhide ActiveMQ deps
48 groovy-gram 1.2 RHBZ #846561 gil Awaiting Review ActiveMQ deps
49 pax-logging 1.6.9 RHBZ #849469 gil In Rawhide ActiveMQ deps
50 sitemesh 2.4.2 RHBZ #853439 gil Awaiting Review ActiveMQ deps
51 apache-commons-primitives 1.1 RHBZ #832803 gil Awaiting Review ActiveMQ deps
52 felix-fileinstall 3.2.0 RHBZ #855192 gil Awaiting Review Apache Karaf deps
53 felix-webconsole 4.0.0 RHBZ #855193 gil Awaiting Review Apache Karaf deps
54 hawtbuf 1.9 RHBZ #853050 gil In Rawhide mqtt-client deps
55 hawtdispatch 1.11 RHBZ #853052 gil In Rawhide mqtt-client deps
56 oscache 2.4.1 RHBZ #849470 gil Awaiting Review Hibernate 3.x deps (module of the same name)
57 swarmcache 1.0 RHBZ #849471 gil Awaiting Review Hibernate 3.x deps (module of the same name)
58 activemq 5.6.0 RHBZ #857193 madsa Awaiting Review
59 classmate 0.5.4 RHBZ #815060 gil In Rawhide An Hibernate 4.x dependency. module hibernate-core
60 karaf 2.2.5 RHBZ #875692 gil Awaiting Review ActiveMQ deps
61 gemini-blueprint 1.0.2 RHBZ #866239 gil In Rawhide ActiveMQ deps
62 springframework-ws 2.0.5.RELEASE RHBZ #877152 gil In Rawhide ActiveMQ deps
63 camel 2.10.4 RHBZ #968136 gil Awaiting Review ActiveMQ deps

Optional dependencies and sub-dependencies

Enough of ActiveMQ is built for Eucalyptus to function. Packages mentioned here are only necessary to activate more of the activemq modules.

ActiveMQ 5.6.0 dependencies:

  • activesoap jaxp-api (replace with glassfish-jaxb-api)
  • annogen
  • apache-commons-primitives
  • apacheds
  • camel 2.9.2 or major, http://camel.apache.org/ (required modules: camel-core, camel-jetty, camel-jms, camel-spring)
  • easymock-classextension
  • gentlyweb-utils
  • groovy-gram
  • TODO jrms
  • mqtt-client
  • karaf, module org.apache.karaf.shell.console
  • TODO fuse-extra (module fusemq-leveldb)
  • TODO pax-exam 1.x
  • pax-logging
  • sitemesh 2.4.2
  • gemini-blueprint see http://www.springsource.org/osgi (spring-osgi).
  • springframework-ws
  • xbean 3.9 or major: maven-xbean-plugin, TODO xbean-blueprint (see RHBZ #849955) and xbean-spring modules
  • etc. (I am unsure of the full dep chain at this time