[resent another time because the list automatically rejected my mail]
On 27/04/12 10:13, Panu Matilainen wrote:
[...]
The short background is that for libraries which dont have a SONAME,
rpmbuild fakes one based on the file name. The rationale for this has
been that since the linker permits linking to libraries without sonames,
rpm must permit this too. The downside is that for the 1% corner cases
that need this, we end up polluting the provides namespace with
thousands of unnecessary and unwanted names, names that have not been
picked up with a global namespace in mind.
[...]
So... about a third of the soname provides are faked by using library
basename for its provide name, and almost all of them are for no good
reason. The three general cases that something actually depends on are
1) libreoffice sub-packages depending on its internal libraries from
libreoffice-core
while i'm still quite unfamiliar with RPM or the libreoffice.spec file,
i'm very familiar with LibreOffice upstream; generally with the
exception of the -ure sub-package there are no stable ABIs provided by
the various libraries, so the sub-packages need to depend on the exact
same version of the core package anyway (and no code outside of the
libreoffice source package should have dependencies) which is probably
why the spec file contains this:
Requires: %{name}-core = %{epoch}:%{version}-%{release}
now the URE (UNO runtime environment) subpackage actually provides a
stable ABI and libraries with SONAMEs (in addition to some private
libraries without SONAME for dlopen), all installed in a sub-directory
of /usr/lib/libreoffice, but other than the other libreoffice
sub-packages, which again depend on it with exact version
Requires: %{name}-ure = %{epoch}:%{version}-%{release}
using repoquery i could find only 3 non-libreoffice packages with a
dependency on ure or its libraries in Fedora 16, all of which
LibreOffice extensions (actually 2 of the 3 are the same, once with the
old
openoffice.org name), and depending only on the public libraries
with SONAME:
repoquery --requires openoffice.org-voikko-0:3.1.2-5.fc16.x86_64
openoffice.org-diafilter-0:1.7.0-6.fc15.x86_64 libreoffice-voikko-0:3.2-4.fc16.x86_64
[...]