I just installed Fedora Workstation 41 and having issues understanding the output when trying to install `dnf-automatic`. Is this expected or a bug? ```console nebula@fedora:~$ sudo dnf install dnf-automatic [sudo] password for nebula: Updating and loading repositories: Fedora 41 - x86_64 - Updates 100% | 19.2 KiB/s | 15.3 KiB | 00m01s Fedora 41 - x86_64 - Updates 100% | 321.7 KiB/s | 860.3 KiB | 00m03s Repositories loaded. Problem: problem with installed package - installed package libcurl-minimal-8.9.1-2.fc41.x86_64 conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora - package libcurl-minimal-8.9.1-2.fc41.x86_64 from fedora conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora - package dnf5-plugin-automatic-5.2.6.2-1.fc41.x86_64 from fedora requires libcurl-full(x86-64), but none of the providers can be installed - cannot install the best candidate for the job Package Arch Version Repository Size Downgrading: dnf-data noarch 4.21.1-1.fc41 fedora 38.3 KiB replacing dnf-data noarch 4.21.1-2.fc41 <unknown> 38.3 KiB python3-dnf noarch 4.21.1-1.fc41 fedora 2.6 MiB replacing python3-dnf noarch 4.21.1-2.fc41 <unknown> 2.6 MiB Installing: dnf-automatic noarch 4.21.1-1.fc41 fedora 76.6 KiB Skipping packages with conflicts: libcurl x86_64 8.9.1-2.fc41 fedora 818.1 KiB Skipping packages with broken dependencies: dnf5-plugin-automatic x86_64 5.2.6.2-1.fc41 fedora 178.4 KiB Transaction Summary: Installing: 1 package Replacing: 2 package Downgrading: 2 packages Skipping: 2 packages Total size of inbound packages is 708 KiB. Need to download 708 KiB. After this operation, 78 KiB extra will be used (install 3 MiB, remove 3 MiB). Is this ok [y/N]: ``` Might be relevant: ```console $ fastfetch .',;::::;,'. nebula@fedora .';:cccccccccccc:;,. ------------- .;cccccccccccccccccccccc;. OS: Fedora Linux 41 (Workstation Edition) x86_64 .:cccccccccccccccccccccccccc:. Host: MacBookPro14,1 (1.0) .;ccccccccccccc;.:dddl:.;ccccccc;. Kernel: Linux 6.11.4-301.fc41.x86_64 .:ccccccccccccc;OWMKOOXMWd;ccccccc:. Uptime: 14 mins .:ccccccccccccc;KMMc;cc;xMMc;ccccccc:. Packages: 2059 (rpm), 1 (brew) ,cccccccccccccc;MMM.;cc;;WW:;cccccccc, Shell: bash 5.2.32 :cccccccccccccc;MMM.;cccccccccccccccc: Display (Color LCD): 2560x1600 @ 60 Hz (as 1464x915) in 13" [Built-in] :ccccccc;oxOOOo;MMM000k.;cccccccccccc: DE: GNOME 47.0 cccccc;0MMKxdd:;MMMkddc.;cccccccccccc; WM: Mutter (Wayland) ccccc;XMO';cccc;MMM.;cccccccccccccccc' WM Theme: Adwaita ccccc;MMo;ccccc;MMW.;ccccccccccccccc; Theme: Adwaita [GTK2/3/4] ccccc;0MNc.ccc.xMMd;ccccccccccccccc; Icons: Adwaita [GTK2/3/4] cccccc;dNMWXXXWM0:;cccccccccccccc:, Font: Cantarell (11pt) [GTK2/3/4] cccccccc;.:odl:.;cccccccccccccc:,. Cursor: Adwaita (24px) ccccccccccccccccccccccccccccc:'. Terminal: Ptyxis 47.2 :ccccccccccccccccccccccc:;,.. Terminal Font: Source Code Pro (10pt) ':cccccccccccccccc::;,. CPU: Intel(R) Core(TM) i5-7360U (4) @ 3.60 GHz GPU: Intel Iris Plus Graphics 640 @ 1.00 GHz [Integrated] Memory: 3.73 GiB / 7.62 GiB (49%) Swap: 0 B / 7.62 GiB (0%) Disk (/): 5.22 GiB / 55.35 GiB (9%) - btrfs Local IP (wlp2s0): 192.168.100.249/24 Battery (bq20z451): 92% (4 hours, 11 mins remaining) [Discharging] Locale: en_US.UTF-8 ``` Reproducible: Always Steps to Reproduce: 1. Install Fedora 41 (Workstation) 2. sudo dnf install dnf-automatic Actual Results: Problem: problem with installed package - installed package libcurl-minimal-8.9.1-2.fc41.x86_64 conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora - package libcurl-minimal-8.9.1-2.fc41.x86_64 from fedora conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora - package dnf5-plugin-automatic-5.2.6.2-1.fc41.x86_64 from fedora requires libcurl-full(x86-64), but none of the providers can be installed - cannot install the best candidate for the job Package Arch Version Repository Size Downgrading: dnf-data noarch 4.21.1-1.fc41 fedora 38.3 KiB replacing dnf-data noarch 4.21.1-2.fc41 <unknown> 38.3 KiB python3-dnf noarch 4.21.1-1.fc41 fedora 2.6 MiB replacing python3-dnf noarch 4.21.1-2.fc41 <unknown> 2.6 MiB Installing: dnf-automatic noarch 4.21.1-1.fc41 fedora 76.6 KiB Skipping packages with conflicts: libcurl x86_64 8.9.1-2.fc41 fedora 818.1 KiB Skipping packages with broken dependencies: dnf5-plugin-automatic x86_64 5.2.6.2-1.fc41 fedora 178.4 KiB Transaction Summary: Installing: 1 package Replacing: 2 package Downgrading: 2 packages Skipping: 2 packages Expected Results: No problem installing Related Discourse posts: - https://discussion.fedoraproject.org/t/installing-dnf-automatic-skipping-packages-with-conflicts-libcurl-and-with-broken-dependencies-dnf5-plugin-automatic/134931 - https://discussion.fedoraproject.org/t/critical-dnf-conflicts-after-upgrading-to-fedora-41/134930
One of dnf-automatic features is ability to inform the user on the upgrade results using an email. This is implemented using libcurl. Unfortunately libcurl-minimal does not support SMTP protocol, so libcurl-full (provided by libcurl package) is required. To resolve your issue you need to swap installed libcurl-minimal with libcurl: # dnf5 swap libcurl-minimal libcurl We should mention it in documentation.
So libcurl-minimal is installed in Fedora Workstation by default. We need to find a way how to user-friendly handle this situation.
(In reply to Marek Blaha from comment #1) > One of dnf-automatic features is ability to inform the user on the upgrade > results using an email. This is implemented using libcurl. Unfortunately > libcurl-minimal does not support SMTP protocol, so libcurl-full (provided by > libcurl package) is required. > > To resolve your issue you need to swap installed libcurl-minimal with > libcurl: > > # dnf5 swap libcurl-minimal libcurl > > We should mention it in documentation. Thx! That fixed it. ```console $ sudo dnf install dnf-automatic Updating and loading repositories: Repositories loaded. Package Arch Version Repository Size Installing: dnf5-plugin-automatic x86_64 5.2.6.2-1.fc41 fedora 178.4 KiB Transaction Summary: Installing: 1 package Total size of inbound packages is 130 KiB. Need to download 130 KiB. After this operation, 178 KiB extra will be used (install 178 KiB, remove 0 B). Is this ok [y/N]: ```
It is possible to replicate the error in a container: 1. podman run --rm -it fedora 2. dnf swap libcurl libcurl-minimal 3. dnf install dnf-automatic Output: ```console [root@7162ea0436c4 /]# dnf install dnf-automatic Updating and loading repositories: Repositories loaded. Problem: problem with installed package - installed package libcurl-minimal-8.9.1-2.fc41.x86_64 conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora - package libcurl-minimal-8.9.1-2.fc41.x86_64 from fedora conflicts with libcurl(x86-64) provided by libcurl-8.9.1-2.fc41.x86_64 from fedora - package dnf5-plugin-automatic-5.2.6.2-1.fc41.x86_64 from fedora requires libcurl-full(x86-64), but none of the providers can be installed - cannot install the best candidate for the job Package Arch Version Repository Size Installing: dnf-automatic noarch 4.21.1-1.fc41 fedora 76.6 KiB Installing dependencies: dbus x86_64 1:1.14.10-4.fc41 fedora 0.0 B dbus-broker x86_64 36-4.fc41 fedora 382.8 KiB dbus-common noarch 1:1.14.10-4.fc41 fedora 11.2 KiB dbus-libs x86_64 1:1.14.10-4.fc41 fedora 368.9 KiB device-mapper x86_64 1.02.199-4.fc41 fedora 348.2 KiB device-mapper-libs x86_64 1.02.199-4.fc41 fedora 414.7 KiB dnf-data noarch 4.21.1-1.fc41 fedora 38.3 KiB duktape x86_64 2.7.0-8.fc41 fedora 616.2 KiB expat x86_64 2.6.3-1.fc41 fedora 291.5 KiB gnupg2 x86_64 2.4.5-3.fc41 fedora 9.5 MiB ima-evm-utils-libs x86_64 1.6.2-2.fc41 fedora 60.8 KiB kbd x86_64 2.6.4-4.fc41 fedora 1.5 MiB kbd-legacy noarch 2.6.4-4.fc41 fedora 567.1 KiB kbd-misc noarch 2.6.4-4.fc41 fedora 2.5 MiB kmod x86_64 33-1.fc41 fedora 235.5 KiB libassuan x86_64 2.5.7-2.fc41 fedora 163.8 KiB libb2 x86_64 0.98.1-12.fc41 fedora 42.2 KiB libcbor x86_64 0.11.0-2.fc41 fedora 73.9 KiB libcomps x86_64 0.1.21-3.fc41 fedora 205.4 KiB libdnf x86_64 0.73.3-1.fc41 fedora 2.1 MiB libfdisk x86_64 2.40.2-4.fc41 fedora 362.9 KiB libfsverity x86_64 1.6-1.fc41 fedora 32.6 KiB libgcrypt x86_64 1.11.0-3.fc41 fedora 1.5 MiB libgpg-error x86_64 1.50-2.fc41 fedora 889.5 KiB libksba x86_64 1.6.7-2.fc41 fedora 398.4 KiB libpkgconf x86_64 2.3.0-1.fc41 fedora 78.2 KiB libseccomp x86_64 2.5.5-2.fc41 fedora 173.3 KiB libsecret x86_64 0.21.4-3.fc41 fedora 563.4 KiB libusb1 x86_64 1.0.27-3.fc41 fedora 166.3 KiB mpdecimal x86_64 2.5.1-16.fc41 fedora 204.9 KiB npth x86_64 1.7-2.fc41 fedora 49.6 KiB pcsc-lite x86_64 2.3.0-1.fc41 fedora 220.1 KiB pcsc-lite-libs x86_64 2.3.0-1.fc41 fedora 68.0 KiB pkgconf x86_64 2.3.0-1.fc41 fedora 88.6 KiB pkgconf-m4 noarch 2.3.0-1.fc41 fedora 14.4 KiB pkgconf-pkg-config x86_64 2.3.0-1.fc41 fedora 989.0 B polkit x86_64 125-1.fc41 fedora 479.5 KiB polkit-libs x86_64 125-1.fc41 fedora 208.0 KiB protobuf-c x86_64 1.5.0-4.fc41 fedora 54.0 KiB python-pip-wheel noarch 24.2-1.fc41 fedora 1.2 MiB python3 x86_64 3.13.0-1.fc41 fedora 31.8 KiB python3-dnf noarch 4.21.1-1.fc41 fedora 2.6 MiB python3-hawkey x86_64 0.73.3-1.fc41 fedora 306.3 KiB python3-libcomps x86_64 0.1.21-3.fc41 fedora 143.4 KiB python3-libdnf x86_64 0.73.3-1.fc41 fedora 3.8 MiB python3-libs x86_64 3.13.0-1.fc41 fedora 40.3 MiB python3-rpm x86_64 4.20.0-1.fc41 fedora 175.3 KiB rpm-sign-libs x86_64 4.20.0-1.fc41 fedora 39.4 KiB systemd x86_64 256.7-1.fc41 fedora 17.0 MiB systemd-pam x86_64 256.7-1.fc41 fedora 1.1 MiB tpm2-tss x86_64 4.1.3-3.fc41 fedora 1.6 MiB unbound-libs x86_64 1.21.1-1.fc41 fedora 1.4 MiB xkeyboard-config noarch 2.42-2.fc41 fedora 6.5 MiB Installing weak dependencies: cryptsetup-libs x86_64 2.7.5-1.fc41 fedora 2.3 MiB diffutils x86_64 3.10-8.fc41 fedora 1.6 MiB gnupg2-smime x86_64 2.4.5-3.fc41 fedora 577.9 KiB kmod-libs x86_64 33-1.fc41 fedora 147.2 KiB libbpf x86_64 2:1.4.6-1.fc41 fedora 402.6 KiB libfido2 x86_64 1.15.0-2.fc41 fedora 238.2 KiB libxkbcommon x86_64 1.7.0-4.fc41 fedora 336.4 KiB pcsc-lite-ccid x86_64 1.6.1-2.fc41 fedora 404.2 KiB pinentry x86_64 1.3.1-2.fc41 fedora 258.0 KiB polkit-pkla-compat x86_64 0.1-29.fc41 fedora 93.8 KiB python-unversioned-command noarch 3.13.0-1.fc41 fedora 23.0 B python3-unbound x86_64 1.21.1-1.fc41 fedora 521.8 KiB qrencode-libs x86_64 4.1.1-8.fc41 fedora 160.9 KiB rpm-plugin-systemd-inhibit x86_64 4.20.0-1.fc41 fedora 16.3 KiB systemd-networkd x86_64 256.7-1.fc41 fedora 2.1 MiB systemd-resolved x86_64 256.7-1.fc41 fedora 671.1 KiB systemd-udev x86_64 256.7-1.fc41 fedora 11.8 MiB unbound-anchor x86_64 1.21.1-1.fc41 fedora 57.3 KiB Skipping packages with conflicts: libcurl x86_64 8.9.1-2.fc41 fedora 818.1 KiB Skipping packages with broken dependencies: dnf5-plugin-automatic x86_64 5.2.6.2-1.fc41 fedora 178.4 KiB Transaction Summary: Installing: 72 packages Skipping: 2 packages Total size of inbound packages is 35 MiB. Need to download 35 MiB. After this operation, 123 MiB extra will be used (install 123 MiB, remove 0 B). Is this ok [y/N]: ```
(In reply to Marek Blaha from comment #1) > One of dnf-automatic features is ability to inform the user on the upgrade > results using an email. This is implemented using libcurl. Unfortunately > libcurl-minimal does not support SMTP protocol, so libcurl-full (provided by > libcurl package) is required. > > To resolve your issue you need to swap installed libcurl-minimal with > libcurl: > > # dnf5 swap libcurl-minimal libcurl > > We should mention it in documentation. This has helped me as well, thank you!!!!
"dnf install --allowerasing dnf5-plugin-automatic" is intelligent enough for me to swap the packages without uninstalling other packages. Provided that once installed packages (libcurl-minimal) should not be automatically uninstalled, there cannot be much plain "dnf install" can do.
Thank You for documenting "dnf5 swap libcurl-minimal libcurl" - that did the trick for me as well. Noticing the log below while doing it, I could help but wonder what the point of a separate 647.7 KiB libcurl-minimal VS the 818.1 KiB libcurl was... is the (small) "pain" that this introduces worth the 170 KiB saved? I don't suppose that simply (eventually maybe; I don't know how this work) getting rid of libcurl-minimal entirely, and just always "replacing" ("forwarding", however it works) it entirely with libcurl in future releases is an option here? Just a thought that crossed my mind while figuring this out. $ sudo dnf5 swap libcurl-minimal libcurl Updating and loading repositories: Repositories loaded. Package Arch Version Repository Size Removing: libcurl-minimal x86_64 8.9.1-2.fc41 fedora 647.7 KiB Installing: libcurl x86_64 8.9.1-2.fc41 fedora 818.1 KiB Transaction Summary: Installing: 1 package Removing: 1 package Total size of inbound packages is 362 KiB. Need to download 362 KiB. After this operation, 170 KiB extra will be used (install 818 KiB, remove 648 KiB).
libcurl-minimal implements a subset of protocols. It exists to decrease an attack surface. If you want to contemplate its usefulness, I recommend opening a bug against curl component.
Sending dnf-automatic results defaults to emit_via=stdio. As the default configuration does not require cURL library with SMTP protocol, I'm keen to relax the dependency (e.g. to Recommends level) and make sure that dnf-automatic command properly fails if emit_via is set to "email" and cURL library does not support SMTP.
*** Bug 2365231 has been marked as a duplicate of this bug. ***
> I'm keen to relax the dependency (e.g. to Recommends level) and make sure that dnf-automatic command properly fails if emit_via is set to "email" and cURL library does not support SMTP. +1