Description of problem: When installing snapd-2.36-1.fc29.x86_64 in Fedora 29 cloud image, dnf attempts to install kernel-debug-modules (and thus kernel-debug-core) to satisfy kmod(squashfs.ko) dependency, even though the host is running kernel-core and kernel-modules would be appropriate. Version-Release number of selected component (if applicable): libsolv-0.7.1-1.fc29.x86_64 dnf-4.0.4-2.fc29.noarch How reproducible: always Steps to Reproduce: 1. use Fedora 29 cloud image 2. dnf install snapd Actual results: kernel-debug-core & kernel-debug-modules get installed Expected results: Would expect kernel-modules to get installed Additional info: [guest@localhost ~]$ sudo dnf deplist snapd-2.36-1.fc29.x86_64 Last metadata expiration check: 0:43:04 ago on Fri 23 Nov 2018 07:05:42 AM UTC. package: snapd-2.36-1.fc29.x86_64 dependency: ((squashfuse and fuse) or kmod(squashfs.ko)) provider: kernel-debug-modules-4.19.2-301.fc29.x86_64 provider: kernel-modules-4.19.2-301.fc29.x86_64 provider: fuse-2.9.7-14.fc29.x86_64 provider: squashfuse-0.1.102-2.fc29.x86_64 dependency: /bin/sh provider: bash-4.4.23-5.fc29.x86_64 dependency: /usr/bin/bash provider: bash-4.4.23-5.fc29.x86_64 dependency: /usr/bin/sh provider: bash-4.4.23-5.fc29.x86_64 dependency: bash-completion provider: bash-completion-1:2.8-3.fc29.noarch dependency: libc.so.6(GLIBC_2.14)(64bit) provider: glibc-2.28-20.fc29.x86_64 dependency: libgcc_s.so.1()(64bit) provider: libgcc-8.2.1-5.fc29.x86_64 dependency: libgcc_s.so.1(GCC_3.0)(64bit) provider: libgcc-8.2.1-5.fc29.x86_64 dependency: libgcc_s.so.1(GCC_3.3.1)(64bit) provider: libgcc-8.2.1-5.fc29.x86_64 dependency: libpthread.so.0()(64bit) provider: glibc-2.28-20.fc29.x86_64 dependency: libpthread.so.0(GLIBC_2.2.5)(64bit) provider: glibc-2.28-20.fc29.x86_64 dependency: libpthread.so.0(GLIBC_2.3.2)(64bit) provider: glibc-2.28-20.fc29.x86_64 dependency: rtld(GNU_HASH) provider: glibc-2.28-20.fc29.i686 provider: glibc-2.28-20.fc29.x86_64 dependency: snap-confine(x86-64) = 2.36-1.fc29 provider: snap-confine-2.36-1.fc29.x86_64 dependency: snapd-selinux = 2.36-1.fc29 provider: snapd-selinux-2.36-1.fc29.noarch dependency: squashfs-tools provider: squashfs-tools-4.3-16.fc28.x86_64 dependency: systemd provider: systemd-239-6.git9f3aed1.fc29.i686 provider: systemd-239-6.git9f3aed1.fc29.x86_64 [guest@localhost ~]$ sudo dnf provides 'kmod(squashfs.ko)' Last metadata expiration check: 0:46:51 ago on Fri 23 Nov 2018 07:05:42 AM UTC. kernel-debug-modules-4.19.2-301.fc29.x86_64 : kernel modules to match the core kernel Repo : updates Matched from: Provide : kmod(squashfs.ko) kernel-modules-4.19.2-301.fc29.x86_64 : kernel modules to match the core kernel Repo : updates Matched from: Provide : kmod(squashfs.ko) kernel-debug-modules-4.18.16-300.fc29.x86_64 : kernel modules to match the core kernel Repo : fedora Matched from: Provide : kmod(squashfs.ko) kernel-modules-4.18.16-300.fc29.x86_64 : kernel modules to match the core kernel Repo : fedora Matched from: Provide : kmod(squashfs.ko) [guest@localhost ~]$ rpm -qa kernel\* kernel-headers-4.19.2-300.fc29.x86_64 kernel-core-4.19.2-301.fc29.x86_64 kernel-core-4.18.16-300.fc29.x86_64
For libsolv, there is no difference between those 2 things. So this should be fixed somewhere else.
This is yet another problem with the kernel package... There should be some kind of rich dep hint to ensure the right flavor is picked.
Actually, it'd be even simpler. The kernel modules subpackages should have "Enhances" statements matching their flavor. That gives the solver the appropriate hint.
*********** MASS BUG UPDATE ************** We apologize for the inconvenience. There are a large number of bugs to go through and several of them have gone stale. Due to this, we are doing a mass bug update across all of the Fedora 29 kernel bugs. Fedora 29 has now been rebased to 4.20.5-200.fc29. Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel. If you experience different issues, please open a new bug report for those.
This issue does not appear resolved in the latest kernel release.
(In reply to Neal Gompa from comment #5) > This issue does not appear resolved in the latest kernel release. Looks like we're not going to have a solution in anytime soon. In the meantime users keep having kernel-debug and kernel-debug-modules picked up by dnf when installing snapd, what results in non-functional snapd and unnecessary kernel packages. Any ideas whether we could tweak the rich dependencies of snapd to avoid that? Would something like this work? Requires: ((snapfuse and fuse) or kernel-modules or kmod(squashfs.ko))
[This is to make the bug log show that this is still relevant in F34 at 2021-03-25] I just ran into this when adding "Recommends: kmod(pcspkr.ko)" to the "beep" package and then test installing that, and then found that the same problem exists for the "floppy-support" package ("Requires: kmod(floppy.ko)") and for the "joystick-support" package ("Requires: kmod(analog.ko)" and "Requires: kmod(joydev.ko)"): # dnf install floppy-support [...] Installing: floppy-support noarch 1.0.0-22.fc34 fedora 7.8 k Installing dependencies: kernel-debug-core x86_64 5.11.9-300.fc34 updates-testing 35 M kernel-debug-modules x86_64 5.11.9-300.fc34 updates-testing 31 M kernel-debug-modules-extra x86_64 5.11.9-300.fc34 updates-testing 2.2 M [...] #
*** Bug 1883153 has been marked as a duplicate of this bug. ***