[debian-mysql] [MBF] mysql meta-packages

Robie Basak robie.basak at ubuntu.com
Sun Nov 27 11:54:14 UTC 2016


Hi Stefan,

On Sat, Nov 26, 2016 at 11:40:34PM +0100, Stefan Fritsch wrote:
> Are the mariadb client libraries compatible with current mysql servers?

I believe this is true at the moment, though as one might reasonably
expect I believe this is "unsupported" by MySQL upstream. For us, that
probably just means that they won't accept bugs unless they are
reproduced with MySQL client libraries. The MariaDB client library fork
of libmysqlclient hasn't (AFAIK) really changed since they forked from
MySQL. I believe a different MariaDB client library API exists that is
more actively maintained by MariaDB upstream, but I don't know of any
commitments MariaDB make about compatibility with current MySQL servers,
protocols or libraries.

If this turns out not to be true (an incompatibility is found), I'm not
sure what MariaDB upstream's view would be on fixing it.

From a Debian packaging view, as one member of pkg-mysql-maint, my
opinion would be to "wontfix" any bug that originates upstream about
this type of incompatibility as a result of mixing MySQL and MariaDB as
"upstreams don't support this".

>                                                                         If
> yes, it is expected that this changes in the future or does mariadb work to
> stay compatible?

In my view, we shouldn't make any assumptions about future compatibility
whatsoever except that one particular version of MariaDB is able to take
and use the on-disk database format of one particular version of MySQL
for a one-off, one-way migration.

AFAIK, we have seen no evidence or commitment that either upstream are
interested in any form of convergence in library API or ABI, wire
protocol or database format in the future. So in making technical plans
for the future we should assume that they will diverge and not rely on
any of this even if it happens to work right now.

>                  If no, are there any plans to make libmariadbclient-dev  and 
> libmysqlclient-dev co-installable so that apr-util could build one driver for 
> mariadb and one for myqsl?

No current plans. They ship conflicting files in /usr/include/mysql/
(both taking the #include <mysql/*> namespace). AIUI, these headers have
already diverged upstream. In packaging, we have only gone as far as to
avoid co-installability conflicts in resulting binaries at runtime, and
we do conflict at build time as you discovered.

I suppose we could theoretically rename all of /usr/include/mysql to
/usr/include/mariadb in libmariadbclient-dev, and then have
libmariadbclient-dev-compat provide a /usr/include/mysql ->
/usr/include/mariadb symlink. I'm not sure what Otto's opinion on this
would be. I'm also not sure what additional changes we'd need to do to
make libmariadbclient-dev usable with the -compat. Right now if a
reverse build dep wants to use libmariadbclient-dev without the -compat,
the only change it needs is to link with -lmariadbclient instead of
-lmysqlclient. There would be a few (probably minor) additional things
to resolve, such as the mysql_config binary, mysql.m4, etc.

Robie
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-mysql-maint/attachments/20161127/87b136cc/attachment.sig>


More information about the pkg-mysql-maint mailing list