Bug 604578

Summary: File conflict between tog-pegasus and libcmpiCppImpl0
Product: Red Hat Enterprise Linux 6 Reporter: Alexander Todorov <atodorov>
Component: relengAssignee: Dennis Gregorovic <dgregor>
Status: CLOSED CURRENTRELEASE QA Contact: Release Test Team <release-test-team-automation>
Severity: high Docs Contact:
Priority: high    
Version: 6.0CC: borgan, dmach, jfeeney, jjarvis, jstodola, lagarcia, martinez, notting, ovasik, redhatbugs, sghosh, syeghiay, vcrhonek
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: sblim-cmpi-devel-2.0.1-5.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 622919 (view as bug list) Environment:
Last Closed: 2010-11-10 22:15:41 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 582286, 622919    

Description Alexander Todorov 2010-06-16 09:44:47 UTC
Description of problem:

Both tog-pegasus and libcmpiCppImpl0 packages provide the same files which causes a conflict when trying to install libcmpiCppImpl0. 

toge-pegasus is in the base repository while libcmpiCppImpl0 is in the optional.

tog-pegasus-2.9.1-3.el6.x86_64.rpm | grep libcmpi
/usr/lib64/libcmpiCppImpl.so
/usr/lib64/libcmpiCppImpl.so.1

# rpm -qpl libcmpiCppImpl0-2.0.1-2.el6.x86_64.rpm 
/usr/lib64/libcmpiCppImpl.so
/usr/lib64/libcmpiCppImpl.so.0
/usr/lib64/libcmpiCppImpl.so.0.0.0

Version-Release number of selected component (if applicable):
tog-pegasus-2.9.1-3.el6
libcmpiCppImpl0-2.0.1-2.el6

How reproducible:
always

Steps to Reproduce:
1. Try to install libcmpiCppImpl0 after tog-pegasus has been installed;
2. Alternatively try to install all packages from the optional repo which includes libcmpiCppImpl0 and tog-pegasus-devel.
3.
  
Actual results:
File conflict, yum transaction is aborted.

Expected results:
No file conflicts.

Additional info:
It seems that the provided library from both packages is the same. Why do we have 2 packages providing the same library and what's the difference between them?

Comment 1 Vitezslav Crhonek 2010-06-16 10:03:14 UTC
See bz588914 for more details.

Comment 2 Alexander Todorov 2010-06-16 10:30:16 UTC
OK, so tog-pegasus and libcmpiCppImpl0 will conflict with each other. 
Moving to releng to get their input as well. 

Dennis,
is there something we can do wrt those two packages?

Comment 3 Vitezslav Crhonek 2010-06-30 14:11:40 UTC
Additional commentaries to this issue are within bz608846.

Comment 4 Bill Nottingham 2010-07-01 16:07:06 UTC
My preference would be to have a single implementation of libcmpiCppImpl0 packaged, that could be used by both tog-pegasus and other providers. Is this not possible to split it out of tog-pegasus and have tog-pegasus link against it?

Comment 5 Marizol Martinez 2010-07-01 18:08:47 UTC
Bill -- That was our hope too, but that won't work: https://bugzilla.redhat.com/show_bug.cgi?id=608846#c6

Comment 6 Marizol Martinez 2010-07-01 18:16:11 UTC
Wait a sec, I think Bill is suggesting to provide all of the following into libcmpiCppImpl0:

API for Pegasus C++ providers
API for Pegasus C++ clients
API for CMPI C providers
API for CMPI C++ wrapper library

And that way both tog-pegasus and other providers can use the same library. Duh! ;-).

Vita -- What do you think?

Comment 7 Marizol Martinez 2010-07-12 13:57:17 UTC
Please disregard my previous comment. After chatting with Vita, that won't work either. The version of the lib. tog-pegasus uses *is* diff. from the one SFCB uses although they are the named the same :-/.

Comment 8 Bill Nottingham 2010-07-13 17:48:08 UTC
Any chance we could move the tog-pegasus library out of ${libdir} to a private directory, so there's not a direct file/package conflict? (Possibly even rename it?)

Comment 20 Dennis Gregorovic 2010-07-29 19:58:38 UTC
I think we're good.

$ find RHEL6.0-20100729.1/6 -name libcmpiC*
RHEL6.0-20100729.1/6/Server/i386/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.i686.rpm
RHEL6.0-20100729.1/6/Server/s390x/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.s390x.rpm
RHEL6.0-20100729.1/6/Server/s390x/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.s390.rpm
RHEL6.0-20100729.1/6/Server/ppc64/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.ppc64.rpm
RHEL6.0-20100729.1/6/Server/ppc64/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.ppc.rpm
RHEL6.0-20100729.1/6/Server/x86_64/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.i686.rpm
RHEL6.0-20100729.1/6/Server/x86_64/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.x86_64.rpm
RHEL6.0-20100729.1/6/Workstation/i386/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.i686.rpm
RHEL6.0-20100729.1/6/Workstation/x86_64/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.i686.rpm
RHEL6.0-20100729.1/6/Workstation/x86_64/os/Packages/libcmpiCppImpl0-2.0.1-5.el6.x86_64.rpm

Comment 26 Alexander Todorov 2010-08-05 08:19:38 UTC
Moving to VERIFIED per Jan's testing, see comment #23

Comment 31 releng-rhel@redhat.com 2010-11-10 22:15:41 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.

Comment 32 Zenon Panoussis 2011-03-10 21:40:12 UTC
(In reply to comment #9 and comment #31)

They still conflict. 

rpm -qpl libcmpiCppImpl0-2.0.1-5.el6.x86_64.rpm
/usr/lib64/libcmpiCppImpl.so
/usr/lib64/libcmpiCppImpl.so.0
/usr/lib64/libcmpiCppImpl.so.0.0.0

This comes from sblim-cmpi-devel-2.0.1-5.el6.src.rpm, the one that's supposed to have fixed it and the only one released in el6. And sblim-cmpi-devel.spec says

%package -n libcmpiCppImpl0
License:        EPL
Summary:        CMPI C++ wrapper library
Group:          Development/Libraries
Conflicts:      tog-pegasus

Could you please re-open?

Comment 33 Subhendu Ghosh 2011-03-10 22:09:22 UTC
Please see the release notes. RHEL 5 introduced a feature known as @conflicts where a set of rpms that are known to conflict would be listed. RHEL6 supports that structure. 

All packages that include conflicts in RHEL6 are listed in a yum group call -@conflicts-<variant> (eg: -@conflicts-server ).

If you want to install packages from that group you have to take special care to select that package and nesure what its conflicting with is not installed.

Comment 34 Zenon Panoussis 2011-03-10 23:44:00 UTC
But comment #9 says ".so* files moved to %{_libdir}/sblim subdir" and that has obviously not happened. It also says "explicit conflict in libcmpiCppImpl0 removed", but the explicit conflict is still there. To me, this looks like an accidentally reverted patch somewhere after the fix.

Comment 35 Ondrej Vasik 2011-03-11 06:43:34 UTC
No, it was not accidently reverted, but different approach was requested by the customer - so the revert was intentional. I'll remove the comment #9 to prevent confusion in future.