Bug 1216168

Summary: dnf poorly integrated/dependency bloat
Product: [Fedora] Fedora Reporter: Ralf Corsepius <rc040203>
Component: dnfAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: jsilhan, jzeleny, mluscon, packaging-team-maint, pnemade, rholy, tim.lauridsen, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-04 09:14:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ralf Corsepius 2015-04-28 16:28:05 UTC
Description of problem:

dnf apparently has not been sufficiently integrated into Fedora to replace yum:

# dnf remove /usr/bin/yum
Dependencies resolved.
============================================================================================
 Package                              Arch      Version                    Repository  Size
============================================================================================
Removing:
 bodhi-client                         noarch    0.9.12.2-1.fc22            @System     26 k
 corsepiu-rtems-release               noarch    21.20150207.0-1.fc22       @System    2.4 k
 corsepiu-testing-release             noarch    21.20150207.0-1.fc22       @System    2.4 k
 cpanspec                             noarch    1.78-19.fc22               @System     70 k
 createrepo                           noarch    0.10.3-3.fc21              @System    301 k
 dnf-yum                              noarch    0.6.5-1.fc22               @System     24 k
 fedora-packager                      noarch    0.5.10.5-1.fc22            @System     80 k
 fedora-upgrade                       noarch    22.1-1.fc22                @System     46 k
 fedpkg                               noarch    1.20-1.fc22                @System     72 k
 fedup                                noarch    0.9.2-1.fc22               @System    258 k
 libguestfs                           x86_64    1:1.29.33-1.fc22           @System    3.6 M
 libguestfs-tools                     noarch    1:1.29.33-1.fc22           @System     57 k
 libguestfs-tools-c                   x86_64    1:1.29.33-1.fc22           @System     13 M
 mock                                 noarch    1.2.7-1.fc22               @System    928 k
 mock-fedora-21                       noarch    0.20150302.0-0.fc22        @System     11 k
 mock-fedora-22                       noarch    0.20150302.0-0.fc22        @System     11 k
 perl-Sys-Guestfs                     x86_64    1:1.29.33-1.fc22           @System    1.2 M
 pyrpkg                               noarch    1.33-1.fc22                @System    363 k
 python-dnf-plugins-extras-migrate    noarch    0.0.7-1.fc22               @System     25 k
 supermin                             x86_64    5.1.12-1.fc22              @System    1.7 M
 system-config-kickstart              noarch    2.9.3-1.fc22               @System    2.0 M
 yum                                  noarch    3.4.3-505.fc22             @System    5.6 M
 yum-langpacks                        noarch    0.4.5-1.fc22               @System     66 k
 yum-utils                            noarch    1.1.31-505.fc22            @System    327 k

Transaction Summary
============================================================================================
Remove  24 Packages

Expected results:
yum to de-installable

Additional info:
IMO, this alone should be sufficient reason to revert the decision to make dnf the installer in Fedora 22. dnf very obviously is not ready to be deployed.

Comment 1 Jan Zeleny 2015-04-28 19:02:53 UTC
Note that there is no package in default installation of any Fedora product that depends on yum, it's quite the opposite actually - quite a few core components depend on dnf. This alone is a reason not to revert the decision, as dnf can't be removed from the default Fedora installation.


That being said, out of your list, we can safely filter out 8 packages as clearly irrelevant: corsepiu-rtems-release, corsepiu-testing-release, yum, yum-langpacks, yum-utils, dnf-yum, python-dnf-plugins-extras-migrate, createrepo

Another three can be removed as already fixed upstream and soon to be fixed in Fedora: mock, mock-fedora-21, mock-fedora-22

Eight more packages do not directly depend on yum: cpanspec, fedora-packager, fedpkg, libguestfs, libguestfs-tools,libguestfs-tools-c, perl-Sys-Guestfs and pyrpkg

Two packages don't need to be ported before F23 is available at least as alpha: fedora-upgrade, fedup

There are three remaining packages that have dependency on yum: bodhi-client, supermin, system-config-kickstart. Note that supermin is currently being ported to dnf, I'm not sure about the rest. Would you say any of those packages is critical to a common Fedora installation and why?

Comment 2 Ralf Corsepius 2015-05-03 05:02:49 UTC
> That being said, out of your list, we can safely filter out 8 packages as
> clearly irrelevant: corsepiu-rtems-release, corsepiu-testing-release, 
These 2 contain packages the /etc/yum.repo.d/*.conf of my local repos.

These packages carry "Requires: yum >= 2.0" for historical reasons, because yum's *.repo format had changed incompatibly long time ago. 

With dnf having failed to be a 1:1 replacement for yum, this now causes a dep on yum. To work-around this issue, I have now taken out these deps.

> Eight more packages do not directly depend on yum: cpanspec, fedora-packager, > fedpkg, libguestfs, libguestfs-tools,libguestfs-tools-c, perl-Sys-Guestfs and > pyrpkg
> [...]
> bodhi-client, supermin, system-config-kickstart

I do not agree on these - These are proof of dnf being deployed prematurely.
In other words: You failed to accomplish your mission and are violently abusing the Fedora users community as Guinea Pigs to fix your bugs.

> Would you say any of those packages is critical to a common Fedora
> installation and why

supermin to me is a dependency being pulled in by the libvirt/libguestfs-infrastructure (I have VMs on this machine).

system-config-kickstart is an essential tool for sys-admins. Not having ported it to dnf is a serious mistake.

bodhi-client is part of the dependency chain being pulled in through fedpkg and fedora-packagers (Remember Fedora once was a developer-oriented distro!)

Similar considerations apply to cpanspec, repoquery etc.

It's part of my rationale to call the decision to make dnf the default on fedora 22 premature and to be management mistake.

Or to cut a long story short: dnf is not ready for prime time. It's time to draw serious decisions!

Comment 3 Honza Silhan 2015-05-04 09:14:10 UTC
Thanks for your opinion, Ralf. Most of the Fedora users will have just DNF installed. Right, a few not so popular plugins / yum utils has not been ported yet - in this case you can still install yum (we will get rid of yum requirements completely in the future). We don't break anything. We actually made sure dnf does not conflict with yum to let these packages be installed if anyone wants to. Marking as duplicate of yum-utils migration tracker bug...

*** This bug has been marked as a duplicate of bug 1156491 ***

Comment 4 Ralf Corsepius 2015-05-04 09:43:02 UTC
(In reply to Jan Silhan from comment #3)
> Thanks for your opinion, Ralf. Most of the Fedora users will have just DNF
> installed. Right, a few not so popular plugins / yum utils has not been
> ported yet
=> Your work is incomplete.
=> DNF is not ready

=> You guys are cheating and lying about DNFs shape. 

> - in this case you can still install yum (we will get rid of yum
> requirements completely in the future). We don't break anything.
Again, you are not telling the truth -  In fact _you_ broke a lot!!

> We actually
> made sure dnf does not conflict with yum to let these packages be installed
> if anyone wants to. Marking as duplicate of yum-utils migration tracker
> bug...

The situation is becoming increasingly absurd: The most recent changes to mock made dnf mandatory on F21!

Comment 5 Jan Zeleny 2015-05-04 10:16:17 UTC
> > - in this case you can still install yum (we will get rid of yum
> > requirements completely in the future). We don't break anything.
> Again, you are not telling the truth -  In fact _you_ broke a lot!!

Could you provide examples of what doesn't work when dnf and yum are installed in parallel? That might be worth looking into.

> The situation is becoming increasingly absurd: The most recent changes to
> mock made dnf mandatory on F21!

That's not our fault, please don't blame us for something we didn't cause.