Bug 383718

Summary: file collisions with already installed libringclient
Product: [Applications] ring-kde Reporter: kdebug
Component: generalAssignee: Emmanuel Lepage Vallée <emmanuel.lepage>
Status: RESOLVED FIXED    
Severity: normal    
Priority: HI    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: full build log

Description kdebug 2017-08-19 19:59:13 UTC
I have file collisions when I try to install ring-kde alongside with the separated libringclient.

net-libs/libringclient-20170803.2-r1

This bug is also described there https://github.com/stefan-langenmaier/ring-overlay/issues/40

Now Stefan just added use flags
	system-libringclient? ( net-libs/libringclient[video?] )
	!system-libringclient? ( !net-libs/libringclient )

So ring-kde can be installed when libringlient is removed. But in gentoo we prefere use shared libs instead of static.

Thus, the ring-kde can be installed when the libringlient is removed. But in gentoo, we prefer to use shared libraries instead of static libraries.
So is it possible to forced ring-kde to use already installed lrc?

I tried to add configuration parameters
		-DENABLE_SHARED="$(usex system-libringclient true false)"
		-DENABLE_STATIC="$(usex system-libringclient false true)"
But it is ignored.

>>> Installing (1 of 1) net-voip/kde-ring-99999999::neko-local
 * checking 98 files for package collisions
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at https://bugs.gentoo.org/ unless you report exactly
 * which two packages install the same file(s). See
 * https://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how
 * to solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 *      /usr/include/libringclient/interfaces/actionextenderi.h
 *      /usr/include/libringclient/interfaces/contactmethodselectori.h
 *      /usr/include/libringclient/interfaces/presenceserializeri.h
 *      /usr/include/libringclient/interfaces/pixmapmanipulatori.h
 *      /usr/include/libringclient/interfaces/dbuserrorhandleri.h
 *      /usr/include/libringclient/interfaces/itemmodelstateserializeri.h
 *      /usr/include/libringclient/interfaces/accountlistcolorizeri.h
 *      /usr/include/libringclient/interfaces/shortcutcreatori.h
 *      /usr/include/libringclient/media/recordingmodel.h
 *      /usr/include/libringclient/media/recording.h
 *      /usr/include/libringclient/media/avrecording.h
 *      /usr/include/libringclient/media/media.h
 *      /usr/include/libringclient/media/text.h
 *      /usr/include/libringclient/media/textrecording.h
 *      /usr/include/libringclient/media/video.h
 *      /usr/include/libringclient/media/file.h
 *      /usr/include/libringclient/media/audio.h
 *      /usr/include/libringclient/video/configurationproxy.h
 *      /usr/include/libringclient/video/resolution.h
 *      /usr/include/libringclient/video/channel.h
 *      /usr/include/libringclient/video/sourcemodel.h
 *      /usr/include/libringclient/video/devicemodel.h
 *      /usr/include/libringclient/video/rate.h
 *      /usr/include/libringclient/video/previewmanager.h
 *      /usr/include/libringclient/video/renderer.h
 *      /usr/include/libringclient/video/device.h
 *      /usr/include/libringclient/extensions/presencecollectionextension.h
 *      /usr/include/libringclient/extensions/securityevaluationextension.h
 *      /usr/include/libringclient/audio/ringtonedevicemodel.h
 *      /usr/include/libringclient/audio/alsapluginmodel.h
 *      /usr/include/libringclient/audio/outputdevicemodel.h
 *      /usr/include/libringclient/audio/settings.h
 *      /usr/include/libringclient/audio/inputdevicemodel.h
 *      /usr/include/libringclient/audio/managermodel.h
 *      /usr/share/libringclient/translations/lrc_da_DK.qm
 *      /usr/share/libringclient/translations/lrc_fa_IR.qm
 *      /usr/share/libringclient/translations/lrc_sq_AL.qm
 *      /usr/share/libringclient/translations/lrc_de_DE.qm
 *      /usr/share/libringclient/translations/lrc_ca.qm
 *      /usr/share/libringclient/translations/lrc_en_GB.qm
 *      /usr/share/libringclient/translations/lrc_cs_CZ.qm
 *      /usr/share/libringclient/translations/lrc_he.qm
 *      /usr/share/libringclient/translations/lrc_fr.qm
 *      /usr/share/libringclient/translations/lrc_ms.qm
 *      /usr/share/libringclient/translations/lrc_ru.qm
 *      /usr/share/libringclient/translations/lrc_fr_FR.qm
 *      /usr/share/libringclient/translations/lrc_it_IT.qm
 *      /usr/share/libringclient/translations/lrc_hu.qm
 *      /usr/share/libringclient/translations/lrc_pl.qm
 *      /usr/share/libringclient/translations/lrc_de.qm
 *      /usr/share/libringclient/translations/lrc_pt.qm
 *      /usr/share/libringclient/translations/lrc_hi_IN.qm
 *      /usr/share/libringclient/translations/lrc_uk.qm
 *      /usr/share/libringclient/translations/lrc_sv.qm
 *      /usr/share/libringclient/translations/lrc_ro.qm
 *      /usr/share/libringclient/translations/lrc_zh_TW.qm
 *      /usr/share/libringclient/translations/lrc_et_EE.qm
 *      /usr/share/libringclient/translations/lrc_hr.qm
 *      /usr/share/libringclient/translations/lrc_ru_RU.qm
 *      /usr/share/libringclient/translations/lrc_lt.qm
 *      /usr/share/libringclient/translations/lrc_ja.qm
 *      /usr/share/libringclient/translations/lrc_eo.qm
 *      /usr/share/libringclient/translations/lrc_nl.qm
 *      /usr/share/libringclient/translations/lrc_bg.qm
 *      /usr/share/libringclient/translations/lrc_nb.qm
 *      /usr/share/libringclient/translations/lrc_es.qm
 *      /usr/share/libringclient/translations/lrc_it.qm
 *      /usr/share/libringclient/translations/lrc_pt_BR.qm
 *      /usr/share/libringclient/translations/lrc_fi.qm
 *      /usr/share/libringclient/translations/lrc_zh.qm
 *      /usr/share/libringclient/translations/lrc_ar.qm
 *      /usr/share/libringclient/translations/lrc_sk_SK.qm
 *      /usr/share/libringclient/translations/lrc_fr_CA.qm
 *      /usr/share/libringclient/translations/lrc_zh_CN.qm
 *      /usr/share/libringclient/translations/lrc_nl_NL.qm
 *      /usr/share/libringclient/translations/lrc_tr.qm
 *      /usr/share/libringclient/translations/lrc_el.qm
 *      /usr/share/libringclient/translations/lrc_id.qm
 *      /usr/lib64/cmake/LibRingClient/LibRingClientConfig.cmake
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * net-libs/libringclient-20170803.2-r1:0::ring-overlay
 *      /usr/include/libringclient/interfaces/accountlistcolorizeri.h
 *      /usr/include/libringclient/interfaces/actionextenderi.h
 *      /usr/include/libringclient/interfaces/contactmethodselectori.h
 *      /usr/include/libringclient/interfaces/dbuserrorhandleri.h
 *      /usr/include/libringclient/interfaces/itemmodelstateserializeri.h
 *      /usr/include/libringclient/interfaces/pixmapmanipulatori.h
 *      /usr/include/libringclient/interfaces/presenceserializeri.h
 *      /usr/include/libringclient/interfaces/shortcutcreatori.h
 *      /usr/include/libringclient/media/audio.h
 *      /usr/include/libringclient/media/avrecording.h
 *      /usr/include/libringclient/media/file.h
 *      /usr/include/libringclient/media/media.h
 *      /usr/include/libringclient/media/recording.h
 *      /usr/include/libringclient/media/recordingmodel.h
 *      /usr/include/libringclient/media/text.h
 *      /usr/include/libringclient/media/textrecording.h
 *      /usr/include/libringclient/media/video.h
 *      /usr/include/libringclient/video/channel.h
 *      /usr/include/libringclient/video/configurationproxy.h
 *      /usr/include/libringclient/video/resolution.h
 * 
 * Package 'net-voip/kde-ring-99999999' NOT merged due to file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.

>>> Failed to install net-voip/kde-ring-99999999, Log file:

>>>  '/var/tmp/portage/net-voip/kde-ring-99999999/temp/build.log'
Comment 1 kdebug 2017-08-19 19:59:57 UTC
Created attachment 107369 [details]
full build log
Comment 2 Emmanuel Lepage Vallée 2017-08-19 20:02:50 UTC
Confirmed, I will fix this Monday.

Ring-KDE should block the headers from the patched LibRingClient from being installed.

Bumping priority to High as it's a release blocker. Thanks for the reminded, I had forgotten about this issue.
Comment 3 Christoph Feck 2017-08-30 15:57:36 UTC
What is the status of this bug?
Comment 4 Emmanuel Lepage Vallée 2017-08-30 18:00:42 UTC
Sorry for the delays, some users reported some crashes and a potential data corruption bug that took some time to fix. I just pushed a commit to the ring-lrc submodule to fix this. Make sure to git-pull that module, the cmake magic doesn't do that itself. Please confirm the issue is resolved.
Comment 5 kdebug 2017-08-30 18:27:39 UTC
Already better, but still a collision

>>> Installing (1 of 1) net-voip/kde-ring-99999999
 * checking 20 files for package collisions
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at https://bugs.gentoo.org/ unless you report exactly
 * which two packages install the same file(s). See
 * https://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how
 * to solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 *      /usr/lib64/cmake/LibRingClient/LibRingClientConfig.cmake
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * net-libs/libringclient-20170803.2-r1:0::ring-overlay
 *      /usr/lib64/cmake/LibRingClient/LibRingClientConfig.cmake
 * 
 * Package 'net-voip/kde-ring-99999999' NOT merged due to file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.

>>> Failed to install net-voip/kde-ring-99999999, Log file:
Comment 6 Emmanuel Lepage Vallée 2019-02-12 13:51:25 UTC
There was an hard fork to solve this issue.