Bug 1181567

Summary: Replace Yum With DNF
Product: [Fedora] Fedora Reporter: Jaroslav Reznik <jreznik>
Component: Changes TrackingAssignee: Jaroslav Reznik <jreznik>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact: Pete Travis <me>
Priority: unspecified    
Version: 22CC: awilliam, jsilhan, kevin, me, mmraka, projects.rg
Target Milestone: ---Keywords: Tracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: ChangeAcceptedF22 SystemWideChange
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-21 10:28:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1156491, 1183835    
Bug Blocks: 1192225, 1215451    

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