I suspect they both provide the same capability which is required in another package, and the solver "believes" the capability is going away when the kernel-flavor-devel package is removed rather than recognising that it's still being provided by an alternative package (kernel-devel).
But I could be wrong: I've not inspected the code - I'm just surmising from the solver's behaviour and several years of debugging systems' unintended or unwanted behaviours.
p.s. this behaviour was from using yast2 sw_single rather than ziper remove, so I may be assigning blame to the wrong piece of code.
These two lines from the attached log are interesting:
AFAIK kernel-preempt-devel and kernel-default-devel should provide the same capabilities (while kernel-devel is a different story).Code:2020-12-28 23:13:56|install|kernel-preempt-devel|5.3.18-lp152.57.1|x86_64||repo-update|84e0925335602d9ef693e175378ba58835bdbcf40360cfe01c6dba56408573d0| 2020-12-28 23:13:59|install|kernel-default-devel|5.3.18-lp152.57.1|x86_64||repo-update|da9daf0e56d2211a3fc4b402aff67ee3aeac1e8342e1aadf0da0dccddcb95962|
But those packages are only involved in building kernels or kernel modules from source (you have kernel-source installed...) but don't provide "running kernel" code.
If, as stated in the title, your running kernel is -preempt, you should have also a kernel-preempt-5.3.18xxx installed but there is no such evidence in the log you posted; moreover, without VirtualBox it is not clear what triggered the install of such kernel-preempt-5.3.18xxx (well _IF_ it is installed at all, kernel-preempt-devel should do no harm by itself...)
Tumbleweed Gnome on i7 4720HQ + Geforce GTX960M
testing Leap 15.3
One more thought, there is no kernel-preempt in Leap 15.1, so is it possible that during a "dup" from 15.1 to 15.2 the solver cannot decide which upgrade from kernel-default-4.12x to choose and then installs _both_ kernel-default-5.3 _and_ kernel-preempt-5.3 ??
If that is the case, we may see a flood of such cases in the Forums now that 15.1 is approaching EOL...
Tumbleweed Gnome on i7 4720HQ + Geforce GTX960M
testing Leap 15.3
Thanks @OrsoBruno. Yes, I made a mistake in my post - it was kernel-default-devel I meant not kernel-devel, which is also installed.
The dependency is dkms requires kernel-syms, which requires kernel-devel and kernel-default-devel or kernel-preempt-devel (I assume there's some kind of one-of-many logic here I can't see using rpm -q). kernel-devel requires kernel-macros provided by kernel-default-devel or kernel-preempt-devel.
These two defects (one in the solver when removing kernel-preempt-devel and one when doing the dup) could both be the same defect: the solver is either doing things out of order (i.e. solving the kernel-syms > kernel-*-devel requirement before kernel-devel > kernel-*-devel pulls in the right flavour); or it's removing the provided capability from it's list without checking if that capability is provided by another package which is or is planned to be installed..
Yes, I'd expect quite a few of these, although most people won't notice as it doesn't affect functionality.
Statistics on the installation volumes of kernel-devel, kernel-default, kernel-default-devel, kernel-preempt, kernel-preempt-devel downloads or installs (if available) would tell you how widespread the problem is. Specifically the change in the ratios between kernel-devel & kernel-*-devel and kernel-* & kernel-*-devel are indicators.
Last edited by jetojedno; 25-Jan-2021 at 01:06. Reason: Clarify defect analysis
It requires both.DKMS is the only package (in standard repositories) that requires kernel-syms and kernel-syms is not really needed at all - to compile external modules for your kernel you only need kernel-flavor-devel which automatically pulls in other required dependencies (and kernel-syms is not among them). I guess it is legacy package which pulls in all flavors to facilitate building kernel modules for every possible kernel variant. I do not have kernel-syms at all and have no problems compiling modules (I do not use DKMS).Code:bor@10:~> zypper info --requires kernel-syms Information for package kernel-syms: ------------------------------------ Repository : Main Update Repository Name : kernel-syms Version : 5.3.18-lp152.60.1 ... Requires : [4] pesign-obs-integration kernel-devel = 5.3.18-lp152.60 kernel-default-devel = 5.3.18-lp152.60 kernel-preempt-devel = 5.3.18-lp152.60 bor@10:~>
In any case, all of this has absolutely nothing to do with the title of your post, because installing kernel-preempt-devel certainly does not make your system run kernel-preempt and in the whole thread there is no single evidence that you are actually running it.
Bookmarks