From Fedora Project Wiki

No edit summary
(192 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 ===


A [http://repos.fedorapeople.org/repos/arg/eucalyptus/ Fedora-hosted repository] was created last week as a workspace for this, but my quota was quickly exceeded, so I'll be moving this to a eucalyptus-hosted site soon.
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


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
* 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)
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.
* jetty-6.1.26-7.fc16.noarch (Euca uses 6.1.19 -- the problem appears to be that the Fedora jetty build is missing at least one class)
* jgroups-2.2.9.2-8.fc15.noarch (Euca uses 2.12.1.Final -- I'm talking to fnasser about updating this in Fedora)
* netty-3.2.3-3.fc15.noarch (Euca uses 3.1.0.CR1 -- we should be able to fix our code)


=== Working dependencies I've built ===
=== Enable the admin console ===


These are packages which I've built and can use in the Eucalyptus build; I need to clean them up and submit them:
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.


* btm-2.1.1-1.fc16 -- [https://bugzilla.redhat.com/show_bug.cgi?id=732150 BZ 732150]
== Packaging Progress ==
* ha-jdbc-2.0.16-1.fc16
* java-uuid-generator-3.1.2 [https://bugzilla.redhat.com/show_bug.cgi?id=735454 BZ 735454]
* proxool-0.9.1-1.fc16
* quartz-1.6.6-1.fc16
* rhq-4.0.1-2.fc16
* wstx-3.2.8-3.fc16
* xml-security-1.4.2-5.fc16


=== Dependencies left to build ===
These are the packages still in progress which are necessary for the Eucalyptus build:


* activemq 5.4.1
{|
* axiom 1.2.8 (I rebuilt ws-commons-axiom from JPP, but may do a cleaner repackaging)
* axis2
* geronimo-j2ee-connector-1.5-spec-1.1
* geronimo-jpa_2.0_spec-1.1 (Fedora includes only the 3.0 spec)
* guava-r09-gwt.jar (Guava is built but needs to be rebuilt after gwt is in)
* gwt 2.2 -- This one is tricky because the JARs we use right now have things like jsr-305 bundled inside them.
* 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 ====
!#
!Package
!Version
!POM
!Review request
!Packager
!Status
!Comments
|-
|27
|gwt
|2.4.0
|
|
|[[User:Arg|arg]]
|'''<span style="color:red">Clean-up Required</span>'''
|Required for admin console
|-
|36
|josql
|2.2
|
|<s>{{bz|822832}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|47
|mqtt-client
|1.3
|
|<s>{{bz|853055}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|48
|groovy-gram
|1.2
|
|{{bz|846561}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|-
|49
|pax-logging
|1.6.9
|
|<s>{{bz|849469}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|50
|sitemesh
|2.4.2
|
|{{bz|853439}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|-
|51
|apache-commons-primitives
|1.1
|
|{{bz|832803}}
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|52
|felix-fileinstall
|3.2.0
|
|<s>{{bz|855192}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|Apache Karaf deps
|-
|53
|felix-webconsole
|4.0.0
|
|{{bz|855193}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|Apache Karaf deps
|-
|54
|hawtbuf
|1.9
|
|<s>{{bz|853050}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|mqtt-client deps
|-
|55
|hawtdispatch
|1.11
|
|<s>{{bz|853052}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|mqtt-client deps
|-
|56
|oscache
|2.4.1
|
|{{bz|849470}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|Hibernate 3.x deps (module of the same name)
|-
|57
|swarmcache
|1.0
|
|{{bz|849471}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|Hibernate 3.x deps (module of the same name)
|-
|58
|activemq
|5.6.0
|
|<s>{{bz|857193}}</s>
|[[User:madsa|madsa]]
|'''<span style="color:green">In Rawhide</span>'''
|
|-
|59
|classmate
|0.5.4
|
|<s>{{bz|815060}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|An Hibernate 4.x dependency. module hibernate-core
|-
|60
|karaf
|2.2.5
|
|<s>{{bz|875692}}</s>
|[[User:gil|gil]]
|'''<span style="color:darkviolet">Skipped</span>'''
|ActiveMQ deps. This package was removed from review request queue.
|-
|61
|gemini-blueprint
|1.0.2
|
|<s>{{bz|866239}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|62
|springframework-ws
|2.0.5.RELEASE
|
|<s>{{bz|877152}}</s>
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|63
|camel
|2.10.4
|
|{{bz|968136}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|}


ActiveMQ 5 dependencies:
=== Optional dependencies and sub-dependencies ===
* easymock-classextension


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


Axiom dependencies:
ActiveMQ 5.6.0 dependencies:
* osgi-bundle-utility (ch.jm.osgi.util.bundle -- figure out the appropriate name and POM structure for this)
* activesoap jaxp-api (replace with glassfish-jaxb-api)
* wstx
* annogen
 
* apache-commons-primitives
 
* apacheds
Axis2 dependencies:
* camel 2.9.2 or major, http://camel.apache.org/ (required modules: camel-core, camel-jetty, camel-jms, camel-spring)
* ws-commons-neethi
* easymock-classextension
* ws-commons-XmlSchema
* gentlyweb-utils
* possibly spring2 and many other things -- need to find the minimum requirement set here.
* groovy-gram
 
* TODO jrms
Google Web Toolkit dependencies:
* mqtt-client
* guava 09
* karaf, module org.apache.karaf.shell.console
 
* TODO fuse-extra (module fusemq-leveldb)
Infinispan dependencies
* TODO pax-exam 1.x
* rhq
* pax-logging
 
* sitemesh 2.4.2
JasperReports dependencies:
* gemini-blueprint see http://www.springsource.org/osgi (spring-osgi).
* barcode4j
* springframework-ws
* eigenbase-properties (for mondrian)
* xbean 3.9 or major: maven-xbean-plugin, TODO xbean-blueprint (see {{bz|849955}}) and xbean-spring modules
* eigenbase-resgen (for mondrian)
* etc. (I am unsure of the full dep chain at this time
* 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
* jsr107cache (for ehcache)
* 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 14:49, 15 April 2015

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 In Rawhide ActiveMQ deps
52 felix-fileinstall 3.2.0 RHBZ #855192 gil In Rawhide 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 In Rawhide
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 Skipped ActiveMQ deps. This package was removed from review request queue.
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