F22 System Wide Change: Replace Yum With DNF

Jaroslav Reznik jreznik at redhat.com
Wed Jun 11 12:44:10 UTC 2014

= Proposed System Wide Change: Replace Yum With DNF = 

Note: This is Fedora 22 proposal!

Change owner(s): AleŇ° Kozumpl√≠k <kozumplik at gmail.com>

Make DNF/Yum4 the new default packaging tool in F22. 

== Detailed Description ==
DNF was forked from Yum in January 2012 and available for experimenting in 
Fedora since release 18 [1]. The project is now fully capable of replacing Yum 
in new Fedora installations. We want DNF to become the new default packaging 
tool in Fedora 22. This entails:

* letting system administrators (including users who routinely manage their 
packages using the legacy Yum) perform all common packaging operations using 
DNF, with no or minimal and documented [2] change to the command syntax, apart 
from replacing the command name. (done)
* providing implementation of Anaconda backend so system can be bootstrapped 
completely without using legacy Yum. (done)
* providing alternative to all Yum plugins from yum-utils (ongoing)
* providing alternative to all release engineering tools (repoquery, bodhi 
etc.) from yum-utils (ongoing)
* being ready/having the capacity to help out users with migration of their 
custom legacy plugins and extensions to DNF. The solid API documentation [3] 
we provide is of great advantage here. (ongoing)

In practice, the change implies:
* Anaconda installs the system using the DNF backend (with no special 
* package 'dnf' is installed by default (referenced by the base comps groups)
* package 'dnf-yum-compat-command' is installed by default. It obsoletes Yum 
and provides its own <code>/usr/bin/yum</code>, a short script that redirects 
to <code>/usr/bin/dnf</code> with an appropriate warning message that DNF is 
the preferred package manager now. Notice that upgrading F21 to F22 will not 
cause the compat package to be installed so will not disturb any upgrading 

== Scope ==
This change will be completely transparent for users that use only the 
graphical package management tools. For anybody using the command line 
directly there will be some differences, but all the important operations are 
available with DNF, using the same CLI syntax.

* Proposal owners: The majority of tasks on this change are completed. Some 
plugins and API calls still need to be added. The Anaconda payload 
implementation needs more testing, Fedora Test Day for this is pending.

* Other developers: We provide the paylaod implementation for Anaconda 
developers. Developers of other extensions and developers of plugins that are 
not part of yum-utils will have to update their code.

* Release engineering: Release engineering tools that are internal to the 
releng teams and not part of yum-utils will need modifications to migrate to 
the DNF API.

* Policies and guidelines: None at the moment.

[1] https://fedoraproject.org/wiki/Features/DNF
[2] http://akozumpl.github.io/dnf/cli_vs_yum.html
[3] http://akozumpl.github.io/dnf/api.html 
devel-announce mailing list
devel-announce at lists.fedoraproject.org

More information about the devel mailing list