Bumping SOVERSION

Sandro Knauß sknauss at kde.org
Fri Mar 15 15:20:11 GMT 2019


Hey,

we already had some discussions about bumping the SOVERSION and the discussion 
ended with something like, that I should evaluate a solution and come up with 
a suggestion[0]. I implemented a abi-checker on our CI, so we can now answer 
the question when we break the ABI and need to bump the SOVERSION. And the CI 
tells me that less than 50% of our libraries need to be bumped base 18.12.0.
You can check yourself:
https://build.kde.org/job/Applications/job/messagelib/job/kf5-qt5%20SUSEQt5.10/lastSuccessfulBuild/artifact/compat_reports/
KF5MessageViewer_compat_report.html

I started to bump the SOVERSIONS yesterday but Laurent reverted my changes 
[1]. Laurent please instead of silently revert commits inform the author of 
the commit and start a discussion here. I'm not a random dev than drive by and 
breaks stuff. 

Bumping the SOVERSION, if we break ABI is quite important for all Linux 
distros, as they can need to handle the case, that kdepim broke it ABI and 
rebuild everything against the new ABI. And please keep in mind we also have 
users outside kdepim that are using kdepim libs that don't have the same 
release schedule (zanshin, digikam,...). Why bumping helps? I can check this 
app is linked against the old version aka I need to recompile.

I got a lot of bugreports and workarounds in Debian because of not bumped libs 
and issues, because the builders take some hours to build kdepim for every 
supported arch so parts of kdepim got available before others and this 
triggered core dumps, because of missing symbols etc. For Debian I workaround 
this by patching the packages to ship a SOVERSION 5abi1 or 5abi2.

Care about the SOVERSION is really nothing about giving any ABI stability 
guarantees. Giving ABI stability guarantees would mean, that we don't need to 
bump the SOVERSION.

It is simple bookkeeping, to make sue users of our libs get the information, 
that they need to recompile.  

As we now the first freeze (dependency frezze happend) it would be great to 
come to conclusion in the next days.

sandro

[0] https://community.kde.org/KDE_PIM/Meetings/
Toulouse2016#Bumping_so_version_number
[1] https://commits.kde.org/pimcommon/e5b225022a651568ce49d14efa7c5da3acbd7012





More information about the kde-pim mailing list