On Mon, Jan 14, 2008 at 11:29:35AM +0100, Martin Vidner wrote:
On Thu, Jan 10, 2008 at 04:07:46PM -0000, tgoettlicher@svn.opensuse.org wrote:
+ virtual YBusyIndicator * createBusyIndicator ( YWidget * parent, const string & label, int timeout = 1000 ) = 0;
Adding a virtual method makes a library binary incompatible: http://techbase.kde.org/index.php?title=Policies/Binary_Compatibility_Issues... I see that you use the implementation pointer technique in the widget itself but we probably cannot avoid the ABI change for the factory class.
So we have to add proper RPM dependencies. The easiest way should be changing the soname, like this in Makefile.am: -libpy2UI_la_LDFLAGS = -version-info 2:0 +libpy2UI_la_LDFLAGS = -version-info 3:0
What I did not realize was that the plugin loader has a hardcoded "2" for version number (... "/libpy2" + name + ".so.2" in core/libycp/src/pathsearch.cc). Removing the version suffix from there is not easy, because libfoo.so is in foo-devel.rpm, unlike libfoo.so.2. So for the time being I will revert the SO version to 2 and use RPM versioning instead. -- Martin Vidner, YaST developer http://en.opensuse.org/User:Mvidner Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org