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


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 None TODO
commons-compress Red None DONE
commons-el fnasser None TODO
commons-codec mbooth None ON REVIEW
commons-launcher mbooth None ON REVIEW
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