[debian-mysql] Bug#988089: Bug#988089: Bug#988089: mariadb-server: MariaDB uninstalled on dist-upgrade Debian 10 -> 11

Otto Kekäläinen otto at debian.org
Fri May 14 07:35:00 BST 2021


(Adding back Jörg and Calum to recipients as more contributors to
test/debug/fix the Buster -> Bullseye upgrade issues would be welcome)

As Faustin pointed out, Bullseye has both galera-3 and galera-4. This
is so the distro is compatible with running whatever version of
MariaDB you want. Galera-3 will be in Debian (and Ubuntu) repositories
for as long as somebody is still using MariaDB 10.1-10.3.

MariaDB 10.3 in Debian Buster depends on Galera 3. Thus, if you
install Galera 4, which uninstalls Galera 3 (they cannot be installed
at the same time on the same system as the files and commands
overlap), and as a dependency of MariaDB 10.3 goes away it also
uninstalls.

Here is the debug output:

# Starting point Debian Buster container with mariadb-server installed
# dpkg -l | grep -e mariadb -e mysql -e galera
ii  galera-3                 25.3.25-2              amd64
Replication framework for transactional applications
ii  libdbd-mysql-perl:amd64  4.050-2                amd64        Perl5
database interface to the MariaDB/MySQL database
ii  libmariadb3:amd64        1:10.3.27-0+deb10u1    amd64
MariaDB database client library
ii  mariadb-client-10.3      1:10.3.27-0+deb10u1    amd64
MariaDB database client binaries
ii  mariadb-client-core-10.3 1:10.3.27-0+deb10u1    amd64
MariaDB database core client binaries
ii  mariadb-common           1:10.3.27-0+deb10u1    all
MariaDB common metapackage
ii  mariadb-server           1:10.3.27-0+deb10u1    all
MariaDB database server (metapackage depending on the latest version)
ii  mariadb-server-10.3      1:10.3.27-0+deb10u1    amd64
MariaDB database server binaries
ii  mariadb-server-core-10.3 1:10.3.27-0+deb10u1    amd64
MariaDB database core server files
ii  mysql-common             5.8+1.0.5              all          MySQL
database common files, e.g. /etc/mysql/my.cnf

# Buster repo enabled, apt update ran and ready to upgrade
# If the apt debug output is too verbose, you don't need to use all of
the three provided debug flags at the same time.
# apt-get install galera-4 -o Debug::pkgProblemResolver=1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) mariadb-server-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mK Ib >
Broken mariadb-server-10.3:amd64 Depends on galera-3:amd64 < 25.3.25-2
| 25.3.31-2+b1 @ii umR > (>= 25.3)
  Considering galera-3:amd64 -1 as a solution to mariadb-server-10.3:amd64 -1
  Removing mariadb-server-10.3:amd64 rather than change galera-3:amd64
Investigating (1) mariadb-server:amd64 < 1:10.3.27-0+deb10u1 |
1:10.5.9-1 @ii umH Ib >
Broken mariadb-server:amd64 Depends on mariadb-server-10.3:amd64 <
1:10.3.27-0+deb10u1 @ii mR > (>= 1:10.3.27-0+deb10u1)
  Considering mariadb-server-10.3:amd64 -1 as a solution to
mariadb-server:amd64 -1
  Re-Instated mariadb-common:amd64
  Re-Instated libmd0:amd64
  Re-Instated libbsd0:amd64
  Re-Instated libedit2:amd64
  Re-Instated mariadb-client-core-10.5:amd64
  Re-Instated mariadb-client-10.5:amd64
  Re-Instated libcrypt1:amd64
  Re-Instated libc6:amd64
  Re-Instated libpcre2-8-0:amd64
  Re-Instated libsnappy1v5:amd64
  Re-Instated mariadb-server-core-10.5:amd64
  Re-Instated libprocps8:amd64
  Re-Instated procps:amd64
  Re-Instated mariadb-server-10.5:amd64
  Re-Instated mariadb-server:amd64
Investigating (1) mariadb-client-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mK Ib >
Broken mariadb-client-10.3:amd64 Conflicts on
virtual-mysql-client:amd64 < none @un H >
  Considering mariadb-client-10.5:amd64 0 as a solution to
mariadb-client-10.3:amd64 -1
  Removing mariadb-client-10.3:amd64 rather than change
virtual-mysql-client:amd64
Investigating (2) libc-bin:amd64 < 2.28-10 | 2.31-11 @ii umH NPb Ib >
Broken libc-bin:amd64 Depends on libc6:amd64 < 2.28-10 -> 2.31-11 @ii
umU IPb > (< 2.29)
  Considering libc6:amd64 2831 as a solution to libc-bin:amd64 5099
  Added libc6:amd64 to the remove list
  Fixing libc-bin:amd64 via keep of libc6:amd64
Investigating (2) mariadb-client-core-10.5:amd64 < none -> 1:10.5.9-1
@un uN Ib >
Broken mariadb-client-core-10.5:amd64 Conflicts on
virtual-mysql-client-core:amd64 < none @un H >
  Considering mariadb-client-core-10.3:amd64 -1 as a solution to
mariadb-client-core-10.5:amd64 0
  Added mariadb-client-core-10.3:amd64 to the remove list
Broken mariadb-client-core-10.5:amd64 Breaks on
mariadb-client-core-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mK Ib >
  Considering mariadb-client-core-10.3:amd64 -1 as a solution to
mariadb-client-core-10.5:amd64 0
  Added mariadb-client-core-10.3:amd64 to the remove list
  Fixing mariadb-client-core-10.5:amd64 via remove of
mariadb-client-core-10.3:amd64
  Fixing mariadb-client-core-10.5:amd64 via remove of
mariadb-client-core-10.3:amd64
Investigating (2) mariadb-server-10.5:amd64 < none -> 1:10.5.9-1 @un uN Ib >
Broken mariadb-server-10.5:amd64 Depends on libc6:amd64 < 2.28-10 |
2.31-11 @ii umH > (>= 2.29)
  Considering libc6:amd64 5099 as a solution to mariadb-server-10.5:amd64 0
  Holding Back mariadb-server-10.5:amd64 rather than change libc6:amd64
Investigating (2) mariadb-server-core-10.5:amd64 < none -> 1:10.5.9-1
@un uN Ib >
Broken mariadb-server-core-10.5:amd64 Depends on libc6:amd64 < 2.28-10
| 2.31-11 @ii umH > (>= 2.30)
  Considering libc6:amd64 5099 as a solution to mariadb-server-core-10.5:amd64 0
  Holding Back mariadb-server-core-10.5:amd64 rather than change libc6:amd64
Investigating (2) mariadb-server:amd64 < 1:10.3.27-0+deb10u1 ->
1:10.5.9-1 @ii umU Ib >
Broken mariadb-server:amd64 Depends on mariadb-server-10.5:amd64 <
none | 1:10.5.9-1 @un uH > (>= 1:10.5.9-1)
  Considering mariadb-server-10.5:amd64 0 as a solution to
mariadb-server:amd64 -1
  Removing mariadb-server:amd64 rather than change mariadb-server-10.5:amd64
Done
The following packages were automatically installed and are no longer required:
  libaio1 libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl
libdbd-mysql-perl libdbi-perl libencode-locale-perl libfcgi-perl
libgdbm-compat4
  libgdbm6 libhtml-parser-perl libhtml-tagset-perl
libhtml-template-perl libhttp-date-perl libhttp-message-perl
libio-html-perl liblwp-mediatypes-perl
  libmariadb3 libncurses6 libperl5.28 libpopt0 libreadline5
libsnappy1v5 libterm-readkey-perl libtimedate-perl liburi-perl
libwrap0 lsof mariadb-common
  mariadb-server-core-10.3 mysql-common netbase perl perl-modules-5.28
psmisc rsync socat
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  gcc-10-base libcrypt1 libgcc-s1 libsnappy1v5 libstdc++6 mariadb-common
The following packages will be REMOVED:
  galera-3 mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server
mariadb-server-10.3
The following NEW packages will be installed:
  galera-4 gcc-10-base libcrypt1 libgcc-s1
The following packages will be upgraded:
  libsnappy1v5 libstdc++6 mariadb-common

The key debug output above is
> Broken mariadb-server-10.3:amd64 Depends on galera-3:amd64 < 25.3.25-2 | 25.3.31-2+b1 @ii umR > (>= 25.3)

If I simply run "apt-get upgrade" it will not remove any packages.

If I run "apt-get dist-upgrade" it will remove old MariaDB:
> The following packages will be REMOVED:
>   mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server mariadb-server-10.3 mariadb-server-core-10.3

Study the debug output below:
# apt-get dist-upgrade -o Debug::pkgProblemResolver=1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Starting pkgProblemResolver with broken count: 10
Starting 2 pkgProblemResolver with broken count: 10
Investigating (0) mariadb-client-core-10.5:amd64 < none -> 1:10.5.9-1
@un uN Ib >
Broken mariadb-client-core-10.5:amd64 Conflicts on
virtual-mysql-client-core:amd64 < none @un H >
  Considering mariadb-client-core-10.3:amd64 -3 as a solution to
mariadb-client-core-10.5:amd64 0
  Added mariadb-client-core-10.3:amd64 to the remove list
Broken mariadb-client-core-10.5:amd64 Breaks on
mariadb-client-core-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mK Ib >
  Considering mariadb-client-core-10.3:amd64 -3 as a solution to
mariadb-client-core-10.5:amd64 0
  Added mariadb-client-core-10.3:amd64 to the remove list
  Fixing mariadb-client-core-10.5:amd64 via remove of
mariadb-client-core-10.3:amd64
  Fixing mariadb-client-core-10.5:amd64 via remove of
mariadb-client-core-10.3:amd64
Investigating (0) mariadb-client-10.5:amd64 < none -> 1:10.5.9-1 @un uN Ib >
Broken mariadb-client-10.5:amd64 Conflicts on
virtual-mysql-client:amd64 < none @un H >
  Considering mariadb-client-10.3:amd64 -2 as a solution to
mariadb-client-10.5:amd64 0
  Added mariadb-client-10.3:amd64 to the remove list
Broken mariadb-client-10.5:amd64 Breaks on mariadb-client-10.3:amd64 <
1:10.3.27-0+deb10u1 @ii mK Ib >
  Considering mariadb-client-10.3:amd64 -2 as a solution to
mariadb-client-10.5:amd64 0
  Added mariadb-client-10.3:amd64 to the remove list
  Fixing mariadb-client-10.5:amd64 via remove of mariadb-client-10.3:amd64
  Fixing mariadb-client-10.5:amd64 via remove of mariadb-client-10.3:amd64
Investigating (0) galera-4:amd64 < none -> 26.4.7-3 @un uN Ib >
Broken galera-4:amd64 Conflicts on galera-3:amd64 < 25.3.25-2 ->
25.3.31-2+b1 @ii umU Ib >
  Considering galera-3:amd64 0 as a solution to galera-4:amd64 0
  Holding Back galera-4:amd64 rather than change galera-3:amd64
Investigating (0) mariadb-server-10.5:amd64 < none -> 1:10.5.9-1 @un uN Ib >
Broken mariadb-server-10.5:amd64 Depends on galera-4:amd64 < none |
26.4.7-3 @un uH > (>= 26.4)
  Considering galera-4:amd64 0 as a solution to mariadb-server-10.5:amd64 0
  Holding Back mariadb-server-10.5:amd64 rather than change galera-4:amd64
Investigating (0) mariadb-server-core-10.5:amd64 < none -> 1:10.5.9-1
@un uN Ib >
Broken mariadb-server-core-10.5:amd64 Conflicts on
virtual-mysql-server-core:amd64 < none @un H >
  Considering mariadb-server-core-10.3:amd64 -2 as a solution to
mariadb-server-core-10.5:amd64 0
  Added mariadb-server-core-10.3:amd64 to the remove list
Broken mariadb-server-core-10.5:amd64 Breaks on
mariadb-server-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mK Ib >
  Considering mariadb-server-10.3:amd64 -4 as a solution to
mariadb-server-core-10.5:amd64 0
  Added mariadb-server-10.3:amd64 to the remove list
Broken mariadb-server-core-10.5:amd64 Breaks on
mariadb-server-core-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mK Ib >
  Considering mariadb-server-core-10.3:amd64 -2 as a solution to
mariadb-server-core-10.5:amd64 0
  Added mariadb-server-core-10.3:amd64 to the remove list
  Fixing mariadb-server-core-10.5:amd64 via remove of
mariadb-server-core-10.3:amd64
  Fixing mariadb-server-core-10.5:amd64 via remove of mariadb-server-10.3:amd64
  Fixing mariadb-server-core-10.5:amd64 via remove of
mariadb-server-core-10.3:amd64
Investigating (1) mariadb-server:amd64 < 1:10.3.27-0+deb10u1 ->
1:10.5.9-1 @ii umU Ib >
Broken mariadb-server:amd64 Depends on mariadb-server-10.5:amd64 <
none | 1:10.5.9-1 @un uH > (>= 1:10.5.9-1)
  Considering mariadb-server-10.5:amd64 0 as a solution to
mariadb-server:amd64 0
  Removing mariadb-server:amd64 rather than change mariadb-server-10.5:amd64
Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  galera-3 gcc-8-base libaio1 libapt-pkg5.0 libcgi-fast-perl
libcgi-pm-perl libclone-perl libconfig-inifiles-perl libdbd-mysql-perl
libdbi-perl
  libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libffi6
libgcc1 libgdbm-compat4 libgdbm6 libhogweed4 libhtml-parser-perl
  libhtml-tagset-perl libhtml-template-perl libhttp-date-perl
libhttp-message-perl libio-html-perl liblwp-mediatypes-perl
libmariadb3 libncurses6
  libnettle6 libperl5.28 libperl5.32 libpopt0 libreadline5
libreadline7 libsnappy1v5 libterm-readkey-perl libtimedate-perl
liburi-perl libwrap0 lsof
  mariadb-common mysql-common netbase perl perl-modules-5.28
perl-modules-5.32 psmisc rsync socat
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server
mariadb-server-10.3 mariadb-server-core-10.3
The following NEW packages will be installed:
  bsdextrautils gcc-10-base krb5-locales libapt-pkg6.0 libbpf0 libbsd0
libclone-perl libcrypt1 libfcgi-bin libfcgi0ldbl libffi7 libgcc-s1
  libgssapi-krb5-2 libhogweed6 libk5crypto3 libkeyutils1 libkrb5-3
libkrb5support0 libmd0 libnettle8 libnsl2 libnss-nis libnss-nisplus
libpcre2-8-0
  libperl5.32 libreadline8 libtirpc-common libtirpc3 libxxhash0
logsave perl-modules-5.32
The following packages will be upgraded:
  apt base-files base-passwd bash bsdutils coreutils dash debconf
debian-archive-keyring debianutils diffutils dpkg e2fsprogs fdisk
findutils galera-3
  gawk gpgv grep gzip hostname init-system-helpers iproute2
iputils-ping libacl1 libaio1 libattr1 libaudit-common libaudit1
libblkid1 libbz2-1.0 libc-bin
  libc6 libcap-ng0 libcap2 libcap2-bin libcgi-fast-perl libcgi-pm-perl
libcom-err2 libconfig-inifiles-perl libdb5.3 libdbd-mysql-perl
libdbi-perl
  libdebconfclient0 libelf1 libencode-locale-perl libext2fs2
libfcgi-perl libfdisk1 libgcrypt20 libgdbm-compat4 libgdbm6 libgmp10
libgnutls30
  libgpg-error0 libgpm2 libhtml-parser-perl libhtml-tagset-perl
libhtml-template-perl libhttp-date-perl libhttp-message-perl libidn2-0
libio-html-perl
  liblwp-mediatypes-perl liblz4-1 liblzma5 libmariadb3 libmnl0
libmount1 libmpfr6 libncurses6 libncursesw6 libp11-kit0 libpam-modules
libpam-modules-bin
  libpam-runtime libpam0g libpcre3 libpopt0 libseccomp2 libselinux1
libsemanage-common libsemanage1 libsepol1 libsigsegv2 libsmartcols1
libsnappy1v5
  libss2 libssl1.1 libstdc++6 libsystemd0 libtasn1-6
libterm-readkey-perl libtimedate-perl libtinfo6 libudev1 libunistring2
liburi-perl libuuid1 libwrap0
  libxtables12 libzstd1 login lsb-base lsof mariadb-common mawk mount
mysql-common ncurses-base ncurses-bin netbase passwd perl perl-base
psmisc
  readline-common rsync socat sysvinit-utils tar tzdata util-linux zlib1g

What can you read from above?


Next, to have a cycle of charging and testing, you can use a local
Packages file and run upgrade testing against it:

# ensure there are no other repos in use
rm /etc/apt/sources.lis
# get latest Packages locally as a file
curl -O http://ftp.debian.org/debian/dists/sid/main/binary-amd64/Packages.xz
unxz Packages.xz
cp Packages Packages.orig
# test whatever changes you want
nano Packages

diff -u Packages.orig Packages
--- Packages.orig 2021-05-13 14:35:57.417682274 -0700
+++ Packages 2021-05-13 14:36:10.370366409 -0700
@@ -211849,11 +211849,7 @@
 Installed-Size: 2381
 Maintainer: Debian MySQL Maintainers <pkg-mysql-maint at lists.alioth.debian.org>
 Architecture: amd64
-Replaces: galera
-Provides: galera, galera4, percona-xtradb-cluster-galera-26, wsrep
 Depends: libc6 (>= 2.17), libgcc-s1 (>= 3.0), libssl1.1 (>= 1.1.0),
libstdc++6 (>= 9)
-Conflicts: galera-3, garbd-2, garbd-3, garbd2, garbd3,
percona-galera-3, percona-galera-4, percona-xtradb-cluster-galera,
percona-xtradb-cluster-galera-2.x, percona-xtradb-cluster-galera-3.x,
percona-xtradb-cluster-galera-4.x, percona-xtradb-cluster-garbd-2.x,
percona-xtradb-cluster-garbd-3.x
-Breaks: galera
 Description: Replication framework for transactional applications
 Homepage: https://www.galeracluster.com/
 Description-md5: fe238c5e6ce783e128515e8bc966eacf

apt-get -o Debug::pkgProblemResolver=1 --with-source ./Packages install galera-4
Reading package lists... Done
Building dependency tree
Reading state information... Done
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following packages were automatically installed and are no longer required:
  libffi6 libhogweed4
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libstdc++6
The following NEW packages will be installed:
  galera-4
The following packages will be upgraded:
  libstdc++6
1 upgraded, 1 newly installed, 0 to remove and 122 not upgraded.


With these detailed tips you should be able to help out with debugging.

I hope you can help me immediately today/this weekend so we can upload
MariaDB 10.5.10 on Monday to Debian Sid (and then Bullseye).



More information about the pkg-mysql-maint mailing list