https://bugzilla.redhat.com/show_bug.cgi?id=1111691
--- Comment #16 from David Nichols <david(a)qore.org> ---
(In reply to David Nichols from comment #15)
(In reply to Michael Schwendt from comment #14)
> > obsolete-not-provided
>
> First of all, while you can put anything in an Obsoletes tag, only package
> names (with/without a version-release range) will actually result in the
> specified package(s) getting replaced with another package (or multiple
> ones).
>
> Further, anything declared as obsolete breaks existing dependencies on it.
> Unless there is a corresponding "Provides" for the obsolete thing.
>
> > Obsoletes: libqore5 < 0.8.12
>
> If there's a "Requires: libqore5 …" anywhere, there would be a broken
> dependency, regardless of whether "libqore5" is a physical package %name,
a
> virtual package name, or something else as a "Provides" tag.
>
>
http://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.
> 2FReplacing_Existing_Packages
>
> > Obsoletes: qore-module-api-0.18
>
> Same here. This capability will be "gone", "hidden" from the
depsolver, and
> anything that still depends on it will cause a broken dependency. The
> package that contains this Obsoletes tag does not implicitly "Provides"
the
> obsolete thing.
OK, I tried to read about this stuff, but I did not see this covered in any
of the RPM or packaging guides. I think that I understand now.
So then I will do this instead:
Provides: qore-module(abi) = 0.18
Provides: libqore5 = 0.8.11
Obsoletes: libqore5 < 0.8.12
# provided for backwards-compatibility with unversioned capabilities and
will be removed when the ABI drops backwards-compatibility
Provides: qore-module-api-0.18
Provides: qore-module-api-0.17
Provides: qore-module-api-0.16
Provides: qore-module-api-0.15
Provides: qore-module-api-0.14
Provides: qore-module-api-0.13
Provides: qore-module-api-0.12
Provides: qore-module-api-0.11
Provides: qore-module-api-0.10
Provides: qore-module-api-0.9
Provides: qore-module-api-0.8
Provides: qore-module-api-0.7
Provides: qore-module-api-0.6
Provides: qore-module-api-0.5
This did not work because libqore then provides a capability that it's
obsoleting.
Therefore I will update the version to 0.8.11.1 and then do the following:
Provides: qore-module(abi) = 0.18
Provides: libqore5 = %{version}
Obsoletes: libqore5 < %{version}
# provided for backwards-compatibility with unversioned capabilities and will
be removed when the ABI drops backwards-compatibility
Provides: qore-module-api-0.18
Provides: qore-module-api-0.17
Provides: qore-module-api-0.16
Provides: qore-module-api-0.15
Provides: qore-module-api-0.14
Provides: qore-module-api-0.13
Provides: qore-module-api-0.12
Provides: qore-module-api-0.11
Provides: qore-module-api-0.10
Provides: qore-module-api-0.9
Provides: qore-module-api-0.8
Provides: qore-module-api-0.7
Provides: qore-module-api-0.6
I can also remove the unversioned Provides if it's a problem, I just would like
to keep backwards compatibility with existing installed modules if possible,
but if it's not acceptable for Fedora, then I will remove the lines.
I should have the new release ready in a few minutes.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component