From Fedora Project Wiki

No edit summary
(181 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
* 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)
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 https://bugzilla.redhat.com/show_bug.cgi?id=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)


=== 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 98: Line 43:
!Comments
!Comments
|-
|-
|1
|27
|btm
|gwt
|2.1.1
|2.4.0
|
|
|
|{{bz|732150}}
|[[User:Arg|arg]]
|[[User:Arg|arg]]
|'''<span style="color:green">Approved</span>'''
|'''<span style="color:red">Clean-up Required</span>'''
|Required for admin console
|-
|36
|josql
|2.2
|
|
|{{bz|822832}}
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|-
|2
|47
|java-uuid-generator
|mqtt-client
|3.1.2
|1.3
|
|
|{{bz|7345454}}
|{{bz|853055}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:green">Approved</span>'''
|'''<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
|-
|-
|3
|49
|quartz
|pax-logging
|1.6.6
|1.6.9
|
|
|{{bz|849469}}
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|ActiveMQ deps
|-
|50
|sitemesh
|2.4.2
|
|
|[[User:Arg|arg]]
|{{bz|853439}}
|'''<span style="color:red">Blocked</span>'''
|[[User:gil|gil]]
|Requires a JAF implementation (geronimo-activation or glassfish-jaf)
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|-
|-
|4
|51
|ha-jdbc
|apache-commons-primitives
|2.0.16
|1.1
|
|
|{{bz|832803}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|-
|52
|felix-fileinstall
|3.2.0
|
|
|[[User:Arg|arg]]
|{{bz|855192}}
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|[[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
|-
|-
|5
|54
|proxool
|hawtbuf
|0.9.1
|1.9
|
|
|{{bz|853050}}
|[[User:gil|gil]]
|'''<span style="color:green">In Rawhide</span>'''
|mqtt-client deps
|-
|55
|hawtdispatch
|1.11
|
|
|[[User:Arg|arg]]
|{{bz|853052}}
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|[[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)
|-
|-
|6
|57
|rhq
|swarmcache
|4.1.0 (plugins-annotations is 3.0.1)
|1.0
|
|
|[[User:Arg|arg]]
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|
|
|{{bz|849471}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|Hibernate 3.x deps (module of the same name)
|-
|-
|7
|58
|wstx
|activemq
|3.2.8
|5.6.0
|
|
|{{bz|857193}}
|[[User:madsa|madsa]]
|'''<span style="color:orange">Awaiting Review</span>'''
|
|
|[[User:Arg|arg]]
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|This was rebuilt from JPP, and does not meet Fedora guidelines
|-
|-
|8
|59
|xml-security
|classmate
|1.4.2
|0.5.4
|
|
|
|{{bz|815060}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:red">Cleanup and Rebuild required</span>'''
|'''<span style="color:green">In Rawhide</span>'''
|This was rebuilt from JPP, and does not meet Fedora guidelines
|An Hibernate 4.x dependency. module hibernate-core
|-
|-
|9
|60
|axiom
|karaf
|1.2.8
|2.2.5
|
|
|
|{{bz|875692}}
|[[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
|-
|-
|10
|61
|htmlunit-core-js
|gemini-blueprint
|2.9
|1.0.2
|
|
|{{bz|735518}}
|{{bz|866239}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:blue">Review in Progress</span>'''
|'''<span style="color:green">In Rawhide</span>'''
|This is required for GWT
|ActiveMQ deps
|-
|-
|11
|62
|apache-parent
|springframework-ws
|10
|2.0.5.RELEASE
|
|
|{{bz|736069}}
|{{bz|877152}}
|[[User:Arg|arg]]
|[[User:gil|gil]]
|'''<span style="color:yellow">Awaiting Review</span>'''
|'''<span style="color:green">In Rawhide</span>'''
|This replaces an older POM from maven2-common-poms
|ActiveMQ deps
|-
|-
|12
|63
|axis2c
|camel
|1.6.0
|2.10.4
|N/A
|{{bz|735225}}
|[[User:Gholms|gholms]]
|'''<span style="color:blue">Review in Progress</span>'''
|
|
|{{bz|968136}}
|[[User:gil|gil]]
|'''<span style="color:orange">Awaiting Review</span>'''
|ActiveMQ deps
|}
|}


=== Dependencies left to build ===
=== Optional dependencies and sub-dependencies ===
 
* activemq 5.4.1
* 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 ====
Enough of ActiveMQ is built for Eucalyptus to function.  Packages mentioned here are only necessary to activate more of the activemq modules.


ActiveMQ 5 dependencies:
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
* easymock-classextension
 
* gentlyweb-utils
 
* groovy-gram
Axiom dependencies:
* TODO jrms
* osgi-bundle-utility (ch.jm.osgi.util.bundle -- figure out the appropriate name and POM structure for this)
* mqtt-client
* wstx
* karaf, module org.apache.karaf.shell.console
 
* TODO fuse-extra (module fusemq-leveldb)
 
* TODO pax-exam 1.x
Axis2 dependencies:
* pax-logging
* ws-commons-neethi
* sitemesh 2.4.2
* ws-commons-XmlSchema
* gemini-blueprint see http://www.springsource.org/osgi (spring-osgi).
* possibly spring2 and many other things -- need to find the minimum requirement set here.
* springframework-ws
 
* xbean 3.9 or major: maven-xbean-plugin, TODO xbean-blueprint (see {{bz|849955}}) and xbean-spring modules
Google Web Toolkit dependencies:
* etc. (I am unsure of the full dep chain at this time
* guava 09
* TODO: htmlunit
* htmlunit-core-js
 
Infinispan dependencies
* rhq
 
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)
* 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 18:43, 2 February 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 Awaiting Review 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 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