Bug 1257515 - dnf update --best fails to update kernel w/ akmods
Summary: dnf update --best fails to update kernel w/ akmods
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: rpm-software-management
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-27 09:01 UTC by Ralf Corsepius
Modified: 2016-07-19 17:41 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-19 17:41:00 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ralf Corsepius 2015-08-27 09:01:16 UTC
Description of problem:

"dnf update --best" seems unable to update kernels, when akmods are installed and when the limit of installed kernel is exceeded.

Situation before the update:
# rpm -qa 'kernel*' '*kmod*' | sort
akmod-nvidia-340xx-340.76-3.fc22.x86_64
akmods-0.5.4-1.fc22.noarch
kernel-4.1.3-201.fc22.x86_64
kernel-4.1.4-200.fc22.x86_64
kernel-4.1.5-200.fc22.x86_64
kernel-core-4.1.3-201.fc22.x86_64
kernel-core-4.1.4-200.fc22.x86_64
kernel-core-4.1.5-200.fc22.x86_64
kernel-devel-4.1.3-201.fc22.x86_64
kernel-devel-4.1.4-200.fc22.x86_64
kernel-devel-4.1.5-200.fc22.x86_64
kernel-headers-4.1.5-200.fc22.x86_64
kernel-modules-4.1.3-201.fc22.x86_64
kernel-modules-4.1.4-200.fc22.x86_64
kernel-modules-4.1.5-200.fc22.x86_64
kmod-21-1.fc22.x86_64
kmod-libs-21-1.fc22.x86_64
kmod-nvidia-340xx-4.1.3-201.fc22.x86_64-340.76-3.fc22.x86_64
kmod-nvidia-340xx-4.1.4-200.fc22.x86_64-340.76-3.fc22.x86_64
kmod-nvidia-340xx-4.1.5-200.fc22.x86_64-340.76-3.fc22.x86_64
kmodtool-1-23.fc22.noarch
xorg-x11-drv-nvidia-340xx-kmodsrc-340.76-1.fc22.x86_64


Attempt to update:
# dnf --refresh update --best
RPM Fusion for Fedora 22 - Free - Updates                                                                                     578 kB/s |  29 kB     00:00    
RPM Fusion for Fedora 22 - Nonfree - Updates                                                                                  442 kB/s |  15 kB     00:00    
RPM Fusion for Fedora 22 - Free                                                                                               720 kB/s | 551 kB     00:00    
RPM Fusion for Fedora 22 - Nonfree                                                                                            540 kB/s | 170 kB     00:00    
Last metadata expiration check performed 0:00:00 ago on Thu Aug 27 10:44:18 2015.
Error: package kmod-nvidia-340xx-4.1.3-201.fc22.x86_64-1:340.76-3.fc22.x86_64 requires kernel-uname-r = 4.1.3-201.fc22.x86_64, but none of the providers can be installed
(try to add '--allowerasing' to command line to replace conflicting packages)

Version-Release number of selected component (if applicable):
dnf-1.1.0-2.fc22.noarch

How reproducible:
Always.

Steps to Reproduce:
1. Install an akmod (eg. nvidia akmod from rpmfusion)
2. Update the kernel until the number of parallel installed kernel is reached.
3. Wait until the n+1 kernel appears, then run the command above.

Actual results:
See above.

Expected results:
The update to work.

Additional info:
- This is a regression of dnf in comparison to yum.
I am suspecting dnf to have a deinstallation ordering problem with parallel installs or dnt to have some issues with the pattern used to special case parallel installs of the kernel.

- When using "dnf update" (without --best), the update works.

Comment 2 Ralf Corsepius 2015-09-07 05:55:02 UTC
I have no idea, what you want me to do:

This is the *full* output:

# dnf update --enablerepo=corsepiu-testing --best
Last metadata expiration check performed 0:00:13 ago on Mon Sep  7 07:30:18 2015.
Error: package kmod-nvidia-340xx-4.1.4-200.local.fc22.x86_64-1:340.76-3.fc22.x86_64 requires kernel-uname-r = 4.1.4-200.local.fc22.x86_64, but none of the providers can be installed
(try to add '--allowerasing' to command line to replace conflicting packages)


Playing a little with dnf options doesn't provide more infos:

# dnf update --enablerepo=corsepiu-testing --best -d 10 --debugsolver
--> Starting dependency resolution
--> Finished dependency resolution
timer: depsolve: 3807 ms
Cleaning up.
Error: package kmod-nvidia-340xx-4.1.4-200.local.fc22.x86_64-1:340.76-3.fc22.x86_64 requires kernel-uname-r = 4.1.4-200.local.fc22.x86_64, but none of the providers can be installed
(try to add '--allowerasing' to command line to replace conflicting packages)

The cause is apparent: Before the updates, there are 3 kernels + accompanying kmods installed:
# rpm -qa 'kernel*' '*kmod*' | sort
akmod-nvidia-340xx-340.76-3.fc22.x86_64
akmods-0.5.4-1.fc22.noarch
kernel-4.1.4-200.local.fc22.x86_64
kernel-4.1.5-200.local.fc22.x86_64
kernel-4.1.6-200.local.fc22.x86_64
kernel-core-4.1.4-200.local.fc22.x86_64
kernel-core-4.1.5-200.local.fc22.x86_64
kernel-core-4.1.6-200.local.fc22.x86_64
kernel-devel-4.1.4-200.local.fc22.x86_64
kernel-devel-4.1.5-200.local.fc22.x86_64
kernel-devel-4.1.6-200.local.fc22.x86_64
kernel-headers-4.1.6-200.local.fc22.x86_64
kernel-modules-4.1.4-200.local.fc22.x86_64
kernel-modules-4.1.5-200.local.fc22.x86_64
kernel-modules-4.1.6-200.local.fc22.x86_64
kmod-21-1.fc22.x86_64
kmod-libs-21-1.fc22.x86_64
kmod-nvidia-340xx-4.1.4-200.local.fc22.x86_64-340.76-3.fc22.x86_64
kmod-nvidia-340xx-4.1.5-200.local.fc22.x86_64-340.76-3.fc22.x86_64
kmod-nvidia-340xx-4.1.6-200.local.fc22.x86_64-340.76-3.fc22.x86_64
kmodtool-1-23.fc22.noarch
xorg-x11-drv-nvidia-340xx-kmodsrc-340.76-1.fc22.x86_64

During the update, another (4th) kernel (kernel-4.1.6-201.local.fc22) is about to be installed.


When omitting --best or when explicitly specifying 'kernel*'
# dnf update --enablerepo=corsepiu-testing 'kernel*'
the update succeeds.

In other words, the filter to trigger special treatment of 'kernel*' is broken.

Comment 3 Fedora Admin XMLRPC Client 2016-07-08 09:30:12 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 4 Fedora End Of Life 2016-07-19 17:41:00 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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