Try using dnf upgrade --refresh --best --allowerasing which should make sure all packages being upgraded meet the required dependencies.
I actually expect that error is reported with an upgrade being done while the mirrors were still being updated and not fully in sync. Most of the updates normally seem to happen on Tuesday and frequently such errors disappear in a few hours or less than a day, though not all follow that schedule.
I just did an upgrade and everything worked for me.
# dnf changelog ffmpeg-libs
* Fri 12 May 2023 00:00:00 Leigh Scott <firstname.lastname@example.org> - 6.0-10
- Enable openh264 for fedora
Those packages like chromium depend on various ffmpeg components, e.g. libavcodec, libswscale, etc.
Fedora’s ffmpeg is split into separate packages, while RPM Fusion’s ffmpeg is a combined package (mostly). E.g. libavcodec is provided by either libavcodec-free from Fedora, or ffmpeg-libs from RPM Fusion free.
If you don’t use any packages that require RPM Fusion’s full ffmpeg + ffmpeg-libs, you can swap back to Fedora’s ffmpeg-free + split packages:
Querying repos feels slow, so I didn’t enable it. I also don’t get the purpose of this additional repo. From OpenH264 - Fedora Project Wiki the codec is BSD. Why it can not be packaged as everything else?
The h264 codec has some status that violates fedora’s policy that requires they not distribute anything that may be encumbered with copyright, licensing, or patents that are restrictive. Thus fedora cannot include it directly. The same applies to packages that come from rpmfusion instead of directly from fedora.
About The Cisco-Provided Binary of OpenH264 Video Codec
Cisco provides this program under the terms of the BSD license.
Additionally, this binary is licensed under Cisco’s AVC/H.264 Patent Portfolio License from MPEG LA, at no cost to you, provided that the requirements and conditions shown below in the AVC/H.264 Patent Portfolio sections are met.
As with all AVC/H.264 codecs, you may also obtain your own patent license from MPEG LA or from the individual patent owners, or proceed at your own risk. Your rights from Cisco under the BSD license are not affected by this choice.
For more information on the OpenH264 binary licensing, please see the OpenH264 FAQ found at http://www.openh264.org/faq.html#binary
A corresponding source code to this binary program is available under the same BSD terms, which can be found at http://www.openh264.org
Wherever that patent portfolio can be enforced, you can only get this software legaly from the dedicated Cisco server.
Besides, that repository is very small and rarely updated, so it can’t become a performance problem.
It is not really BSD license if people can’t really compile and use it from source. It doesn’t matter if the author modifies the license, or adds additional restrictions by a separate document, it is not a valid open source code anymore.
Binary distribution allows to inject various spyware, which diminishes the benefits of having an open source OS.
When I have dnf update errors like that, if I haven’t installed anything in a while, I keep trying for a few days before messing with packages. It is often a mistake in the dependency list of a package or a package in a different repo that needs time to catch up. If you try to work around it by removing packages or by using options like --allowerasing, you can make a bigger mess.
Not totally different than your link, because still talking about issues with dependencies and mismatch between fedora repo and rpmfusion repo (and possibly mirroring delays).
ffmpeg-libs gets installed from rpmfusion when one installs ffmpeg. Ffmpeg and ffmpeg-libs are not compatible with ffmpeg-free from fedora.
As was stated above when one has 2 different packages (even from the same repo and otherwise compatible) a version mismatch may cause this type issue when the mirror being used is not fully in sync. In that situation, waiting for the mirror to sync then trying again usually solves it.
You are 100% correct in the comment about the user deliberately disabling a needed repo and that caused the error. The fix is to re-enable the repo.