[Kde-pim] soversion

Allen Winter winter at kde.org
Wed Jan 27 18:34:32 GMT 2016


On Wednesday, January 27, 2016 02:27:39 PM Sandro Knauß wrote:
> Hey,
> 
> currently I'm building 15.12 for Debian and we failed completly with bumping 
> the soversion, in the cases we broke the ABI.
> 
I had this all working auto-magically in the KDE4 world.

There were top-level variables in the buildsystem called
GENERIC_LIB_VERSION and GENERIC_LIB_SOVERSION.

then each library had a call like:
set_target_properties(foo PROPERTIES
  VERSION ${GENERIC_LIB_VERSION}
  SOVERSION ${GENERIC_LIB_SOVERSION}
)

I would go into kdelibs/cmake/modules/KDE4Defaults.cmake 
after the last release and bump GENERIC_LIB_VERSION as needed.
GENERIC_LIB_SOVERSION never changed (as it was always set to "4")


> Maybe it is not clear for everyone what the soversion is and we need to bump 
> it, if we break the ABI:
> The soversion is the version of the ABI and has nothing (or nearly nothing) to 
> do with the version of the lib itself. If the ABI is changes in a incopatible 
> way the soversion should be updated (+1). This helps a lot for applications to 
> use the correct version of one lib. A application is linked against the 
> soversion of one lib. You know this from the libname.so.3 etc. the 3 is the 
> soversion. So if we release a new a ABI than we create a libname.so.4 and new 
> compiled application are linked against this now soversion. But also old 
> application work, because they are linked against the old version and 
> everything is fine. 
> 
> Distribution don't want to ship different version of the same lib in most 
> cases. So a soversion update would trigger a rebuild of all applications that 
> are using the library.
> 
> So until we allow ABI breakage, please take case of the soversion( only one 
> bump is needed once per release) if you break the ABI by a commit. Maybe we 
> should add a comment to the soversion, when it was last bumped.
> 
> Please don't hesitate to ask!
> 
> Regards,
> 
> sandro
> _______________________________________________
> KDE PIM mailing list kde-pim at kde.org
> https://mail.kde.org/mailman/listinfo/kde-pim
> KDE PIM home page at http://pim.kde.org/

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list