mNo edit summary |
mNo edit summary |
||
Line 59: | Line 59: | ||
== Detailed Description == | == Detailed Description == | ||
Change the built-in default value of the ''best'' configuration option from ''0'' (''false'') to ''1'' (''true''). | |||
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 it | As a result, unless ''best'' is overridden in the ''/etc/dnf/dnf.conf'' file, it will default to ''1''. In addition to that, we will also put the explicit ''best=1'' assignment in the shipped ''/etc/dnf/dnf.conf'' file for better transparency, 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 it will also be [https://github.com/rpm-software-management/dnf/pull/1311/commits/9a3e8fd0da49291d30fd1fef527cffb0bf3f047d#diff-6c823931c6d150295e5011fac6529ab9R144 suggested] in the DNF output when a dependency error occurs. | |||
Relevant excerpt from ''dnf.conf(5)'': | Relevant excerpt from ''dnf.conf(5)'': |
Revision as of 14:05, 11 February 2019
DNF Best Mode By Default
Summary
Make DNF always try to upgrade to the highest available version of a package, even only to fail due to dependency problems.
Owner
- Name: Michal Domonkos
- Email: mdomonko@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 30
- Last updated: 2019-02-11
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
Change the built-in default value of the best configuration option from 0 (false) to 1 (true).
As a result, unless best is overridden in the /etc/dnf/dnf.conf file, it will default to 1. In addition to that, we will also put the explicit best=1 assignment in the shipped /etc/dnf/dnf.conf file for better transparency, 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 it will also be suggested in the DNF output 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.
The new behavior is also more in line with the generally accepted software development practice of failing early and failing fast.
Scope
- Proposal owners:
Backport the following upstream 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)
- Release engineering: #Releng issue number (a check of an impact with Release Engineering is needed)
- List of deliverables: 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
Broken upgrades are recognized early, enabling the user to act upon them by double-checking their repository configuration or filing bugs, instead of assuming no upgrades are available.
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)