Debian Bug report logs - #961672
charset files not installed in a mysql-safe location

version graph

Package: mariadb-server-core-10.3; Maintainer for mariadb-server-core-10.3 is Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>; Source for mariadb-server-core-10.3 is src:mariadb-10.3 (PTS, buildd, popcon).

Reported by: Paride Legovini <paride@debian.org>

Date: Wed, 27 May 2020 16:24:01 UTC

Severity: normal

Found in version mariadb-10.3/1:10.3.22-1

Done: Otto Kekäläinen <otto@debian.org>

Bug is archived. No further changes may be made.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>:
Bug#961672; Package mariadb-server-core-10.3. (Wed, 27 May 2020 16:24:03 GMT) (full text, mbox, link).


Acknowledgement sent to Paride Legovini <paride@debian.org>:
New Bug report received and forwarded. Copy sent to Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>. (Wed, 27 May 2020 16:24:03 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Paride Legovini <paride@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: charset files not installed in a mysql-safe location
Date: Wed, 27 May 2020 18:21:36 +0200
Package: mariadb-server-core-10.3
Version: 1:10.3.22-1

mariadb-server-core-10.3 installs the mariadb charset files in
/usr/share/mysql:

$ dpkg -L mariadb-server-core-10.3 | grep charset
/usr/share/mysql/charsets
/usr/share/mysql/charsets/Index.xml
/usr/share/mysql/charsets/README
/usr/share/mysql/charsets/armscii8.xml
/usr/share/mysql/charsets/ascii.xml
[...]
/usr/share/mysql/charsets/swe7.xml

The location of these files causes the libmysqlclient20 client library
to consider them charset files from mysql, and it tries to use them.

I think this behavior is wrong, as the charset files do not belong to
mysql, however it is not immediately causing user-visible issues.

Things are worse with mysql-8.0, not yet in Debian but packaged in
Ubuntu. In mysql-8.0 the charset file format is not compatible with the
older versions, and this causes the client library to segfault when
trying to use the charset files from mariadb.

Relevant Ubuntu bug:

https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1877504

I'm not sure of the best way to fix this, maybe mariadb needs to use the
/usr/share/mariadb namespace for its resources.

Paride



Information forwarded to debian-bugs-dist@lists.debian.org, Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>:
Bug#961672; Package mariadb-server-core-10.3. (Thu, 28 May 2020 06:12:14 GMT) (full text, mbox, link).


Acknowledgement sent to Otto Kekäläinen <otto@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>. (Thu, 28 May 2020 06:12:14 GMT) (full text, mbox, link).


Message #10 received at 961672@bugs.debian.org (full text, mbox, reply):

From: Otto Kekäläinen <otto@debian.org>
To: Paride Legovini <paride@debian.org>, 961672@bugs.debian.org
Subject: Re: [debian-mysql] Bug#961672: charset files not installed in a mysql-safe location
Date: Thu, 28 May 2020 08:59:14 +0300
Hello!

> /usr/share/mysql/charsets
..
> The location of these files causes the libmysqlclient20 client library
> to consider them charset files from mysql, and it tries to use them.
>
> I think this behavior is wrong, as the charset files do not belong to
> mysql, however it is not immediately causing user-visible issues.

These files are drop-in replacements for MySQL files. The fact that
they in Debian with MySQL version 5.7.26-1 (or any other version that
has ever been in Debian) work as you said without any user-visible
issues is proof that the drop-in-replacement works.

> Things are worse with mysql-8.0, not yet in Debian but packaged in
> Ubuntu. In mysql-8.0 the charset file format is not compatible with the
> older versions, and this causes the client library to segfault when
> trying to use the charset files from mariadb.

I have not checked what packaging changes MySQL 8.0 introduces and in
how many ways it is breaks backwards compatibility, but I guess that
while working on
https://salsa.debian.org/mariadb-team/mysql/-/tree/mysql-8.0/debian/master
those issues need to be addressed when the details surface.

If libmysqlclient21 in mysql-8.0 heavily breaks backwards
compatibility (e.g. major changes in charsets?) then we need to make
sure that the package control properly conflicts with libmysqlclient20
or the equivalent from MariaDB.



Information forwarded to debian-bugs-dist@lists.debian.org, Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>:
Bug#961672; Package mariadb-server-core-10.3. (Thu, 28 May 2020 06:27:04 GMT) (full text, mbox, link).


Acknowledgement sent to Otto Kekäläinen <otto@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>. (Thu, 28 May 2020 06:27:04 GMT) (full text, mbox, link).


Message #15 received at 961672@bugs.debian.org (full text, mbox, reply):

From: Otto Kekäläinen <otto@debian.org>
To: Paride Legovini <paride@debian.org>, 961672@bugs.debian.org
Subject: Re: [debian-mysql] Bug#961672: charset files not installed in a mysql-safe location
Date: Thu, 28 May 2020 09:11:30 +0300
A future version of MariaDB might have the charsets in its own
directory, but we can't start changing paths of stuff in existing
stable releases, such as MariaDB 10.3 in Ubuntu 20.04 or Debian
Buster. If MySQL introduces a backwards incompatible change, the new
uploads should test for them and work around issues discovered.

In MariaDB we are building python-mysql against libmariadb on every
commit in the CI to ensure nothing is broken:
https://salsa.debian.org/mariadb-team/mariadb-10.3/pipelines

If you think MythTV has something unique about this, we could add
MythTV builds to the CI to ensure new uploads of MariaDB does not
break MythTV builds in Debian?



Information forwarded to debian-bugs-dist@lists.debian.org, Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>:
Bug#961672; Package mariadb-server-core-10.3. (Thu, 28 May 2020 08:57:03 GMT) (full text, mbox, link).


Acknowledgement sent to Paride Legovini <paride@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>. (Thu, 28 May 2020 08:57:03 GMT) (full text, mbox, link).


Message #20 received at 961672@bugs.debian.org (full text, mbox, reply):

From: Paride Legovini <paride@debian.org>
To: Otto Kekäläinen <otto@debian.org>, 961672@bugs.debian.org
Subject: Re: [debian-mysql] Bug#961672: charset files not installed in a mysql-safe location
Date: Thu, 28 May 2020 10:53:17 +0200
Hi Otto,

Otto Kekäläinen wrote on 28/05/2020:
> A future version of MariaDB might have the charsets in its own
> directory, but we can't start changing paths of stuff in existing
> stable releases, such as MariaDB 10.3 in Ubuntu 20.04 or Debian
> Buster. If MySQL introduces a backwards incompatible change, the new
> uploads should test for them and work around issues discovered.
> 
> In MariaDB we are building python-mysql against libmariadb on every
> commit in the CI to ensure nothing is broken:
> https://salsa.debian.org/mariadb-team/mariadb-10.3/pipelines
> 
> If you think MythTV has something unique about this, we could add
> MythTV builds to the CI to ensure new uploads of MariaDB does not
> break MythTV builds in Debian?

I don't think there's anything special about MythTV, in my understading
it's just how some users happened to hit the problem. I hit it in a
completely different way: as a failure in an autopkgtest of
libdbd-mariadb-perl.

I have not much to add to your analysis, and I agree in that we can't
and shouldn't change the structure of the packages in existing stable
releases. However we can take this issue as a good warning on the fact
that compatibility between the two DBs can't be assumed, and the
packages in the development releases should start taking this into account.

Cheers,

Paride



Information forwarded to debian-bugs-dist@lists.debian.org, Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>:
Bug#961672; Package mariadb-server-core-10.3. (Thu, 28 May 2020 13:18:03 GMT) (full text, mbox, link).


Acknowledgement sent to Otto Kekäläinen <otto@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>. (Thu, 28 May 2020 13:18:03 GMT) (full text, mbox, link).


Message #25 received at 961672@bugs.debian.org (full text, mbox, reply):

From: Otto Kekäläinen <otto@debian.org>
To: Paride Legovini <paride@debian.org>
Cc: 961672@bugs.debian.org
Subject: Re: [debian-mysql] Bug#961672: charset files not installed in a mysql-safe location
Date: Thu, 28 May 2020 16:15:01 +0300
> I have not much to add to your analysis, and I agree in that we can't
> and shouldn't change the structure of the packages in existing stable
> releases. However we can take this issue as a good warning on the fact
> that compatibility between the two DBs can't be assumed, and the
> packages in the development releases should start taking this into account.

Every commit in MariaDB in Debian runs extensive CI on Salsa-CI and I
can assure we make sure not to break anything on new uploads.

However, MySQL 8.0 is not in Debian and does not test anything about
compatibility, as the Oracle employee stated in the Launchpad report
explicitly. So their upgrades will break stuff unless they change
their stanze and start testing for MariaDB compatibility (which is
essentially just the same as testing for compatibility with earlier
releases, such as MySQL 5.7 or 8.0).



Reply sent to Otto Kekäläinen <otto@debian.org>:
You have taken responsibility. (Sat, 22 Aug 2020 10:27:07 GMT) (full text, mbox, link).


Notification sent to Paride Legovini <paride@debian.org>:
Bug acknowledged by developer. (Sat, 22 Aug 2020 10:27:07 GMT) (full text, mbox, link).


Message #30 received at 961672-close@bugs.debian.org (full text, mbox, reply):

From: Otto Kekäläinen <otto@debian.org>
To: Paride Legovini <paride@debian.org>, 961672-close@bugs.debian.org
Subject: Re: [debian-mysql] Bug#961672: charset files not installed in a mysql-safe location
Date: Sat, 22 Aug 2020 13:11:55 +0300
Forwarded: https://jira.mariadb.org/browse/MDEV-22735
Tags: -1 wontfix

This was a bug in MySQL having in Debian/Ubuntu incompatible packaging
with it's own previous version. Upstream mysql.com repositories have
this fixed correctly. There is nothing that should be changed in older
versions of MySQL nor anything in MariaDB.



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 20 Sep 2020 07:30:23 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Aug 21 00:40:49 2024; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.