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