← Back to team overview

maria-developers team mailing list archive

Re: libmysqlclient.so and Fedora-specific symbol versioning


Hi, Honza!

On Jan 07, Sergei Golubchik wrote:
> On Jan 07, Honza Horak wrote:
> > Primarily, I'd like to hear what MariaDB upstream's position on that
> > is, if the sync can happen, but any ideas will be welcome.
> I believe, Fedora's way is the correct one. Symbols that weren't
> changed from libmysqlclient.so.16 should have libmysqlclient_16
> version, new or modified symbols should have libmysqlclient_18
> version. This way old applications that only use libmysqlclient_16.*
> symbols will continue working just fine.
> What is the point of versioning if all symbols have the same version -
> if the version cannot be used to distinguish symbols, one can as well
> use no version at all.

Another thought - as Fedora is the only one that did the symbol
versioning in libmysqlclient correctly, it'd be a pity to revert that
for compatibility with incorectly versioned libraries.

I'd consider doing the following instead (one of or all of that):

* report a bug to MySQL about incorrect versioning

* report a bug to Debian about incorrect versioning

* change the versioning to be correct and debian-compatible,
  by having old symbols to appear under both libmysqlclient_16 and
  libmysqlclient_18 version.

I don't believe Debian will use Fedora-style versioning, it's an
incompatible change after all. But they might want to use
"correct-and-compatible" approach with symbol aliases and two versions
per symbol.


Follow ups