From Fedora Project Wiki

(clarify step one.)
(Stress that the order of the steps is important)
Line 1: Line 1:
<!-- page was renamed from Extras/PackageEndOfLife
<!-- page was renamed from Extras/PackageEndOfLife
-->
-->
When a package reaches the end of its useful life, the following steps will let other people -- and automated processes! -- know both not to expect any more releases, and why it was removed.  The process is simple.
When a package reaches the end of its useful life, the following procedure will let other people -- and automated processes! -- know both not to expect any more releases, and why it was removed.  The process is simple.


For this example, we'll remove the package ''foo''.
Please execute the following steps in the order indicated.


# Make sure the package is properly Obsoleted/Provided by something <b>if</b> it is being replaced, see [[Packaging/NamingGuidelines#Renaming.2Freplacing_existing_packages|Renaming/Replacing Guidelines]]. If not, go on to the next step.
# Make sure the package is properly Obsoleted/Provided by something '''if''' it is being replaced, see [[Packaging/NamingGuidelines#Renaming.2Freplacing_existing_packages|Renaming/Replacing Guidelines]]. If not, go on to the next step.
# Run <code>fedpkg retire</code>.  This will add a <code>dead.package</code> file to git.  Do it for all affected <code>foo</code> branches (usually <code>master</code> only, but also the branched release if it has not yet released).  The contents of this file should briefly explain where this package went:  'Obsolete package.', 'Renamed to bar' or the like.
# Run <code>fedpkg retire</code>.  This will add a <code>dead.package</code> file to git.  Do it for all affected package branches (usually <code>master</code> only, but also the branched release if it has not yet released).  The contents of this file should briefly explain where this package went:  'Obsolete package.', 'Renamed to bar' or the like.
# <code>git rm</code> all the other files in the <code>foo</code> branches that you added <code>dead.package</code> to.  This should help make it clearly obvious what's going on here.  It's not necessary to remove the files in other branches, unless there are other factors at work.  (e.g., licensing issue, package being removed completely from Fedora.)
# <code>git rm</code> all the other files in the package branches that you added <code>dead.package</code> to.  This should help make it clearly obvious what's going on here.  It's not necessary to remove the files in other branches, unless there are other factors at work.  (e.g., licensing issue, package being removed completely from Fedora.)
# Remove the package from [[How_to_use_and_edit_comps.xml_for_package_groups| comps]]  if it is listed.
# Remove the package from [[How_to_use_and_edit_comps.xml_for_package_groups| comps]]  if it is listed.
# Mark the package as "retired" in [https://admin.fedoraproject.org/pkgdb the package database system]: log in with your FAS credentials, go to the page for your package, and click the '''Retire package''' button for each branch on which you are retiring the package. There is also a Wiki list of [[PackageMaintainers/RetiredPackages | Retired Packages]] you can update if you choose, but it is now considered mostly obsoleted by the package database system.
# Mark the package as "retired" in [https://admin.fedoraproject.org/pkgdb the package database system]: log in with your FAS credentials, go to the page for your package, and click the '''Retire package''' button for each branch on which you are retiring the package. Do '''not''' execute this step if you don't have already completed steps 2 and 3, otherwise you will have to ask a [[Provenpackager policy|provenpackager]] to perform those steps for you.
# File a [https://fedorahosted.org/rel-eng/newticket ticket] for rel-eng (component koji) asking the package to be blocked from the appropriate collections in which it is retired.
# File a [https://fedorahosted.org/rel-eng/newticket ticket] for rel-eng (component koji) asking the package to be blocked from the appropriate collections in which it is retired.
 
# Optionally, you can update the Wiki list of [[PackageMaintainers/RetiredPackages|retired packages]], but it is now considered mostly obsoleted by the package database system.
[[Category:Package Maintainers]]
[[Category:Package Maintainers]]

Revision as of 23:58, 31 July 2011

When a package reaches the end of its useful life, the following procedure will let other people -- and automated processes! -- know both not to expect any more releases, and why it was removed. The process is simple.

Please execute the following steps in the order indicated.

  1. Make sure the package is properly Obsoleted/Provided by something if it is being replaced, see Renaming/Replacing Guidelines. If not, go on to the next step.
  2. Run fedpkg retire. This will add a dead.package file to git. Do it for all affected package branches (usually master only, but also the branched release if it has not yet released). The contents of this file should briefly explain where this package went: 'Obsolete package.', 'Renamed to bar' or the like.
  3. git rm all the other files in the package branches that you added dead.package to. This should help make it clearly obvious what's going on here. It's not necessary to remove the files in other branches, unless there are other factors at work. (e.g., licensing issue, package being removed completely from Fedora.)
  4. Remove the package from comps if it is listed.
  5. Mark the package as "retired" in the package database system: log in with your FAS credentials, go to the page for your package, and click the Retire package button for each branch on which you are retiring the package. Do not execute this step if you don't have already completed steps 2 and 3, otherwise you will have to ask a provenpackager to perform those steps for you.
  6. File a ticket for rel-eng (component koji) asking the package to be blocked from the appropriate collections in which it is retired.
  7. Optionally, you can update the Wiki list of retired packages, but it is now considered mostly obsoleted by the package database system.