From Fedora Project Wiki

(Progress)
(Progress)
Line 65: Line 65:
| commons-beanutils || sochotni || collections, logging || '''<span style="color:green">DONE[https://bugzilla.redhat.com/show_bug.cgi?id=594756]</span> '''
| commons-beanutils || sochotni || collections, logging || '''<span style="color:green">DONE[https://bugzilla.redhat.com/show_bug.cgi?id=594756]</span> '''
|-
|-
| commons-cli || jmrodri || lang, logging || '''<span style="color:red">TODO</span> '''
| commons-cli || jmrodri || lang, logging || '''<span style="color:blue">ON REVIEW[https://bugzilla.redhat.com/show_bug.cgi?id=639719]</span> '''
|-
|-
| commons-jxpath || sochotni || beanutils, collections, logging || '''<span style="color:green">DONE[https://bugzilla.redhat.com/show_bug.cgi?id=595749]</span> '''
| commons-jxpath || sochotni || beanutils, collections, logging || '''<span style="color:green">DONE[https://bugzilla.redhat.com/show_bug.cgi?id=595749]</span> '''

Revision as of 15:54, 3 October 2010

Jakarta-commons rename to apache-commons

This page hosts information about the next rename of jakarta-commons packages[1] to apache-commons[2].


Important.png
This is important
THIS CHANGE SHOULD HAPPEN IN RAWHIDE FOR FEDORA 14 ONLY.

How

This part should give you information how to rename and rebase your jakarta package to create a new apache one.

  • check if new upstream version exists, if so...use it
  • rename spec file (pretty obvious eh?)
  • add BuildArch: noarch
  • replace %define with %global (this policy is newer then jakarta spec files) and define substitute names. For example
    • %global base_name logging
    • %global short_name commons-%{base_name}
  • make sure Source0 URL, project URL etc all use macros for name/version of the package
  • strip changelog (and create your own stating that this is rename of jakarta- package)
  • add Provides/Obsoletes for package (! also for javadoc sub-packages)
    • you might need to add new Epoch so that package can replace jakarta-commons version with same version
    • for javadoc sub-packages it is enough to obsolete
  • be sure to add java-devel to BR/R, otherwise things can fail because normally gcj devel version is pulled in
  • build package with maven if there is usable pom.xml file
    • you will need additional R/BR in specfile.
    • in special cases depmap might need to be created (see apache-commons-logging for example)
    • in some cases tests can fail due to various reason. Until maven is updated this can be worked around by adding -Dmaven.test.skip=true to mvn-jpp
    • if the pom file depends on maven-release-plugin you will have to patch it out of pom. This is provided by maven2 package for now (review bug open for separate plugin as of now)
    • call %add_to_maven_depmap GROUP_ID ARTIFACT_ID %{version} JPP %{name}
      • GROUP_ID/ARTIFACT_ID are in maven repositories. You should leave also older calls to add_maven_depmap if it uses wrong GROUP_ID/ARTIFACT_ID to ensure backward compatibility
      • if original jakarta-commons package didn't provide pom file, make sure that entry for this package is removed from maven2-common-poms and include backward compatible add_to_maven_depmap
  • make sure you are creating all needed symlinks in _javadocdir/javadir
  • standard packaging guidelines apply of course

Progress

Following table lists packages in jakarta-commons, their cross-dependencies and owners responsible for them. Packages with no dependencies can be renamed immediately. Others should wait for their dependencies to rename first.

Package Owner Dependencies Status
commons-collections devrim/carl None DONE[3]
commons-compress Red None DONE[4]
commons-el sochotni None DONE[5]
commons-codec mbooth None DONE[6]
commons-launcher mbooth None DONE [7]
commons-pool mbooth None ON REVIEW[8]
commons-logging sochotni None DONE [9]
commons-discovery sochotni logging DONE [10]
commons-daemon sochotni None DONE [11]
commons-io sochotni None DONE [12]
commons-fileupload sochotni io DONE [13]
commons-lang sochotni None DONE [14]
commons-net sochotni None DONE [15]
commons-beanutils sochotni collections, logging DONE[16]
commons-cli jmrodri lang, logging ON REVIEW[17]
commons-jxpath sochotni beanutils, collections, logging DONE[18]
commons-dbcp mbooth collections, pool TODO
commons-digester mbooth beanutils, logging DONE [19]
commons-modeler mbooth beanutils, collections, digester, logging ON REVIEW[20]
commons-validator mbooth beanutils, collections, digester, logging ON REVIEW[21]
commons-configuration sochotni beanutils, codec, collections, dbcp, digester, jxpath, lang, logging, pool DONE[22]


  • jakarta-commons-httpclient - It is not part of apache commons but a top-level project. As a result we will leave jakarta-commons-httpclient package for now and package the new one allowing the 2 to coexist.