From Fedora Project Wiki

(→‎Package DB: remove reference to web interface)
(Replaced content with "{{admon/warning |This page has been moved out of the wiki. The current version of this document is located at")
Tag: Replaced
(30 intermediate revisions by 17 users not shown)
Line 1: Line 1:
{{admon/warning |This page has been moved out of the wiki. The current version of this document is located at Please update your bookmarks.}}
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 called retirement.
== Procedure ==
{{admon/warning|Retire only in development/EPEL branches!|Do not retire packages in other branches than Branched (until the [[Schedule|Final Freeze]]), Rawhide (master) and EPEL branches (el5, el6, epel7).}}
Please execute the following steps in the order indicated.
=== RPM ===
If the package is being replaced by some other package, ensure that the Obsoletes/Provides tags are properly set by the new package, see [[Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages|Renaming/Replacing Guidelines]].
=== GIT ===
Run <code>fedpkg retire DESCRIPTION</code> in all branches that need to be retired starting with the oldest branch (e.g. retire on f21 before you retire on master)
==== Remarks ====
* The <code>DESCRIPTION</code> parameter should explain why the package was retired, good messages are:
** <code>Obsoleted by bar</code>
** <code>Renamed to bar</code>
* The command will remove all files from the branch, add a file name <code>dead.package</code> containing the description and push the changes. Starting with fedpkg 1.13 it will also retire the package in package DB.
* <code>git rm</code> all files in the other branches '''only if''' there are special factors at work, like licensing issues, or package being removed completely from Fedora.
* If you retired master before other older branches you want to retire, just continue with the older branches. It will still work, but will block the package in more Koji tags, because tag inheritance will not be used automatically then.
=== Package DB ===
Ensure that the package is marked as retired in [ the package database system]. This should happend automatically with fedpkg 1.13 and newer if you provide your FAS credentials. If it failed, you can retire the packge with the following command:
    pkgdb-cli orphan --retire PACKAGENAME master
==== Remarks ====
* After the package was retired in package DB, you will not be able to commit changes to GIT unless you are a [[Provenpackager policy|provenpackager]]. Therefore clean up GIT first.
* Change <code>master</code> to the respective branch
* Start with the oldest branch
=== Comps ===
Remove the package from [[How_to_use_and_edit_comps.xml_for_package_groups| comps]]  if it is listed.
=== Spins ===
Remove the package from any [ spin kickstart file]
    git clone ssh://
=== Upstream Release Monitoring ===
Remove the package from [[Upstream_release_monitoring]] if it is listed.
=== Koji ===
To keep retired packages from being pushed to the mirrors, they need to be blocked in koji. This will happen during the next Rawhide/Branched compose (also for EPEL). If it did not happen file a
[ ticket] for rel-eng (component <code>koji</code>) and mention the package name and the branch the package needs to be blocked.
==== Remarks ====
* Please wait long enough before opening a ticket to avoid unnecessary work.
* Use one ticket for all packages you retired at once, do not open one ticket for each package if you
retired several packages.
* You check whether a package is blocked in koji, e.g. for the package <code>curry</code> there should the a entry with <code>[BLOCKED]</code> for each branch the package was retired in. It is enough for a package to be retired in an older tag to be also blocked in a newer tag due to inheritance:
$ koji list-pkgs  --show-blocked --tag f21 --package curry                             
Package                Tag                    Extra Arches    Owner         
----------------------- ----------------------- ---------------- ---------------
curry                  f20                                      gemi            [BLOCKED]
== EPEL ==
Note that you can use this process for EPEL as well with one difference:
* You can remove the package from any EPEL branch whether or not it has been released.
For example, if your package has been added to base RHEL in RHEL-6.4 then perform the steps above but use the <code>el6</code> branch instead of <code>master</code>.
== Unretire a Package ==
See [[Orphaned_package_that_need_new_maintainers]]
[[Category:Package Maintainers]]
[[Category:Packaging guidelines]]

Revision as of 06:10, 7 September 2021

This page has been moved out of the wiki. The current version of this document is located at Please update your bookmarks.