[Bug 1170232] New: Kernel spec self obsoletes
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 Bug ID: 1170232 Summary: Kernel spec self obsoletes Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-maintainers@forge.provo.novell.com Reporter: dcermak@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- The kernel spec file contains a whole lot of self-obsoletes, which is pointed out by rpmlint: kernel-default.x86_64: W: self-obsoletion kernel-bigsmp <= 3.1 obsoletes kernel-bigsmp = 3.1 kernel-default.x86_64: W: self-obsoletion kernel-bigsmp-base <= 3.1 obsoletes kernel-bigsmp-base = 3.1 kernel-default-devel.x86_64: W: self-obsoletion kernel-bigsmp-devel <= 3.1 obsoletes kernel-bigsmp-devel = 3.1 kernel-default.x86_64: W: self-obsoletion kernel-desktop <= 4.3 obsoletes kernel-desktop = 4.3 kernel-default.x86_64: W: self-obsoletion kernel-desktop-base <= 4.3 obsoletes kernel-desktop-base = 4.3 kernel-default-devel.x86_64: W: self-obsoletion kernel-desktop-devel <= 4.3 obsoletes kernel-desktop-devel = 4.3 kernel-default.x86_64: W: self-obsoletion kernel-ec2 <= 4.4 obsoletes kernel-ec2 = 4.4 kernel-default.x86_64: W: self-obsoletion kernel-ec2-base <= 4.4 obsoletes kernel-ec2-base = 4.4 kernel-default-devel.x86_64: W: self-obsoletion kernel-ec2-devel <= 4.4 obsoletes kernel-ec2-devel = 4.4 kernel-default.x86_64: W: self-obsoletion kernel-smp <= 2.6.17 obsoletes kernel-smp = 2.6.17 kernel-default.x86_64: W: self-obsoletion kernel-trace <= 3.13 obsoletes kernel-trace = 3.13 kernel-default.x86_64: W: self-obsoletion kernel-trace-base <= 3.13 obsoletes kernel-trace-base = 3.13 kernel-default-devel.x86_64: W: self-obsoletion kernel-trace-devel <= 3.13 obsoletes kernel-trace-devel = 3.13 kernel-default.x86_64: W: self-obsoletion kernel-xen <= 4.4 obsoletes kernel-xen = 4.4 kernel-default.x86_64: W: self-obsoletion kernel-xen-base <= 4.4 obsoletes kernel-xen-base = 4.4 kernel-default-devel.x86_64: W: self-obsoletion kernel-xen-devel <= 4.4 obsoletes kernel-xen-devel = 4.4 The package obsoletes itself. This is known to cause errors in various tools and should thus be avoided, usually by using appropriately versioned Obsoletes and/or Provides and avoiding unversioned ones. Packages should not self-obsolete, as this breaks rpm and causes bugs like this one: https://bugzilla.redhat.com/show_bug.cgi?id=1824102. Not sure why this works with zypper, but it shouldn't. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 Dan Čermák <dcermak@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dcermak@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 Neal Gompa <ngompa13@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ngompa13@gmail.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 http://bugzilla.opensuse.org/show_bug.cgi?id=1170232#c1 Michal Suchanek <msuchanek@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |msuchanek@suse.com --- Comment #1 from Michal Suchanek <msuchanek@suse.com> --- That's correct behavior. kernel-default-5.6.4-1.1.x86_64 and kernel-default-5.6.4-1.2.x86_64 are different build of the same kernel sources. You can only have one of them installed. The obsoletes listed above do not cause problems. As noted in the RH bug it only happens 'sometimes' - that is when there are multiple rebuilds of the same kernel. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 http://bugzilla.opensuse.org/show_bug.cgi?id=1170232#c2 --- Comment #2 from Neal Gompa <ngompa13@gmail.com> --- (In reply to Michal Suchanek from comment #1)
That's correct behavior. kernel-default-5.6.4-1.1.x86_64 and kernel-default-5.6.4-1.2.x86_64 are different build of the same kernel sources. You can only have one of them installed.
The obsoletes listed above do not cause problems. As noted in the RH bug it only happens 'sometimes' - that is when there are multiple rebuilds of the same kernel.
That shouldn't be a problem. It certainly isn't in Fedora, Mageia, OpenMandriva, ROSA, Yocto, etc. using DNF. The packaging here is clearly buggy and needs some cleanup to simplify and rationalize the behavior. Self-obsoletes are not okay... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 http://bugzilla.opensuse.org/show_bug.cgi?id=1170232#c3 --- Comment #3 from Neal Gompa <ngompa13@gmail.com> --- (In reply to Neal Gompa from comment #2)
(In reply to Michal Suchanek from comment #1)
That's correct behavior. kernel-default-5.6.4-1.1.x86_64 and kernel-default-5.6.4-1.2.x86_64 are different build of the same kernel sources. You can only have one of them installed.
The obsoletes listed above do not cause problems. As noted in the RH bug it only happens 'sometimes' - that is when there are multiple rebuilds of the same kernel.
That shouldn't be a problem. It certainly isn't in Fedora, Mageia, OpenMandriva, ROSA, Yocto, etc. using DNF.
The packaging here is clearly buggy and needs some cleanup to simplify and rationalize the behavior.
Self-obsoletes are not okay...
To clarify, self-obsoletes are when the obsolete matches the provides. For example: Provides: foo = 1.0 Obsoletes: foo <= 1.0 That's in contrast to normal ones like so: Provides: foo = 1.0 Obsoletes: foo < 1.0 -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 http://bugzilla.opensuse.org/show_bug.cgi?id=1170232#c4 Stasiek Michalski <stasiek@michalski.cc> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |stasiek@michalski.cc --- Comment #4 from Stasiek Michalski <stasiek@michalski.cc> --- (In reply to Neal Gompa from comment #3)
To clarify, self-obsoletes are when the obsolete matches the provides.
For example:
Provides: foo = 1.0 Obsoletes: foo <= 1.0
That's in contrast to normal ones like so:
Provides: foo = 1.0 Obsoletes: foo < 1.0
As a sidenote, this clearly should be an rpmlint error, not a warning -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 http://bugzilla.opensuse.org/show_bug.cgi?id=1170232#c5 --- Comment #5 from Michal Suchanek <msuchanek@suse.com> --- And as pointed out in the RH bug it's not the self-obsoletes what breaks dnf. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 http://bugzilla.opensuse.org/show_bug.cgi?id=1170232#c6 Takashi Iwai <tiwai@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tiwai@suse.com --- Comment #6 from Takashi Iwai <tiwai@suse.com> --- But admittedly the self-obsoletes isn't nice, either. In general, we can change the version for "Provides" to either the current version or some fixed version that is new enough. Those provides/obsoletes are just for migration from the older products. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 http://bugzilla.opensuse.org/show_bug.cgi?id=1170232#c11 --- Comment #11 from Neal Gompa <ngompa13@gmail.com> --- Adding a ".1" to the Provides will work. I would probably recommend using "+1" since it makes it more clear to _humans_ that you've bumped it separately (since we have no control over the Release field...). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1170232 http://bugzilla.opensuse.org/show_bug.cgi?id=1170232#c12 Michal Suchanek <msuchanek@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #12 from Michal Suchanek <msuchanek@suse.com> --- Should come out in the next MU -- You are receiving this mail because: You are on the CC list for the bug.
participants (2)
-
bugzilla_noreply@novell.com
-
bugzilla_noreply@suse.com