From Fedora Project Wiki
No edit summary
Line 1: Line 1:
'''BREAKING NEWS: It looks like spring might only be required for one isolated sub-package -- dependencies may not be as bad as I thought!!'''
== The new stuff ==


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 the unmet dependencies when I try to "rpmbuild --rebuild" the jpackage RPM on my computer (running fully-updated Fedora 12).
Going back to first principles -- and patching spring (and its crazy dependency chain) out of the process -- I've managed as of today (24/11/2009) to create a SRPM of sesame that builds on my computer. There are a number of dependencies, most of them supporting packages from aduna-commons and aduna-appbase. There are also four existing Fedora packages -- mysql-connector-java, postgresql-jdbc, jakarta-commons-fileupload, and jakarta-commons-pool -- which need minor updates in order for Sesame to build successfully against them.


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).
The following graph (NB: TO BE ADDED SOON) shows the dependency chain. The colour scheme is as follows: red indicates a package which is pending in Fedora (under review or awaiting CVS); blue indicates an existing Fedora package which needs an update; and dotted lines indicate dependencies which I have patched out.


There are various "api" packages required that I'm not sure where they come from -- could be geronimo-specs, could be elsewhere. I'm going to concentrate on the other stuff first.
=== Relevant bugs ===


Packages that are leaf nodes (no non-Fedora dependencies) are marked in '''bold'''; these will be the first lot to be imported. In some cases, I'm not 100% sure that there are no dependencies yet, mostly because of Maven plugin names, but I'll mark those anyway at this point.
* Packages under review
** janino: https://bugzilla.redhat.com/show_bug.cgi?id=530986
** xml-security: https://bugzilla.redhat.com/show_bug.cgi?id=532535 (probably duplicate of https://bugzilla.redhat.com/show_bug.cgi?231305 -- stalled old review)


== Current review requests ==
* Requested updates to existing Fedora packages:
** jakarta-commons-fileupload: https://bugzilla.redhat.com/show_bug.cgi?id=540447
** jakarta-commons-pool: https://bugzilla.redhat.com/show_bug.cgi?id=538483
** mysql-connector-java: https://bugzilla.redhat.com/show_bug.cgi?id=538493
** postgresql-jdbc: https://bugzilla.redhat.com/show_bug.cgi?id=538487


'' Please do not review any of these packages -- turns out I didn't do a good enough job of searching for existing packages/review requests before filing them. I'm in the process of cleaning up the list. Sorry about that. :(''
 
== Former review requests (for posterity) ==
 
'' Please do not review any of these packages until further notice -- turns out I didn't do a good enough job of searching for existing packages/review requests before filing them. I'm in the process of cleaning up the list. Sorry about that. :(''
* aopalliance - Java/J2EE AOP standards https://bugzilla.redhat.com/show_bug.cgi?id=532519
* aopalliance - Java/J2EE AOP standards https://bugzilla.redhat.com/show_bug.cgi?id=532519
** Duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=479598; currently blocking on a legal/licensing issue
** Duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=479598; currently blocking on a legal/licensing issue
Line 41: Line 50:


== Unmet dependencies from the jpackage version of spring ==
== Unmet dependencies from the jpackage version of spring ==
I'm keeping this list for posterity, but note that most of this is not actually needed for sesame if I patch out the http-server-spring subpackage.


* annotation_1_0_api -- Not sure
* annotation_1_0_api -- Not sure
Line 166: Line 177:
* ws_metadata_2_0_api -- Not sure
* ws_metadata_2_0_api -- Not sure
* xapool -- needs carol, jotm, p6spy
* xapool -- needs carol, jotm, p6spy
== 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 -- UP FOR REVIEW'''
== Additional maven plugins needed ==
* maven-doxia-tools-1.0.2.jar
** Not sure if this is included in maven-doxia -- homepage at [http://maven.apache.org/shared/maven-doxia-tools/]
* maven-filtering-1.0-beta-2.jar, maven-filtering-1.0-beta-3.jar
** Available through [http://maven.apache.org/shared/maven-filtering/]
* maven-toolchain-1.0.jar
** Possibly available by following links on [http://maven.apache.org/guides/mini/guide-using-toolchains.html]
* 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)

Revision as of 11:15, 24 November 2009

The new stuff

Going back to first principles -- and patching spring (and its crazy dependency chain) out of the process -- I've managed as of today (24/11/2009) to create a SRPM of sesame that builds on my computer. There are a number of dependencies, most of them supporting packages from aduna-commons and aduna-appbase. There are also four existing Fedora packages -- mysql-connector-java, postgresql-jdbc, jakarta-commons-fileupload, and jakarta-commons-pool -- which need minor updates in order for Sesame to build successfully against them.

The following graph (NB: TO BE ADDED SOON) shows the dependency chain. The colour scheme is as follows: red indicates a package which is pending in Fedora (under review or awaiting CVS); blue indicates an existing Fedora package which needs an update; and dotted lines indicate dependencies which I have patched out.

Relevant bugs


Former review requests (for posterity)

Please do not review any of these packages until further notice -- turns out I didn't do a good enough job of searching for existing packages/review requests before filing them. I'm in the process of cleaning up the list. Sorry about that. :(

Unmet dependencies from the jpackage version of spring

I'm keeping this list for posterity, but note that most of this is not actually needed for sesame if I patch out the http-server-spring subpackage.

  • annotation_1_0_api -- Not sure
  • aopalliance -- UP FOR REVIEW
  • apache-ibatis-sqlmap >= 0:2.3.2 -- needs cglib, derby, db-ojb
    • derby: UP FOR REVIEW
    • db-ojb: apache-jdo-1.1*, other stuff ...
  • apache-jdo-2.0-api -- probably just needs renaming of dependencies
    • NO: Building the newest version (2.2) needs geronimo-jpa_3.0_spec-1.0, which is not in current Fedora geronimo-specs package
  • aspectj >= 0:1.5.3 -- jpackage, in progress (seems to want an old JDK (< 0:1.5.0, investigate)
  • bsh2 -- Fedora has bsh v.1
  • burlap >= 0:3.0.8 -- needs caucho-services, hessian
    • caucho-services: builds fine is it current? the SRPM uses a gentoo source bundle ...
  • c3p0 >= 0:0.9.0 -- no deps, build issues -- doesn't work with the 1.6 version of javax.sql; can I make it use 1.5?
  • cglib -- needs (aspeckwerkz and) jarjar
    • aspectwerkz: jarjar, jrexx, piccolo, gnu-trove
      • jrexx: UP FOR REVIEW
      • piccolo: includes very old bundled libraries; don't really need it
      • gnu-trove: UP FOR REVIEW
  • commonj_1_1_apis -- Not sure
  • easymock-classextension -- needs cglib
  • ehcache >= 0:1.3.0 -- jpackage has 1.3.0, which requires many things including spring v1 (WTF?). Maybe try updating to 1.5.0 for Fedora
  • ejb_3_0_api -- Not sure
  • el_1_0_api -- Not sure
  • geronimo-interceptor-3.0-api -- Not sure
  • glassfish-javamail >= 0:1.4.0 -- needs glassfish-jaf
    • glassfish-jaf: builds fine
  • glassfish-jstl -- needs jbossweb (urgh)
  • glassfish-persistence-impl -- should be fine
  • groovy15 -- needs cglib, jarjar, jmock, mockobjects, openejb1, xstream
    • jmock: needs cglib
    • mockobjects: no extra deps; VERY VERY old and may not be worth patching
    • openejb: needs a bunch of maven stuff (probably just package name issues), along with castor0
      • castor0: needs cglib, ldapsdk, mockejb, tyrex
        • ldapsdk: UP FOR REVIEW
        • 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: UP FOR REVIEW
                • jcifs: UP FOR REVIEW
        • 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
  • hessian -- UP FOR REVIEW (investigate "hessian-nodep" though)
  • hibernate3 -- 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; project seems defunct
      • jakarta-commons-logging: Fedora has 1.0
    • swarmcache: builds cleanly
    • proxool: no extra dependencies, but jpackage SRPM seems corrupt
    • docbook-xsl-saxon: builds cleanly
  • hibernate3-annotations -- needs cglib, hibernate3, hibernate3-ejb-persistence-3.0-api
    • hibernate3-ejb-persistence-3.0-api: no deps, builds cleanly
  • hibernate3-entitymanager -- cglib, hibernate3, hibernate3-annotations, hibernate3-ejb-persistence-3.0-api, jboss-common
  • j2ee_connector_1_5_api -- Not sure
  • jakarta-cactus -- needs aspectj, cargo, maven stuff
    • cargo: needs ITSELF (?!?!), jmock, gnu-trove, jakarta-commons-vfs
  • jakarta-commons-attributes -- no deps, build failure
  • jakarta-poi >= 0:2.5.1 -- needs commons-logging > 1.1 (Fedora has 1.0)
  • jamonapi -- needs interceptor_3_0_api (not sure)
  • jarjar -- UP FOR REVIEW
  • jasperreports >= 0:2.0.4 -- needs jakarta-commons-javaflow jakarta-poi
    • jakarta-commons-javaflow: needs junit-addons maven2-default-skin mojo-maven2-plugin-taglist jakarta-commons-jci
    • maven2-default-skin: not sure on deps
    • mojo-maven2-plugin-taglist: from huge mojo-maven-plugins SRPM
    • jakarta-commons-jci: groovy15 vafer-dependency
      • vafer-dependency: UP FOR REVIEW
  • jboss4-common -- not sure where this comes from
  • jexcelapi -- UP FOR REVIEW
  • jmock -- needs cglib
  • jotm -- needs carol howl-logger jonathan-core jonathan-jeremie openorb-ots kilim1
    • carol (NB: jpackage version (2.2.7) seems newer than anything I'm currently able to download from http://carol.ow2.org/): carol-irmi carol-cmi jonathan-core jonathan-jeremie monolog kilim1 nanoxml-lite
      • carol-irmi: no deps, builds fine
      • carol-cmi: probably fine, just dep names -- not a separate package any more?
      • monolog: p6spy
        • p6spy: needs jboss :(
    • jonathan-core: kilim1 monolog nanoxml-lite
    • jonathan-jeremie: jonathan-core kilim1 monolog
    • kilim1: nanoxml-lite
    • nanoxml-lite: UP FOR REVIEW (as part of nanoxml package)
  • jpa_3_0_api -- Not sure
  • jruby >= 0:1.1.1 -- requires jarjar joni jruby-bytelist jvyamlb retroweaver; there's a dead Fedora package that could be resurrected
    • joni: no deps
    • jvyamlb: jruby-bytelist
    • retroweaver (may not be needed actually): wants a lot of JREs(?)
  • jruby-bytelist: no extra deps, builds clean
  • jsf_1_2_api -- Not sure
  • junit44 >= 0:4.4 -- Fedora has a 3.x version
  • junit-addons -- UP FOR REVIEW
  • ognl -- UP FOR REVIEW
  • openjpa >= 0:1.0.1 -- needs derby docbkx docbook-xml serp
    • docbkx: maven stuff, avalon stuff (renaming), and xslthl
      • xlslthl: builds clean
    • docbook-xml: nodeps, builds clean
  • portlet-1.0-api -- needs maven stuff (plugin name issues)
    • NO: Newer version on website needs extra Maven love to compile
  • quartz16 -- needs lots of APIs and jboss :(
  • saaj_1_3_api -- Not sure
  • serp: UP FOR REVIEW (although it's probably obsolete ...
  • struts >= 0:1.3.8 -- Fedora has 1.2.9
  • struts-tiles >= 0:1.3.8 -- See if this is in the Fedora package
  • testng -- needs bsh2 and qdox18
    • qdox18: maven2-plugin-release jmock jakarta-slide-webdavclient xsite
      • xsite: maven-release nanocontainer sitemesh xstream
        • nanocontainer: aopalliance bsh2 cglib1(really?) dynaop groovy15 jakarta-commons-logging >= 1.1 jakarta-commons-vfs jmock jruby picocontainer proxytoys rhino16 xstream
          • dynaop: cglib1 bsh2
          • picocontainer: cglib jakarta-slide-webdavclient jmock prefuse proxytoys xstream
            • prefuse: lucene1 (ick ...)
          • proxytoys: jmock cglib xstream
          • rhino16: xmlbeans
            • xmlbeans: saxon8 saxon8-dom saxon8-xpath
              • saxon8 (all same SRPM): no outstanding deps; may be better to get existing saxon(v6) package upgraded
  • tiles -- 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 >= 0:1.5 -- Fedora has 1.4
  • velocity-tools -- needs struts >= 0:1.3.8, struts-taglib, struts-tiles, velocity-dvsl, mojo-maven-plugin-taglist, maven2-default-skin
    • velocity-dvsl: needs velocity >= 0:1.5, mojo-maven-plugin-taglist, maven2-default-skin
  • wsdl4j -- UP FOR REVIEW
  • ws_metadata_2_0_api -- Not sure
  • xapool -- needs carol, jotm, p6spy