The One Problem I Have So Far With Fedora's DNF Package Manager

Written by Michael Larabel in Fedora on 13 May 2015 at 07:26 AM EDT. 9 Comments
FEDORA
DNF 1.0 was released this week ahead of the Fedora 22 debut later this month where it will replace Yum by default as the package manager. In my testing of DNF on Fedora 22 and earlier releases, it's worked out quite well, but there's one issue that still nags me about Dandified Yum.

DNF works quite well and is slated to be faster than Yum due to its usage of Hawkey and libsolv, plus is more extensible. After being in development throughout many Fedora Linux releases, it's great to see DNF finally ready to become the default.

There's one gripe I continue to have with DNF but at least it doesn't mean the end of the world... DNF is mostly a drop-in replacement to the Yum command and when calling yum on Fedora 22 it will end up redirecting to dnf. One of the few exceptions though to where DNF is a drop-in replacement for Yum is supporting the --skip-broken argument.

Per the yum man page, the skip-broken argument provides, "Resolve depsolve problems by removing packages that are causing problems from the transaction." As one use-case, the Phoronix Test Suite always passed that argument up to this point for Yum in cases where some packages might not be available but it wishes to install at least the packages that were available in the enabled repositories. In the PTS context, it's better with its external dependency handling to have at least some of the needed dependencies installed for multiple tests than to have none install (since the dependencies for the entire queue are passed to yum -y --skip-broken at once). That way some of the selected tests might still run in the case a package isn't available, rather than just having Yum bail out completely.

In this new DNF world, simply passing the --skip-broken command to yum/dnf (since Yum is now linked to DNF), will result in "No such command: --skip-broken. Please use /usr/bin/dnf --help." Even if the transaction is all good, --skip-broken will still immediately bail out with DNF as being an unknown command. This just breaks existing scripts for those written against yum that are now being passed to DNF. It's not just that DNF isn't supporting skip-broken functionality, but is causing issues if that argument is simply present. This makes existing software simply break rather than just produce a warning or such if that argument is used.

For those other early DNF / Fedora 22 testers, have you run into any other issues or other arguments/switches not being supported by DNF that ended up being fine in the Yum world? Let us know via the forums. (For Phoronix Test Suite users, fetching the PTS Git code will no longer pass --skip-broken when dnf is present on the system.)
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week