From Fedora Project Wiki

Revision as of 14:51, 22 October 2010 by Akurtakov (talk | contribs) (Jakarta-commons rename to apache-commons)

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 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 spike None DONE[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 spike lang, logging DONE[17]
commons-jxpath sochotni beanutils, collections, logging DONE[18]
commons-dbcp spike collections, pool DONE[19]
commons-digester mbooth beanutils, logging DONE [20]
commons-modeler mbooth beanutils, collections, digester, logging ON REVIEW[21]
commons-validator mbooth beanutils, collections, digester, logging DONE[22]
commons-configuration sochotni beanutils, codec, collections, dbcp, digester, jxpath, lang, logging, pool DONE[23]


  • 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.