Bug 1181567 - Replace Yum With DNF
Summary: Replace Yum With DNF
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Changes Tracking
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Reznik
QA Contact:
Pete Travis
URL:
Whiteboard: ChangeAcceptedF22 SystemWideChange
Depends On: 1156491 1183835
Blocks: 1192225 1215451
TreeView+ depends on / blocked
 
Reported: 2015-01-13 11:38 UTC by Jaroslav Reznik
Modified: 2015-07-21 10:28 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-07-21 10:28:36 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jaroslav Reznik 2015-01-13 11:38:24 UTC
This is a tracking bug for Change: Replace Yum With DNF
For more details, see: https://fedoraproject.org//wiki/Changes/ReplaceYumWithDNF

Make DNF (Dandified Yum)/Yum4 the new default packaging tool in F22.

Comment 1 Adam Williamson 2015-01-20 19:57:16 UTC
Marking 1183835 as blocking this because I'm not convinced by 'oh, just fix it with an RPM feature we don't have yet, in potentially dozens of packages' as an approach to dealing with a situation where dnf's behaviour is clearly inferior to yum's.

Comment 2 Jaroslav Reznik 2015-02-20 10:01:46 UTC
This message is a reminder that Fedora 22 Change Checkpoint: Completion deadline (testable) is on 2015-02-24 [1].

At this point, all accepted Changes should be substantially complete, and testable. Additionally, if a change is to be enabled by default, it must be so enabled at Change Completion deadline.

This bug should be set at least to the MODIFIED state to indicate that it achieved completeness. Status will be provided to FESCo right after the deadline. If, for any reasons, your Change is not in required state, let me know and we will try to find solution. Fedora 22 is going to be strictly time based release. For Changes you decide to cancel/move to the next release, please use the NEW status and set needinfo on me and it will be acted upon. 

In case of any questions, don't hesitate to ask Wrangler (jreznik). Thank you.

[1] https://fedoraproject.org/wiki/Releases/22/Schedule

Comment 3 Honza Silhan 2015-02-23 17:46:34 UTC
I claim that DNF is stable and ready to go to F22. Differences between DNF and yum are documented here [1].

WRT yum plugins, most of the yum-utils are ported to DNF [2]. We are working on porting the rest.

From Fedora 22 Server x86_64 (base) the packages depending on yum are:
rolekit - patch posted here [3] and update is coming soon.
libreport-python - port is almost finished, only one DNF feature is needed [4] (PR created).

In Fedora 22 Cloud x86_64 there are no packages requiring yum.

Some core components from Fedora 22 Workstation already rely on DNF:
* policycoreutils
* cabal-rpm
* openlmi-providers - not requires DNF itself but shares DNF core libraries
* gnome-software - not requires DNF itself but shares DNF core libraries
Switching back to yum backend would need to revert these changes.

Since Python 2 is still default in F22, DNF will run on it as well. However DNF is ready to run on Python 3 - it's matter of one line change.

The heuristic of choosing provides (bug 1192225 and bug 1183835 referenced by Adam) will be improved in libsolv (depsolver) too [5].

[1] http://dnf.readthedocs.org/en/latest/cli_vs_yum.html
[2] https://fedoraproject.org/wiki/Yum_to_DNF_Cheatsheet
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1156535
[4] https://bugzilla.redhat.com/show_bug.cgi?id=1189083
[5] https://github.com/openSUSE/libsolv/issues/66

Comment 4 Honza Silhan 2015-02-24 09:41:05 UTC
To be fair I am referencing again the tracker bug 1156491 of all non-core components depending on yum/yum-utils which are currently being ported.

Comment 5 Michael Mráka 2015-02-24 10:49:45 UTC
rolekit package has been switched to use DNF - see http://koji.fedoraproject.org/koji/buildinfo?buildID=614325

Comment 6 Pete Travis 2015-03-12 03:40:17 UTC
I wrote some copy about this change at https://fedoraproject.org/wiki/Documentation_Server_Configuration_Tools_Beat#yum_replaced_by_dnf - feedback and edits welcome.

Comment 7 Kevin Fenzi 2015-03-14 20:31:37 UTC
Can we clarify the plans for yum-dnf? 

The change page indicates it should be installed by default in f22, and it's not. 

If we do install it, it will break all those things still not ported over to dnf. 

IMHO, it shouldn't be ever installed by default, but if change owners/fesco agree, we should adjust the change page on the wiki to no longer refer to it. 

Thanks.

Comment 8 Michael Mráka 2015-03-16 08:35:16 UTC
> Can we clarify the plans for yum-dnf? 
> The change page indicates it should be installed by default in f22, and it's
> not. 

As far as I can see in my Fedora 22 Alpha installation dnf is installed by default. So the change page is correct.

> If we do install it, it will break all those things still not ported over to
> dnf. 

All packages in Cloud or minimal Server or Workstation installation depends on dnf. Not ported packages can still pull in yum as their dependency so nothing breaks.

Comment 9 Kevin Fenzi 2015-03-16 14:15:26 UTC
(In reply to Michael Mráka from comment #8)
> > Can we clarify the plans for yum-dnf? 
> > The change page indicates it should be installed by default in f22, and it's
> > not. 
> 
> As far as I can see in my Fedora 22 Alpha installation dnf is installed by
> default. So the change page is correct.

You misunderstand. I was talking about "yum-dnf" which is a subpackage that replaces /usr/bin/yum with a call to dnf. That is NOT installed by default anywhere (but the change page says it will be). 
> 
> > If we do install it, it will break all those things still not ported over to
> > dnf. 
> 
> All packages in Cloud or minimal Server or Workstation installation depends
> on dnf. Not ported packages can still pull in yum as their dependency so
> nothing breaks.

Unless dnf-yum is installed, because it conflicts with yum and then you would be unable to install.

Comment 10 Jaroslav Reznik 2015-03-24 11:41:45 UTC
This message is a reminder that Fedora 22 "Change Checkpoint: 100% Code Complete Deadline" is on 2015-03-31 [1].

All Accepted Changes has to be code complete and ready to be validated in the Beta release (optionally by Fedora QA). Required bug state at this point is ON_QA.

As for several System Wide Changes, Beta Freeze is a point of contingency plan, all incomplete Changes will be reported to FESCo for 2015-04-01 meeting. In case of any questions, don't hesitate to ask Wrangler (jreznik).

[1] https://fedoraproject.org/wiki/Releases/22/Schedule

Comment 11 Honza Silhan 2015-04-01 11:03:18 UTC
update:
* python-libreport does not depend on yum
* dnf-yum package does not conflict with yum and /usr/bin/yum executable runs DNF [1]
* dnf migration plugin was made to transfer package, groups and transaction metadata from yum to DNF

All changes are in updates (bug 1207726)

[1] https://fedorahosted.org/fesco/ticket/1312#comment:29


Note You need to log in before you can comment on or make changes to this bug.