В Fri, 10 Jul 2015 21:48:19 +0200
SF Markus Elfring
Hello,
I came along two issues recently where symbols from C++ class libraries which were provided by specific software package versions did not fit together temporarily.
Combinations: * libmodman1 / libproxy1 https://bugzilla.opensuse.org/show_bug.cgi?id=937157#c5
* yast2-core / libyui6 https://bugzilla.suse.com/show_bug.cgi?id=937665#c2
How are the chances that such name mangling changes because of application binary interface adjustments will trigger appropriate updates automatically?
Do dependency descriptions need any more fine-tuning for corresponding RPM specifications?
I see three possible ways to handle such transition. 1. Explicitly list each symbol in Requires and Provides. 2. Bump library major version every time it happens. 3. Make mangling style part of library Provides and Requires. The first is unlikely feasible. The second has the problem that there is no changes in package sources or APIs - the results become incompatible during build. So we cannot simply bump library major in SRPM. The third one sounds feasible, something like Requires: liby2.so.4(stdc++11) assuming it is possible to detect how library was built. I do not know if this information is stored in library though. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org