Re: Fedora 31 System-Wide Change proposal: Set skip_if_unavailable default to false

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 25, 2019 at 6:39 AM Vít Ondruch <vondruch@xxxxxxxxxx> wrote:
>
>
> Dne 24. 04. 19 v 23:04 Ben Cotton napsal(a):
> > https://fedoraproject.org/wiki/Changes/Set_skip_if_unavailable_default_to_false
> >
> > == Summary ==
> > Dnf team wants to change a default setting for the repo option
> > `skip_if_unavailable` to `FALSE`.
> >
> > == Owner ==
> > * Name: [[User:jmracek| Jaroslav Mracek]]
> > * Email: jmracek@xxxxxxxxxx
> >
> > == 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.
>
>
> I am not sure I undrestand. What stops with what value? What is the
> problem this tries to solve?

Since repositories such as "fedora" and "updates" can have overlapping
RPM's, and being without either of those makes compilatoin potentially
quite erratic, I don't see this as a safe idea. I realize it was
written into /etc/yum.repos.d/fedora.repo as manually setting
"skip_if_anavailable=False". And by the way, the case of such settings
should be consistent for legibility. But I see it having been a really
bad idea for repositories like "fedora" and "updates", since those
have overlapping content and having one disabled could lead to serious
problems with the other. If you have a messed up local network that
does not allow access to the most basic of dnf repositories, it should
require attention at the command line to exclude those repositories as
desired, not a misplaced "let's just ignore that we don't have a
hammer and use duct tape instead without checking first" approach to a
critical installation failure.

> >  The default behavior could be overwritten by a
> > configuration of each repository or in dnf by configuration in
> > /etc/dnf/dnf.conf.

Or overridden for specific repositories as needed in mock, koji, or
the individual .repo files. I intensely dislike the exclussion in
fedora.repo: the only reason I can see for it is to enable the Media
repository with no other work and have things kind-of, sort-of work.

> > 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`.

Which I think was a horrible, horrible idea, for reasons mentioned above.

> > 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.

Then those repos can have skip_if_unavailable set individually, rather
than as default. Better yet, they should be disabled by default and
enabled only as desired for out-of-band, repository specific updates
rather than otentially merging and mis-merging with the primary
repositories as part of standard updates.

I'm sorry if I seem a bit cross about this: I've had to deal with
third-party repositories including RPM's that overlapped with standard
repositories, and they do require caution to handle. Guaranteeing
erratic behavior base don the state of the connection to the third
party repository seems *exactly* backwards from a stable approach to
updates or installations, and the warning in the cluttered output of
dnf commands seem sinsufficient.

Nico Kadel-Garcia <nkadel@xxxxxxxxx>

> > == 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
> > * Release engineering: [https://pagure.io/releng/issue/8307 #8307]
> > * Policies and guidelines: N/A
> > * Trademark approval: not needed for this 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?)
> > The change requires a merge and a release of the pull-request
> > https://github.com/rpm-software-management/libdnf/pull/701
> >
> > * Contingency deadline: Should be delivered before 2019-07-24.
> > * Blocks release? No
> > * Blocks product? No
> >
> > == Documentation ==
> > https://dnf.readthedocs.io/en/latest/conf_ref.html
> >
> > Update for documentation:
> > https://github.com/rpm-software-management/dnf/pull/1358
> >
> _______________________________________________
> devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux