maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #06643
libmysqlclient.so and Fedora-specific symbol versioning
Hi guys,
I'm writing this as a maintainer of MariaDB package in Fedora and RHEL.
I've got some complaints about libmysqlclient symbols versioning in
Fedora and future RHEL-7:
https://bugzilla.redhat.com/show_bug.cgi?id=1045013
Simply put, the issue there is that RPMs (both made by MariaDB upstream
or Fedora community) uses different symbol versioning than it is used in
other distributions (deb packages, binary tar balls) or by other MySQL
providers (Oracle, Percona).
Fedora does it because it used to be done that way before and it was not
changed at a time upstream changed that, since Fedora started to handle
symbols list on its own. MariaDB upstream adopted Fedora's behavior as a
resolution of the bug:
https://mariadb.atlassian.net/browse/MDEV-3923
As a result, we have different versioning only based on packaging format
now, which seems to be a problem. So, I'd like to propose to sync this
gap between "RPM-based packages" and "rest of the world" in the future
Fedora/RHEL releases, which basically means I'd like to ask:
In case Fedora 21 and RHEL-7 adopt non-versioned symbols in
libmysqlclient, would MariaDB upstream be able to do the same in RPMs
for these releases?
There is also second difference between RPM and non-RPM builds, which is
that only limited subset of symbols (those that are documented as API)
is exported in the client library in Fedora RPMs. This is because we
believe exporting all symbols is wrong thing. Regarding this issue, we'd
like to keep the limited set of symbols in RPMs, so, the only change I'm
proposing to change versioning of these symbols (as described above).
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.
Honza
Follow ups