Summary
Dnf team wants to change a default setting for the repo option skip_if_unavailable
to FALSE
.
Owner
- Name: Jaroslav Mracek
- Email: jmracek@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 31
- Last updated: 2019-09-18
- Tracker bug: #1706160
- Release notes tracker: #336
Detailed Description
Dnf team wants to change a default setting for the repo option skip_if_unavailable
to FALSE
. The option is responsible for behavior when metadata of a repository is unavailable. When it is set to false, it will stop on the first unavailable repository with raising an error. The default behavior could be overwritten by a configuration of each repository or in dnf by configuration in /etc/dnf/dnf.conf.
The behavior is not new, because it was used already by YUM, and the behavior is really essential because all Fedora ropos are already shipped with skip_if_unavailable=FALSE
.
The change will be applied in libdnf library, and the changed behavior will be visible for all direct and indirect users of the library: dnf, microdnf, PackageKit, ... .
Benefit to Fedora
It should provide a better security because some Important updates from third-party repositories could be present in temporary unavailable repository, but user can easily overlook it during dnf update
because the issue is reported as a warning.
Scope
- Proposal owners:
- Backport the following upstream pull requests into the DNF stack on Fedora: https://github.com/rpm-software-management/libdnf/pull/701
- Other developers: N/A (not a System Wide Change)
- Release engineering: #8307 (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
- Trademark approval: not needed for this Change
Upgrade/compatibility impact
N/A (not a System Wide Change)
How To Test
Edit .repo file in /etc/yum.repos.d/* and set an url that is not accessible.
Case 1:
No skip_if_unavailable in the repo file, in /etc/dnf/dnf.conf or overwritten from commandline using --setopt
.
Any command that requires available repositories like dnf repoquery
will fail due to an error Error: Failed to synchronize cache for repo '<repo_ID>'
Case 2:
Set skip_if_unavailable=true in the repo file.
Any command that requires available repositories like dnf repoquery
will not fail due to missing metadata of the <repo_id>
User Experience
Broken repositories are recognized early, enabling the users to act upon them by double-checking their repository configuration or filing bugs, instead of assuming no upgrades are available.
Dependencies
Depend packages - dnf, microdnf, PackageKit
There are no changes on which completion of this change depends.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
The change requires a merge and a release of the pull-request https://github.com/rpm-software-management/libdnf/pull/701
- Contingency deadline: N/A (not a System Wide Change)
Should be delivered before 2019-07-24.
- Blocks release? N/A (not a System Wide Change), Yes/No
No
- Blocks product? product
No
Documentation
https://dnf.readthedocs.io/en/latest/conf_ref.html
Update for documentation: https://github.com/rpm-software-management/dnf/pull/1358