Bumping SOVERSION
Sandro Knauß
sknauss at kde.org
Fri Mar 15 20:41:01 GMT 2019
Hey,
> Sorry but a discussion that we did in 2016... We are in 2019 and for sure I
> forgot this discussion.
>
> The freeze is today and you just started to do it yesterday without speaking
> about it.
it is dependency freeze - that has nothing to do with SOVERSIONs. So we have
time till the rc is released. The Dependency is still the same. It is just
about if libfoo.so symlinks to libfoo.so.5 or libfoo.so.6. Exactly this time
after dependency freeze it is the best time to bump the ABIs as we now focuing
making everything ready for releasing.
> ABI in kdepim is not stable, we decided it when we switched to kf5.
ACK - I'm totally with you!
> We break each month for some lib.
> I don't want to have a .so.15 in 1 years...
nope. We do not release every month We release a new major version every 4
months! But what you have against a so.15? There is nothing why you should be
afraid of an so.15. see answers to dan for more details.
> After I don't understand why it's necessary to do it as when we update
> kdepim we have a dependancies against all pim package.
Okay let's make an example you have Debian and have Kontact 5.10 installed and
Zanshin installed. Now you upgrade Kontact to 5.11, so every dependency is
getting updated. Now you start Zanshin and it crashed, because a symbol in
Akonadi got removed. If we have propper SOVERSION than the upgrade of Kontact
triggers libAkonadi1 replacement with libAkonadi2 and would this trigger to
update Zanshin too, because apt see oh a new Zanshin build using the new
libAkonadi2. Problem solved the next use of Zanshin do not crash.
> Increase ABI version for pimcommon ?? which package uses it outside pim ?
Okay pimcommon is maybe a bad example, as I don't know external users of this
yet. But also internally inside kdepim it helps to track Distributions, about
what need to get recompiled and what can be shipped to the users when. Until
17.12 I tried without bumping the SOVERSION in Debian and I got a lot of weird
reports that where often solvable, by okay I need to trigger a rebuild of this
and that or treat people to also update another library. I know there are a
lot workarounds to make sure, those issues can't happen, but bumping the
SOVERSION is such simple, why don't do this?
> And how do you manage a code as:
>
> #if QT_VERSION > 5.12
> void foo (QRegularExpression )
> #else
> void foo (QRegExp )
> #endif
>
> ?
> We have it in kpimtextedit.
> So you want that we increase ABI depend against Qt version ?
Nope, we ship the same ABI but Qt internally makes sure, that you are only
able to build with the same Qt version.
Regards,
sandro
More information about the kde-pim
mailing list