From Fedora Project Wiki
No edit summary
Line 1: Line 1:
The big issue for Sesame2 is in fact spring (http://www.springsource.com/), which has a lot of dependencies. There is an existing jpackage package at http://jpackage.org/browser/rpm.php?jppversion=6.0&id=6779, but of course it has a lot of dependencies itself. The following list of dependencies is extracted from the Spring documentation rather than the jpackage package; I'll look at the jpackage package soon and see whether some of these can be removed. Hopefully they've already done the Oracle and WebSphere removals ... :)
The big issue for Sesame2 is in fact spring (http://www.springsource.com/), which has a lot of dependencies. There is an existing jpackage package at http://jpackage.org/browser/rpm.php?jppversion=6.0&id=6779, but of course it has a lot of dependencies itself. I've shown both the unmet dependencies when I try to "rpmbuild --rebuild" the jpackage RPM on my computer, as well as the dependencies actually listed in the documentation of Spring itself. There's obviously some overlap, so I'll work on fixing that shortly ...


There are also a few libraries needed by sesame2 itself that don't come from Spring, along with a few extra Maven plugins that seem to be needed for the build (but may turn out to be unnecessary in the end, I hope).
There are also a few libraries needed by sesame2 itself that don't come from Spring, along with a few extra Maven plugins that seem to be needed for the build (but may turn out to be unnecessary in the end, I hope).


== Dependencies for spring ==
== Unmet dependencies from the jpackage version of spring ==
 
junit-addons
junit44 >= 0:4.4
annotation_1_0_api
aopalliance
apache-ibatis-sqlmap >= 0:2.3.2
apache-jdo-2.0-api
openjpa >= 0:1.0.1
aspectj >= 0:1.5.3
bsh2
burlap >= 0:3.0.8
c3p0 >= 0:0.9.0
cglib
commonj_1_1_apis
easymock-classextension
ehcache >= 0:1.3.0
ejb_3_0_api
el_1_0_api
geronimo-interceptor-3.0-api
glassfish-jstl
glassfish-persistence-impl
groovy15
hessian-nodep
hibernate3
hibernate3-annotations
hibernate3-entitymanager
j2ee_connector_1_5_api
jakarta-cactus
jakarta-commons-attributes
jamonapi
jarjar
jasperreports >= 0:2.0.4
glassfish-javamail >= 0:1.4.0
jboss4-common
jexcelapi
jmock
jotm
jpa_3_0_api
jruby >= 0:1.1.1
jruby-bytelist
jakarta-poi >= 0:2.5.1
jsf_1_2_api
ognl
portlet-1.0-api
quartz16
saaj_1_3_api
serp
struts >= 0:1.3.8
struts-tiles >= 0:1.3.8
testng
tiles
velocity >= 0:1.5
velocity-tools
ws_metadata_2_0_api
wsdl4j16
xapool
 
== Dependencies for spring (from its own documentation) ==
* aopalliance/aopalliance.jar -- jpackage, ready to import
* aopalliance/aopalliance.jar -- jpackage, ready to import
* aspectj/aspectjweaver.jar, aspectj/aspectjrt.jar, (aspectj/aspectjtools.jar) -- jpackage, in progress (seems to want an old JDK (< 0:1.5.0, investigate)
* aspectj/aspectjweaver.jar, aspectj/aspectjrt.jar, (aspectj/aspectjtools.jar) -- jpackage, in progress (seems to want an old JDK (< 0:1.5.0, investigate)

Revision as of 14:05, 30 October 2009

The big issue for Sesame2 is in fact spring (http://www.springsource.com/), which has a lot of dependencies. There is an existing jpackage package at http://jpackage.org/browser/rpm.php?jppversion=6.0&id=6779, but of course it has a lot of dependencies itself. I've shown both the unmet dependencies when I try to "rpmbuild --rebuild" the jpackage RPM on my computer, as well as the dependencies actually listed in the documentation of Spring itself. There's obviously some overlap, so I'll work on fixing that shortly ...

There are also a few libraries needed by sesame2 itself that don't come from Spring, along with a few extra Maven plugins that seem to be needed for the build (but may turn out to be unnecessary in the end, I hope).

Unmet dependencies from the jpackage version of spring

junit-addons junit44 >= 0:4.4 annotation_1_0_api aopalliance apache-ibatis-sqlmap >= 0:2.3.2 apache-jdo-2.0-api openjpa >= 0:1.0.1 aspectj >= 0:1.5.3 bsh2 burlap >= 0:3.0.8 c3p0 >= 0:0.9.0 cglib commonj_1_1_apis easymock-classextension ehcache >= 0:1.3.0 ejb_3_0_api el_1_0_api geronimo-interceptor-3.0-api glassfish-jstl glassfish-persistence-impl groovy15 hessian-nodep hibernate3 hibernate3-annotations hibernate3-entitymanager j2ee_connector_1_5_api jakarta-cactus jakarta-commons-attributes jamonapi jarjar jasperreports >= 0:2.0.4 glassfish-javamail >= 0:1.4.0 jboss4-common jexcelapi jmock jotm jpa_3_0_api jruby >= 0:1.1.1 jruby-bytelist jakarta-poi >= 0:2.5.1 jsf_1_2_api ognl portlet-1.0-api quartz16 saaj_1_3_api serp struts >= 0:1.3.8 struts-tiles >= 0:1.3.8 testng tiles velocity >= 0:1.5 velocity-tools ws_metadata_2_0_api wsdl4j16 xapool

Dependencies for spring (from its own documentation)

  • aopalliance/aopalliance.jar -- jpackage, ready to import
  • aspectj/aspectjweaver.jar, aspectj/aspectjrt.jar, (aspectj/aspectjtools.jar) -- jpackage, in progress (seems to want an old JDK (< 0:1.5.0, investigate)
  • bsh/bsh-2.0b4.jar -- fedora has 1.3.0, test if that's good enough
  • c3p0/c3p0-0.9.1.2.jar -- jpackage, in progress (nodeps)
  • caucho/hessian-3.1.3.jar -- jpackage, in progress (nodeps)
  • cglib/cglib-nodep-2.1_3.jar -- jpackage, needs aspeckwerkz and jarjar
    • aspectwerkz: jarjar, jrexx, piccolo, gnu-trove
      • jrexx: no extra deps, builds well
      • piccolo: no extra deps, builds well
      • gnu-trove: no extra deps, builds well
  • eclipselink/eclipselink.jar -- doesn't seem to be anywhere; homepage http://www.eclipse.org/eclipselink/'
  • ehcache/ehcache-1.5.0.jar -- jpackage has 1.3.0, which requires many things including spring (WTF?). Maybe try updating to 1.5.0 for Fedora
  • groovy/groovy-1.5.6.jar -- jpackage has groovy15, needs cglib, jarjar, jmock, mockobjects, openejb1, xstream (all jpackage)
    • jmock: needs cglib and asm
    • mockobjects: no extra deps
    • openejb: needs a bunch of maven stuff (probably just package name issues), along with castor0
      • castor0: needs cglib, ldapsdk, mockejb, tyrex
        • ldapsdk: no unpackaged deps, in progress
        • mockejb: aspectj, cglib, jakarta-cactus
          • jakarta-cactus: aspectj, cargo, maven stuff
            • cargo: needs ITSELF (?!?!), jmock, gnu-trove, jakarta-commons-vfs
              • jakarta-commons-vfs: jakarta-slide-webdavclient, jcifs
                • jakarta-slide-webdavclient: jakarta-commons-transaction, xml-im-exporter
                  • jakarta-commons-transaction: builds cleanly
                  • xml-im-exporter: builds cleanly
                • jcifs has no unmet deps, compile error
        • tyrex: castor0(?!) ldapsdk, openorb, openorb-tns
          • openorb*: avalon stuff (package name issue only), excalibur-configuration (is obsolete! may need to patch openorb)
    • xstream: needs cglib, jettison, jmock, wstx
      • jettison: needs jakarta-slide-webdavclient
      • wstx: no extra dependencies; builds nicely, nearly done -- dead old review request
  • glassfish/glassfish-clapi.jar -- Not sure, glassfish is in jpackage but dunno about this
  • hibernate/hibernate3.jar, hibernate/hibernate-annotations.jar, hibernate/hibernate-commons-annotations.jar -- jpackage, needs cglib jboss-cache jboss-common ehcache oscache swarmcache c3p0 proxool docbook-xsl-saxon
    • jboss*: I really don't want to package this too ... :(
    • oscache: ivy hibernate3(?!) jakarta-commons-logging >= 1.1
      • ivy: builds clean
      • jakarta-commons-logging: Fedora has 1.0
    • swarmcache: builds cleanly
    • proxool: no extra dependencies, but jpackage SRPM seems corrupt
    • docbook-xsl-saxon: builds cleanly
  • ibatis/ibatis-2.3.4.726.jar -- in jpackage as apache-ibatis; needs cglib, derby, db-ojb
    • derby: most deps seem to be there, but with different names
    • db-ojb: apache-jdo-1.1*, other stuff ...
  • jakarta-commons/commons-attributes-api.jar, jakarta-commons/commons-attributes-compiler.jar -- in jpackage, no deps, build failure
  • jamon/jamon-2.7.jar -- Not packaged, homepage is http://www.jamonapi.com
  • jarjar/jarjar.jar -- jpackage, no deps, builds clean
  • jasperreports/jasperreports-2.0.5.jar --- Not packaged, homepage is http://jasperreports.sourceforge.net
  • jdo/jdo2-api.jar -- In jpackage as apache-jdo; probably just needs renaming of dependencies
  • jexcelapi/jxl.jar -- Not packaged, homepage is http://jexcelapi.sourceforge.net
  • jotm/jotm.jar -- Not packaged, homepage is http://jotm.objectweb.org
  • jotm/xapool.jar -- Not packaged, homepage is http://xapool.experlog.com
  • jruby/jruby.jar -- jpackage, requires jarjar joni jruby-bytelist jvyamlb retroweaver; there's a dead Fedora package that could be resurrected
    • joni: no deps
    • jruby-bytelist: no extra deps, builds clean
    • jvyamlb: jruby-bytelist
    • retroweaver (may not be needed actually): wants a lot of JREs(?)
  • openjpa/openjpa-1.1.0.jar -- In jpackage (1.0.2), needs derby docbkx docbook-xml serp
    • docbkx: maven stuff, avalon stuff (renaming), and xslthl
      • xlslthl: builds clean
    • docbook-xml: nodeps, builds clean
    • serp: maven plugins
  • poi/poi-3.0.1.jar -- Not packaged, homepage is http://jakarta.apache.org/poi
  • portlet/portlet-api.jar -- In jpackage as apache-portlet, needs maven stuff (plugin name issues)
  • quartz/quartz-all-1.6.1.jar --- Not packaged, homepage is http://www.opensymphony.com/quartz
  • tiles/tiles-api-2.0.6.jar, tiles/tiles-core-2.0.6.jar, tiles/tiles-jsp-2.0.6.jar -- In jpackage, needs maven stuff, portlet_1.0_api, shale-test
    • shale-test: srpm is "shale", requires lots of stuff, hopefully it's just for running tests and can be patched out
  • velocity/velocity-1.5.jar, velocity/velocity-tools-view-1.4.jar -- Fedora has 1.4
  • jmx/jmxremote_optional.jar -- "JMXMP connector (from JMX Remote API 1.0.1 reference implementation), required at runtime when using the JMXMP connector" -- may not be needed
  • serp/serp-1.13.1.jar -- jpackage, needs some maven plugins (probably just renaming)


Spring dependencies to patch out

  • websphere/websphere_uow_api.jar -- Probably not usable (extracted from WebSphere), patch out
  • oc4j/oc4j-clapi.jar, toplink/toplink-api.jar, toplink/toplink-essentials.jar -- All from Oracle, must patch out

Other dependencies (aside from those required by spring)

  • aduna-appbase-core-3.4.1.jar, aduna-appbase-logging-api-3.4.1.jar, aduna-appbase-logging-file-3.4.1.jar, aduna-appbase-webapp-base-core-3.4.1.jar, aduna-commons-collections-2.3.jar, aduna-commons-concurrent-2.2.jar, aduna-commons-i18n-1.0.jar, aduna-commons-io-2.4.jar, aduna-commons-iteration-2.3.jar, aduna-commons-lang-2.3.jar, aduna-commons-net-2.2.jar, aduna-commons-net-http-server-embedded-2.1.jar, aduna-commons-platform-info-2.4.jar, aduna-commons-text-2.2.jar, aduna-commons-webapp-core-2.4.jar, aduna-commons-xml-2.2.jar
  • logback-classic-0.9.9.jar, logback-core-0.9.9.jar -- Not packaged, homepage is http://www.logback.ch/, package (based on Debian) nearly ready
  • plexus-build-api-0.0.4.jar -- Not packaged, Debian package at http://packages.debian.org/source/sid/plexus-build-api
  • plexus-interpolation-1.13.jar, plexus-interpolation-1.6.jar -- Not packaged, homepage is http://plexus.codehaus.org/plexus-components/plexus-interpolation/
  • plexus-io-1.0-alpha-1.jar -- jpackage only, dependencies not checked yet
  • uba-1.7.jar, ubt-1.1.jar -- Not packaged, homepage is http://swat.cse.lehigh.edu/projects/lubm/, packages nearly ready
  • xmlsec-1.3.0.jar -- In jpackage as xml-security, builds cleanly
  • xstream-1.3.1.jar -- Jpackage, needs cglib jettison jmock wstx

Additional maven plugins needed

  • maven-doxia-tools-1.0.2.jar
    • Not sure if this is included in maven-doxia -- homepage at [1]
  • maven-filtering-1.0-beta-2.jar, maven-filtering-1.0-beta-3.jar
    • Available through [2]
  • maven-toolchain-1.0.jar
    • Possibly available by following links on [3]
  • tomcat-maven-plugin-1.0-beta-1.jar
    • Packaged in jpackage as part of huge mojo-maven-plugins SRPM -- see if it can be extracted (or patched out of the build process)