From Fedora Project Wiki

Jakarta-commons rename to apache-commons

This page hosts information about the next rename of jakarta-commons packages[1] to apache-commons[2]. This change should happend in rawhide for Fedora 14.


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


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 None TODO
commons-compress Red None DONE
commons-el fnasser None TODO
commons-codec mbooth None ON REVIEW
commons-launcher mbooth None TODO
commons-pool mbooth None TODO
commons-logging sochotni None DONE
commons-discovery sochotni logging DONE
commons-daemon sochotni None WORKING
commons-io sochotni None ON REVIEW
commons-fileupload sochotni io TODO
commons-lang sochotni None ON REVIEW
commons-net sochotni None ON REVIEW
commons-beanutils fnasser collections, logging TODO
commons-cli jmrodri lang, logging TODO
commons-httpclient sochotni codec, logging TODO
commons-jxpath fnasser beanutils, collections, logging TODO
commons-dbcp mbooth collections, pool TODO
commons-digester mbooth beanutils, logging ON REVIEW
commons-modeler mbooth beanutils, collections, digester, logging TODO
commons-validator mbooth beanutils, collections, digester, logging TODO
commons-configuration fnasser beanutils, codec, collections, dbcp, digester, jxpath, lang, logging, pool TODO