https://bugzilla.redhat.com/show_bug.cgi?id=1111691
--- Comment #18 from David Nichols david@qore.org --- (In reply to Michael Schwendt from comment #17)
This did not work [...]
So-called "self-Obsoletes" do work, because the same package still Provides what it Obsoletes.
Self-Obsoletes sometimes are used to replace multiple packages (of no specific arch) with a single new package.
Provides: libqore5 = 0.8.11 Obsoletes: libqore5 < 0.8.12
Anything that "Requires: libqore5 <= 0.8.11" would still have worked, because it is still provided.
Provides: libqore5 = %{version} Obsoletes: libqore5 < %{version}
This is cleaner, of course. Though, typically one hardcodes a specific maximum version-release in the Obsoletes tag to be really accurate and not obsolete more than necessary (e.g. if %version increments, the Obsoletes tag would adjust and also obsolete newer versions than what had been specified originally).
OK I have it like this now: Provides: qore-module(abi) = 0.19 Provides: qore-module(abi) = 0.18 Provides: libqore5 = %{version} Obsoletes: libqore5 < 0.8.11.1
I also updated the module (and library) ABI because I moved the user (text) modules to $(datarootdir)/qore-modules (ie /usr/share/qore-modules/...) to address one of the fedora-review issues, and for this I also added additional symbols to the library.
However now I'm getting a new error in fedora-review as follows: libqore.x86_64: E: useless-provides qore-module(abi)
Any clue what I'm doing wrong here?