Bug 156039 - Virtual Provides conflict with other packages in Core and Extras
Summary: Virtual Provides conflict with other packages in Core and Extras
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: openoffice.org
Version: 4
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Caolan McNamara
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: FC4Blocker
TreeView+ depends on / blocked
 
Reported: 2005-04-26 21:12 UTC by Michael Schwendt
Modified: 2007-11-30 22:11 UTC (History)
3 users (show)

Fixed In Version: 1.9.99-2
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-05-04 08:34:13 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
spec patch idea (1.08 KB, patch)
2005-04-27 12:23 UTC, Michael Schwendt
no flags Details | Diff
find-provides filter patch (378 bytes, patch)
2005-04-27 12:24 UTC, Michael Schwendt
no flags Details | Diff

Description Michael Schwendt 2005-04-26 21:12:31 UTC
It is really _really_ bad and dangerous that the openoffice.org-core package
contains many virtual provides for all the DSOs it includes in a private
directory /usr/lib/openoffice.org1.9.89/program/ which is outside dynamic
linker's search path.

For instance, it creates this new conflict with Fedora Extras, which causes
programs to fail, when package resolvers use openoffice.org-core as the provider
for libsndfile.so.1 instead of "libsndfile" from Fedora Extras:

# rpm -q --whatprovides libsndfile.so.1
openoffice.org-core-1.9.89-3
libsndfile-1.0.11-1

A package like openoffice.org-core, which provides the libsndfile DSO in 
/usr/lib/openoffice.org1.9.89/program/libsndfile.so.1, should NOT "Provides:
libsndfile.so.1", neither generated automatically nor added manually. The path,
where those DSOs are located, is not in /etc/ld.so.conf*  The run-time linker
will not link libsndfile.so.1 from there. Effectively, the OO.o-core package
does NOT really provides the DSO with the libsndfile.so.1 SONAME, but just
pollutes the RPM database with it and breaks packages, which depend on the SONAME.

Please filter out such DSO virtual provides.

openoffice.org-core does not even require libsndfile.so.1 itself. Watch this:

# rpm -q --whatrequires libsndfile.so.1
libsamplerate-0.1.2-1
libsndfile-1.0.11-1
audacity-1.2.3-3

# rpm -q openoffice.org-core
openoffice.org-core-1.9.89-3

[...]

In Fedora Extras, we could work around this with explicit "Requires:
libsndfile", but this is a step backwards.

Comment 1 Warren Togami 2005-04-26 21:23:27 UTC
We cannot ship FC4 with this.

Comment 2 Caolan McNamara 2005-04-27 07:10:24 UTC
And pray tell what's the desired solution? OOo contains libsndfile, there was no
enthusism for adding libsndfile as a supported fc4 package so OOo continues to
use the internal copy. Similiarly a patched xmlsec1 is in OOo.

Maybe unmarking the exec bit of selected libs such as libsndfile and xmlsec1
during %install might hackaround this, hiding them from the auto requires
finding of rpmbuild

Comment 3 Warren Togami 2005-04-27 07:17:48 UTC
Ville will a similar filter requires script (with grep -v) used in perl packages
work here too?

Comment 4 Michael Schwendt 2005-04-27 10:18:11 UTC
There's a conflict with Fedora Core, too (and this is no full install):

$ rpm -q --whatprovides libxmlsec1.so.1 
xmlsec1-1.2.7-4
openoffice.org-core-1.9.89-3

$ rpm -q --whatrequires libxmlsec1.so.1 
xmlsec1-1.2.7-4
xmlsec1-openssl-1.2.7-4

[...]

A problem is that OOo requires a few of the sonames itself:

$ pwd
/usr/lib/openoffice.org1.9.89/program
$ ls *.so* | xargs -t -n 1 rpm -q --whatrequires | grep -v ^no
[lists the OOo package a few times]

Comment 5 Michael Schwendt 2005-04-27 10:24:56 UTC
Re: comment 2

They are -x here already, but maybe the symlinks to them cause them to be found.


Comment 6 Michael Schwendt 2005-04-27 12:23:32 UTC
Created attachment 113711 [details]
spec patch idea

Comment 7 Michael Schwendt 2005-04-27 12:24:17 UTC
Created attachment 113712 [details]
find-provides filter patch

Comment 8 Warren Togami 2005-04-27 18:48:26 UTC
After this is built can you generate a rpmdiff report from the previous version
and post it here?

Comment 9 Caolan McNamara 2005-04-29 13:44:06 UTC
the valgrind.spec apparently has a good pattern for this


Note You need to log in before you can comment on or make changes to this bug.