Bug 1652823 - dnf selects incorrect dependency to satisfy kmod(squashfs.ko) in snapd
Summary: dnf selects incorrect dependency to satisfy kmod(squashfs.ko) in snapd
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1883153 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-11-23 07:54 UTC by Maciek Borzecki
Modified: 2022-08-30 12:14 UTC (History)
21 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Maciek Borzecki 2018-11-23 07:54:25 UTC
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

Comment 1 Igor Raits 2018-11-23 08:35:45 UTC
For libsolv, there is no difference between those 2 things. So this should be fixed somewhere else.

Comment 2 Neal Gompa 2018-11-23 14:44:48 UTC
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.

Comment 3 Neal Gompa 2018-11-23 14:46:38 UTC
Actually, it'd be even simpler. The kernel modules subpackages should have "Enhances" statements matching their flavor. That gives the solver the appropriate hint.

Comment 4 Justin M. Forbes 2019-01-29 16:13:33 UTC
*********** 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.

Comment 5 Neal Gompa 2019-01-29 18:18:40 UTC
This issue does not appear resolved in the latest kernel release.

Comment 6 Maciek Borzecki 2020-01-07 08:26:38 UTC
(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))

Comment 7 Hans Ulrich Niedermann 2021-03-25 18:48:36 UTC
[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                               
    [...]
    #

Comment 8 Andrew Price 2022-05-13 11:24:34 UTC
*** Bug 1883153 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.