From Fedora Project Wiki
mNo edit summary
(Change approved for Fedora 31 https://pagure.io/fesco/issue/2074)
Line 43: Line 43:


== Current status ==
== Current status ==
* Targeted release: [[Releases/30 | Fedora 30 ]]  
* Targeted release: [[Releases/31 | Fedora 31 ]]  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 202: Line 202:
Inform end-users about removing the YUM 3 stack and the definitive migration to DNF.
Inform end-users about removing the YUM 3 stack and the definitive migration to DNF.


[[Category:ChangeReadyForFesco]]
[[Category:ChangeAcceptedF31]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Revision as of 19:16, 11 February 2019


Retire YUM 3

Summary

Remove the YUM (version 3) package manager stack from Fedora.

Owner

Current status

  • Targeted release: Fedora 31
  • Last updated: 2019-02-11
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Remove the following packages from the distribution:

  • createrepo
  • yum
  • yum-langpacks
  • yum-utils
  • yum-metadata-parser
  • yum-updatesd

All these packages should no longer be used by the end-user, and all software using them should be migrated to DNF.

Note that we intentionally omit the python2-urlgrabber package from the list, although it is also part of the YUM stack. While it should eventually go away too (or be ported to Python 3), it is still heavily used by the Fedora infrastructure (such as by sigul, imagefactory or koji-containerbuild). We will propose its removal (if not ported in time) for Fedora 31 instead.

Compatibility:

  • Important packages such as yum, createrepo or yum-utils will be provided/obsoleted by relevant packages from the DNF stack
  • Important executables such /usr/bin/yum, /usr/bin/repoquery or /usr/bin/createrepo will be provided either as new executables or symlinks to the respective DNF-based counterparts

Benefit to Fedora

Drop an old package manager that has no active upstream community. Move existing users to DNF that is under active development. Secondary benefit is reducing the number of packages in Fedora that still depend on Python 2.

Scope

  • Proposal owners: Remove the packages listed in the Detailed Description section from the distribution
  • Other developers: Either remove the depending packages from the distribution or port them to the DNF stack
  • Release engineering: #7588
  • Policies and guidelines: N/A
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Any tool based on the YUM 3 Python API will stop working. This applies on any 3rd party software which won't be changed in Fedora as part of this change. CLI compatibility will be provided by DNF.

How To Test

repoclosure passes after dropping the packages.

User Experience

There shouldn't be any impact on the YUM users because the package management functionality is provided by DNF already. Users of tools listed in the Dependencies section shouldn't see any difference if the migration to DNF is done properly.

Dependencies

The list of source packages (SRPMs) that still depend on (some parts of) the YUM stack:

Updated: 2019-02-02

Generated with: https://gist.github.com/dmnks/787b121503ba1e9d1565d58b4a4e3a62

$ python3 deps.py createrepo yum yum-langpacks yum-utils yum-metadata-parser yum-updatesd

Contingency Plan

  • Contingency mechanism: Do not remove the packages in the current release.
  • Contingency deadline: Beta Freeze
  • Blocks release? No
  • Blocks product? No

Documentation

N/A

Release Notes

Inform end-users about removing the YUM 3 stack and the definitive migration to DNF.