From Fedora Project Wiki

Revision as of 10:11, 11 February 2019 by Mdomonko (talk | contribs)

Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.


DNF Best Mode By Default

Summary

Make DNF always try to upgrade to the highest version of a package available, even only to fail due to dependency issues.

Owner

Current status

  • Targeted release: Fedora 30
  • Last updated: 2019-02-11
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Put best=1 in the default /etc/dnf.conf file and introduce the new --nobest command-line switch.

The purpose of the --nobest switch (as a shorthand for --setopt=best=0) is to make it easy for the user to override the default setting when needed, and is also suggested by DNF when a dependency error occurs.

Relevant excerpt from dnf.conf(5):

best  boolean
When upgrading a package, always try to install its highest version available, even only to find out some of its deps are not satisfiable. Enable this if you want to experience broken dependencies in the repositories firsthand. The default is False.

Relevant excerpt from dnf(8):

--nobest
Set best option as false, therefore transactions are not limited to only best candidates.

Benefit to Fedora

This change allows the user to be notified when a package cannot be upgraded to the latest version, instead of silently ignoring it as an upgrade candidate.

This is especially important for security fixes that could otherwise be overseen by the user in case there is misconfiguration or inconsistency in the repository.

Scope

  • Proposal owners:

Backport the following pull requests into the DNF stack on Fedora:

https://github.com/rpm-software-management/libdnf/pull/678
https://github.com/rpm-software-management/dnf/pull/1311
https://github.com/rpm-software-management/dnf/pull/1316
https://github.com/rpm-software-management/dnf/pull/1319

  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes