Bug 757124

Summary: wxWidgets: ZYPP did not find complicated Conflicts replacement
Product: [openSUSE] openSUSE 12.1 Reporter: Stanislav Brabec <sbrabec>
Component: X11 ApplicationsAssignee: Stanislav Brabec <sbrabec>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Stanislav Brabec 2012-04-13 19:44:02 UTC
There is package springlobby. It requires (amongst others) libwx_baseu-2.8.so.0()(64bit). This symbol is provided by several packages. One of them is libwx_baseu-2_8-0-compat-lib-stl ,another is libwx_baseu-2_8-0-compat-lib-wxcontainer24c. The first one requires wxWidgets-compat-lib-config, the seconf one wxWidgets-wxcontainer24c-compat-lib-config. I want to install wxWidgets-wxcontainer24c-compat-lib-config which conflicts with wxWidgets-compat-lib-config.

zypper in wxWidgets-wxcontainer24c-compat-lib-config
Building repository 'local-build-root-noarch' cache [done]
Building repository 'local-build-root-x86_64' cache [done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: wxWidgets-wxcontainer24c-compat-lib-config-2.8.12-32.1.1.x86_64 conflicts with wxWidgets-compat-lib-config < 2.8.12-32.1 provided by wxWidgets-compat-lib-config-2.8.12-6.1.2.x86_64
 Solution 1: Following actions will be done:
  deinstallation of wxWidgets-compat-lib-config-2.8.12-6.1.2.x86_64
  deinstallation of springlobby-0.139-1.fc16.x86_64
  deinstallation of libwx_baseu_net-2_8-0-compat-lib-stl-2.8.12-32.1.x86_64
  deinstallation of libwx_baseu_xml-2_8-0-compat-lib-stl-2.8.12-32.1.x86_64
  deinstallation of libwx_gtk2u_adv-2_8-0-compat-lib-stl-2.8.12-32.1.x86_64
  deinstallation of libwx_gtk2u_aui-2_8-0-compat-lib-stl-2.8.12-32.1.x86_64
  deinstallation of libwx_gtk2u_core-2_8-0-compat-lib-stl-2.8.12-32.1.x86_64
  deinstallation of libwx_gtk2u_html-2_8-0-compat-lib-stl-2.8.12-32.1.x86_64
  deinstallation of libwx_gtk2u_qa-2_8-0-compat-lib-stl-2.8.12-32.1.x86_64
  deinstallation of wxcam-1.1-1.14.x86_64
 Solution 2: do not install wxWidgets-wxcontainer24c-compat-lib-config-2.8.12-32.1.1.x86_64

Choose from above solutions by number or cancel [1/2/c] (c):
---

In my opinion, there exists another solution:
Deinstall wxWidgets-compat-lib-config and all *-compat-lib-stl but not springlobby and wxcam. Then replace all deinstalled *-compat-lib-stl by *-compat-lib-wxcontainer24c.

ZYPP did not find this less destructive solution. Is it a bug or should I improve ZYPP suggestions by adding something into the spec file?
Comment 2 Stanislav Brabec 2012-04-13 20:22:29 UTC
OOPS. There is a problem on my side:

nothing provides libwx_baseu-2.8.so.0(wxcontainer24c)()(64bit) needed by libwx_baseu_net-2_8-0-wxcontainer24c-2.8.12-34.1.x86_64

It should be provided by libwx_baseu-2_8-0-wxcontainer24c-2.8.12-34.1.x86_64, but apparently is not:
rpm -q --provides libwx_baseu-2_8-0-wxcontainer24c-2.8.12-34.1.x86_64
wxWidgets = 2.8.12
libwx_baseu-2.8.so.0()(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.1)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.10)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.11)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.12)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.2)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.4)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.5)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.7)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.8)(64bit)  
libwx_baseu-2.8.so.0(WXU_2.8.9)(64bit)  
libwx_baseu-2.8.so.0(libwx_baseu-2.8.so.0)(64bit)  
libwx_baseu-2_8-0-wxcontainer24c = 2.8.12-34.1
libwx_baseu-2_8-0-wxcontainer24c(x86-64) = 2.8.12-34.1
Comment 3 Stanislav Brabec 2012-04-18 12:01:14 UTC
Three independent errors were found in the wxWidgets dependency generator:

1. compat-lib-config package x virtual symbol name clash:
Virtual symbol representing all exclusive (via Conflicts: otherproviders()) compat-lib packages was wxWidgets-compat-lib-config. But also compat-lib-config package was named wxWidgets-compat-lib-config. Fix: Rename symbol to wxWidgets-ld_so_conf, add Conflicts: wxWidgets-compat-lib-config < 2.8.12-32.1 to prevent downgrade to 12.1 version as a possible solution.

2. There was a bug in the find-wx-provides that did not accept numbers as a part of variant name (they were introduced as part of bug 660438 fix.

3. There was a bug in the build-wx-provides script, that created superfluous (*/*README*) provides.
Comment 4 Stanislav Brabec 2012-04-20 13:32:36 UTC
All problems were fixed and submitted to X11:wxWidgets, just conflict version was changed to 2.8.12-12, which should work for both Factory and X11:wxWidgets.
Comment 5 Bernhard Wiedemann 2012-04-20 14:00:17 UTC
This is an autogenerated message for OBS integration:
This bug (757124) was mentioned in
https://build.opensuse.org/request/show/114855 Factory / wxWidgets
Comment 6 Swamp Workflow Management 2018-04-25 19:21:08 UTC
This is an autogenerated message for OBS integration:
This bug (757124) was mentioned in
https://build.opensuse.org/request/show/601054 15.0 / wxWidgets-3_0
Comment 7 Swamp Workflow Management 2019-02-03 09:51:57 UTC
This is an autogenerated message for OBS integration:
This bug (757124) was mentioned in
https://build.opensuse.org/request/show/670842 15.1 / wxWidgets-3_0
Comment 8 Swamp Workflow Management 2019-02-13 12:41:16 UTC
This is an autogenerated message for OBS integration:
This bug (757124) was mentioned in
https://build.opensuse.org/request/show/674518 15.1 / wxWidgets-3_0
Comment 9 Swamp Workflow Management 2019-03-18 18:51:00 UTC
This is an autogenerated message for OBS integration:
This bug (757124) was mentioned in
https://build.opensuse.org/request/show/686201 15.1 / wxWidgets-3_0