Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

205 views
Skip to first unread message

Olaf van der Spek

unread,
May 5, 2021, 5:10:04 AM5/5/21
to
Package: mariadb-server
Version: 1:10.5.9-1
Severity: normal
X-Debbugs-Cc: olafv...@gmail.com

Dear Maintainer,

Installed Debian 10, installed mariadb-server and some other stuff.
Updated sources.list to reference bullseye.
Did apt update
Did apt upgrade

# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
bsdmainutils cpp-8 galera-3 geoip-database libaio1 libasan5 libbind9-161 libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl libdns1104 libdns1110 libencode-locale-perl libevent-2.1-6 libevent-2.1-7
libfam0 libfcgi-bin libfcgi-perl libfcgi0ldbl libgeoip1 libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28 libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl
libicu63 libidn2-dev libio-html-perl libisc1100 libisc1105 libisccc161 libisccfg163 libisl19 libjsoncpp1 liblwp-mediatypes-perl liblwres161 libmpdec2 libmpx2 libp11-kit-dev libperl5.28 libpython2-stdlib libpython3.7-minimal libpython3.7-stdlib
libreadline5 libreadline7 libsnappy1v5 libtasn1-6-dev libtasn1-doc libterm-readkey-perl libtimedate-perl libunbound8 liburi-perl nettle-dev python2 python2-minimal python3.7-minimal rsync socat
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
g++-8 gcc-8 libboost1.67-dev libgcc-8-dev libpython-stdlib libstdc++-8-dev mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server mariadb-server-10.3 mariadb-server-core-10.3 php7.3-cli php7.3-common php7.3-fpm php7.3-json php7.3-opcache
php7.3-readline python python-minimal python3.7
The following NEW packages will be installed:
cpp-10 fontconfig-config fonts-dejavu-core g++-10 gcc-10 libasan6 libboost1.74-dev libbpf0 libbrotli1 libc-devtools libcbor0 libclone-perl libcrypt-dev libcrypt1 libdeflate0 libfcgi-bin libfcgi0ldbl libfido2-1 libfontconfig1 libgcc-10-dev libgd3
libicu67 libip4tc2 libip6tc2 libisl23 libjbig0 libjpeg62-turbo libmpdec3 libnsl-dev libnss-nis libnss-nisplus libperl5.32 libpython3.9-minimal libpython3.9-stdlib libreadline8 libstdc++-10-dev libtiff5 libtirpc-dev libwebp6 libxpm4
lighttpd-mod-deflate lighttpd-mod-openssl perl-modules-5.32 php7.4-cli php7.4-common php7.4-fpm php7.4-json php7.4-opcache php7.4-readline python3.9 python3.9-minimal runit-helper systemd-timesyncd
The following packages will be upgraded:
cpp g++ galera-3 gawk gcc groff-base iproute2 iptables libboost-dev libc-bin libc-dev-bin libc6 libc6-dev libcurl3-gnutls libcurl4 libdbd-mysql-perl libdbi-perl libfcgi-perl libfreetype6 libhtml-parser-perl libhttp-message-perl libiptc0
liblocale-gettext-perl libnss-systemd libpam-modules libpam-modules-bin libpam-systemd libpng16-16 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib libpython3-stdlib libslang2 libsqlite3-0 libsystemd-dev libsystemd0 libterm-readkey-perl
libtext-charwidth-perl libtext-iconv-perl libudev1 libxml2 libxtables12 lighttpd lighttpd-modules-ldap lighttpd-modules-mysql locales login mawk openssh-client openssh-server openssh-sftp-server passwd perl perl-base php-common php-fpm python2
python2-minimal python2.7 python2.7-minimal python3 python3-apt python3-minimal python3-pycurl rsyslog systemd udev util-linux util-linux-locales
69 upgraded, 53 newly installed, 20 to remove and 0 not upgraded.
Need to get 124 MB of archives.
After this operation, 29.3 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Here mariadb (10.3) is to be REMOVED, but 10.5 doesn't appear to get installed.

Before dist-upgrade:
# dpkg -l|grep mariadb
ii libmariadb-dev 1:10.5.9-1 i386 MariaDB database development files
ii libmariadb-dev-compat:i386 1:10.5.9-1 i386 MariaDB Connector/C, compatibility symlinks
ii libmariadb3:i386 1:10.5.9-1 i386 MariaDB database client library
ii mariadb-client-10.3 1:10.3.27-0+deb10u1 i386 MariaDB database client binaries
ii mariadb-client-core-10.3 1:10.3.27-0+deb10u1 i386 MariaDB database core client binaries
ii mariadb-common 1:10.5.9-1 all MariaDB common configuration files
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 i386 MariaDB database server binaries
ii mariadb-server-core-10.3 1:10.3.27-0+deb10u1 i386 MariaDB database core server files

After apt dist-upgrade:
# dpkg -l|grep mariadb
ii libmariadb-dev 1:10.5.9-1 i386 MariaDB database development files
ii libmariadb-dev-compat:i386 1:10.5.9-1 i386 MariaDB Connector/C, compatibility symlinks
ii libmariadb3:i386 1:10.5.9-1 i386 MariaDB database client library
rc mariadb-client-10.3 1:10.3.27-0+deb10u1 i386 MariaDB database client binaries
ii mariadb-common 1:10.5.9-1 all MariaDB common configuration files
rc mariadb-server-10.3 1:10.3.27-0+deb10u1 i386 MariaDB database server binaries

mariadb-server can be installed again afterwards, maybe apt has trouble with galera-3?

# apt install mariadb-server
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
galera-4 mariadb-client-10.5 mariadb-client-core-10.5 mariadb-server-10.5 mariadb-server-core-10.5
Suggested packages:
mailx mariadb-test netcat-openbsd
The following packages will be REMOVED:
galera-3
The following NEW packages will be installed:
galera-4 mariadb-client-10.5 mariadb-client-core-10.5 mariadb-server mariadb-server-10.5 mariadb-server-core-10.5
0 upgraded, 6 newly installed, 1 to remove and 0 not upgraded.
Need to get 13.8 MB of archives.
After this operation, 135 MB of additional disk space will be used.
Do you want to continue? [Y/n]



Greetings,

Olaf


-- System Information:
Debian Release: bullseye/sid
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 5.10.0-6-686-pae (SMP w/1 CPU thread)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mariadb-server depends on:
ii mariadb-server-10.5 1:10.5.9-1

mariadb-server recommends no packages.

mariadb-server suggests no packages.

-- no debconf information

Otto Kekäläinen

unread,
May 5, 2021, 10:40:03 PM5/5/21
to
Thanks for reporting!

We constantly test updates from older distros and MariaDB versions in
our Salsa-CI pipeline, and it does not show the symptoms your system
had.

Would it be possible for you to provide exact steps on how to
reproduce this in a Docker image or virtual machine?

If it only happens on one machine and cannot be reproduced, we can't
help much. Therefore steps to reproduce are very important.

Olaf van der Spek

unread,
May 6, 2021, 2:30:04 AM5/6/21
to
Op do 6 mei 2021 om 04:29 schreef Otto Kekäläinen <ot...@debian.org>:
Hi Otto,

Can't apt dump / log it's state so it's decisions can be easily reproduced?

I do have this in a VM so I think we can easily repro this.

// Fresh VM install from debian-10.9.0-i386-netinst.iso
# history
1 visudo
2 rm /etc/motd
3 poweroff
4 apt install mariadb-server
5 dpkg -l|grep mariadb
6 sed -i 's/buster/bullseye/g' /etc/apt/sources.list
7 apt update
8 apt upgrade
9 apt dist-upgrade // output below
10 dpkg -l|grep mariadb // output below
11 apt dist-upgrade // output below
12 history

# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
bsdmainutils galera-3 geoip-database libaio1 libbind9-161
libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl
libdbd-mysql-perl libdbi-perl libdns1104 libdns1110
libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl
libgeoip1 libhtml-parser-perl libhtml-tagset-perl
libhtml-template-perl libhttp-date-perl libhttp-message-perl libicu63
libio-html-perl libisc1100 libisc1105 libisccc161 libisccfg163
liblwp-mediatypes-perl liblwres161 libmariadb3 libmpdec2
libperl5.28 libpython2-stdlib libpython3.7-minimal
libpython3.7-stdlib libreadline5 libreadline7 libsnappy1v5
libterm-readkey-perl libtimedate-perl liburi-perl mariadb-common
mysql-common python2 python2-minimal python3.7 python3.7-minimal rsync
socat
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
libpython-stdlib mariadb-client-10.3 mariadb-client-core-10.3
mariadb-server mariadb-server-10.3 mariadb-server-core-10.3 python
python-minimal
The following packages will be upgraded:
galera-3 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
python2 python2-minimal python2.7 python2.7-minimal
8 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.
Need to get 5,012 kB of archives.
After this operation, 147 MB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.

# dpkg -l|grep mariadb
ii libmariadb3:i386 1:10.5.9-1 i386
MariaDB database client library
ii mariadb-client-10.3 1:10.3.27-0+deb10u1 i386
MariaDB database client binaries
ii mariadb-client-core-10.3 1:10.3.27-0+deb10u1 i386
MariaDB database core client binaries
ii mariadb-common 1:10.5.9-1 all
MariaDB common configuration files
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 i386
MariaDB database server binaries
ii mariadb-server-core-10.3 1:10.3.27-0+deb10u1 i386
MariaDB database core server files

# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
bsdmainutils galera-3 geoip-database libaio1 libbind9-161
libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl
libdbd-mysql-perl libdbi-perl libdns1104 libdns1110
libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl
libgeoip1 libhtml-parser-perl libhtml-tagset-perl
libhtml-template-perl libhttp-date-perl libhttp-message-perl libicu63
libio-html-perl libisc1100 libisc1105 libisccc161 libisccfg163
liblwp-mediatypes-perl liblwres161 libmariadb3 libmpdec2
libperl5.28 libpython2-stdlib libpython3.7-minimal
libpython3.7-stdlib libreadline5 libreadline7 libsnappy1v5
libterm-readkey-perl libtimedate-perl liburi-perl mariadb-common
mysql-common python2 python2-minimal python3.7 python3.7-minimal rsync
socat
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
libpython-stdlib mariadb-client-10.3 mariadb-client-core-10.3
mariadb-server mariadb-server-10.3 mariadb-server-core-10.3 python
python-minimal
The following packages will be upgraded:
galera-3 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
python2 python2-minimal python2.7 python2.7-minimal
8 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.
Need to get 5,012 kB of archives.
After this operation, 147 MB disk space will be freed.
Do you want to continue? [Y/n]
Get:1 http://deb.debian.org/debian bullseye/main i386 python2.7 i386
2.7.18-7 [310 kB]
Get:2 http://deb.debian.org/debian bullseye/main i386
libpython2.7-stdlib i386 2.7.18-7 [1,885 kB]
Get:3 http://deb.debian.org/debian bullseye/main i386
python2.7-minimal i386 2.7.18-7 [1,358 kB]
Get:4 http://deb.debian.org/debian bullseye/main i386
libpython2.7-minimal i386 2.7.18-7 [396 kB]
Get:5 http://deb.debian.org/debian bullseye/main i386 python2-minimal
i386 2.7.18-2 [27.4 kB]
Get:6 http://deb.debian.org/debian bullseye/main i386 python2 i386
2.7.18-2 [24.4 kB]
Get:7 http://deb.debian.org/debian bullseye/main i386
libpython2-stdlib i386 2.7.18-2 [21.2 kB]
Get:8 http://deb.debian.org/debian bullseye/main i386 galera-3 i386
25.3.31-2+b1 [990 kB]
Fetched 5,012 kB in 2s (2,856 kB/s)
Reading changelogs... Done
(Reading database ... 37273 files and directories currently installed.)
Removing python (2.7.16-1) ...
Removing libpython-stdlib:i386 (2.7.16-1) ...
Removing mariadb-server (1:10.3.27-0+deb10u1) ...
Removing mariadb-server-10.3 (1:10.3.27-0+deb10u1) ...
Removing mariadb-client-10.3 (1:10.3.27-0+deb10u1) ...
Removing mariadb-client-core-10.3 (1:10.3.27-0+deb10u1) ...
Removing mariadb-server-core-10.3 (1:10.3.27-0+deb10u1) ...
Removing python-minimal (2.7.16-1) ...
(Reading database ... 36979 files and directories currently installed.)
Preparing to unpack .../python2.7_2.7.18-7_i386.deb ...
Unpacking python2.7 (2.7.18-7) over (2.7.16-2+deb10u1) ...
Preparing to unpack .../libpython2.7-stdlib_2.7.18-7_i386.deb ...
Unpacking libpython2.7-stdlib:i386 (2.7.18-7) over (2.7.16-2+deb10u1) ...
Preparing to unpack .../python2.7-minimal_2.7.18-7_i386.deb ...
Unpacking python2.7-minimal (2.7.18-7) over (2.7.16-2+deb10u1) ...
Preparing to unpack .../libpython2.7-minimal_2.7.18-7_i386.deb ...
Unpacking libpython2.7-minimal:i386 (2.7.18-7) over (2.7.16-2+deb10u1) ...
Preparing to unpack .../python2-minimal_2.7.18-2_i386.deb ...
Unpacking python2-minimal (2.7.18-2) over (2.7.16-1) ...
Setting up libpython2.7-minimal:i386 (2.7.18-7) ...
Setting up python2.7-minimal (2.7.18-7) ...
Setting up python2-minimal (2.7.18-2) ...
(Reading database ... 36967 files and directories currently installed.)
Preparing to unpack .../python2_2.7.18-2_i386.deb ...
Unpacking python2 (2.7.18-2) over (2.7.16-1) ...
Preparing to unpack .../libpython2-stdlib_2.7.18-2_i386.deb ...
Unpacking libpython2-stdlib:i386 (2.7.18-2) over (2.7.16-1) ...
Preparing to unpack .../galera-3_25.3.31-2+b1_i386.deb ...
Unpacking galera-3 (25.3.31-2+b1) over (25.3.25-2) ...
Setting up libpython2.7-stdlib:i386 (2.7.18-7) ...
Setting up galera-3 (25.3.31-2+b1) ...
Setting up python2.7 (2.7.18-7) ...
Setting up libpython2-stdlib:i386 (2.7.18-2) ...
Setting up python2 (2.7.18-2) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for mailcap (3.69) ...

#
--
Olaf

Olaf van der Spek

unread,
May 6, 2021, 4:00:03 PM5/6/21
to
> So in summary everything else goes OK and upgrade passes

It would be kinda nice to end up with mariadb-server-10.5 too... ;)

Op do 6 mei 2021 om 21:43 schreef Otto Kekäläinen <ot...@debian.org>:
>
> So in summary everything else goes OK and upgrade passes, but there is
> one 'mariadb-server' metapackage removed which should have been kept:
>
> Removing mariadb-server (1:10.3.27-0+deb10u1) ... <-------------
> Removing mariadb-server-10.3 (1:10.3.27-0+deb10u1) ...
> Removing mariadb-client-10.3 (1:10.3.27-0+deb10u1) ...
> Removing mariadb-client-core-10.3 (1:10.3.27-0+deb10u1) ...
> Removing mariadb-server-core-10.3 (1:10.3.27-0+deb10u1) ...



--
Olaf

Otto Kekäläinen

unread,
May 6, 2021, 4:00:03 PM5/6/21
to
So in summary everything else goes OK and upgrade passes, but there is
one 'mariadb-server' metapackage removed which should have been kept:

Removing mariadb-server (1:10.3.27-0+deb10u1) ... <-------------

Faustin Lammler

unread,
May 12, 2021, 7:10:03 AM5/12/21
to
Hi!

So, I also tried the apt debug commands but I could not find the exact
problem (this is also way too verbose for me ATM).

Here are some questions regarding galera (because I believe the problem
might come from it):
- why bullseye/sid provide both galera-3 and galera-4?
- why installing galera-4 removes mariadb-server-10.3, see bellow:
| docker run -it debian:10 bash -c \
| "apt-get update \
| && apt-get upgrade -y \
| && apt-get install -y 'mariadb-server' \
| && dpkg -l | egrep '(mariadb|mysql|galera)' \
| && printf 'deb http://deb.debian.org/debian bullseye main' >/etc/apt/sources.list \
| && apt-get clean \
| && apt-get update \
| && apt-get install galera-4 \
| && dpkg -l | egrep '(mariadb|mysql|galera)'"

@Otto, I believe that the salsa CI did not catch this problem because we
are upgrading using the generated deb `apt install ./*.deb` and not
using a mirror and `apt-get full-upgrade` (and maybe because we are
explicitly asking apt to upgrade galera).

It would be good to also test a very common scenario where we install
only mariadb-server (and it's dependencies) and try to upgrade it using
the recommended Debian method (https://wiki.debian.org/DebianUpgrade). I
have no idea for the moment if this is easy to implement in the salsa CI
but I will do some tests.

Here is the snippet to reproduce the upgrade problem in docker:
| docker run -it debian:10 bash -c \
| "apt-get update \
| && apt-get upgrade -y \
| && apt-get install -y 'mariadb-server' \
| && dpkg -l | egrep '(mariadb|mysql|galera)' \
| && printf 'deb http://deb.debian.org/debian bullseye main' >/etc/apt/sources.list \
| && apt-get clean \
| && apt-get update \
| && apt-get full-upgrade -y \
| && dpkg -l | egrep '(mariadb|mysql|galera)'"

Cheers!

--
Faustin Lammler
F652 BCD1 1AA8 8975 F010 48A5 390A 2F27 832A 5C79
signature.asc

Olaf van der Spek

unread,
May 14, 2021, 2:30:03 AM5/14/21
to
Op wo 12 mei 2021 om 13:03 schreef Faustin Lammler <fau...@fala.red>:
> Here are some questions regarding galera (because I believe the problem
> might come from it):
> - why bullseye/sid provide both galera-3 and galera-4?
> - why installing galera-4 removes mariadb-server-10.3, see bellow:

On that topic, shouldn't galera-3 be in the replaces (and maybe breaks) fields?
Does it make sense to have packages in both Breaks and Conflicts?
Conflicts seems to be a stronger version of Breaks.

Package: galera-4
Architecture: any
Section: libs
Depends: ${misc:Depends},
${shlibs:Depends}
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
Provides: galera,
galera4,
percona-xtradb-cluster-galera-26,
wsrep
Breaks: galera
Replaces: galera

https://salsa.debian.org/mariadb-team/galera-4/-/blob/master/debian/control

Olaf van der Spek

unread,
May 14, 2021, 2:40:03 AM5/14/21
to
Op vr 14 mei 2021 om 08:21 schreef Olaf van der Spek <olafv...@gmail.com>:
> > - why installing galera-4 removes mariadb-server-10.3, see bellow:

galera-4 conflicts with galera-3
mariadb-server-10.3 depends on galera-3

Otto Kekäläinen

unread,
May 14, 2021, 2:50:04 AM5/14/21
to
(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-mys...@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).

Olaf van der Spek

unread,
May 14, 2021, 8:00:03 AM5/14/21
to
Op vr 14 mei 2021 om 09:53 schreef Otto Kekäläinen <ot...@debian.org>:
> 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.

Not directly related, but:
Should Galera be a Depends of MariaDB? Wouldn't a Recommends or even
just a Suggests be good enough?

Otto Kekäläinen

unread,
May 14, 2021, 12:00:04 PM5/14/21
to
On Fri, May 14, 2021 at 4:50 AM Olaf van der Spek <olafv...@gmail.com> wrote:
...
> Not directly related, but:
> Should Galera be a Depends of MariaDB? Wouldn't a Recommends or even
> just a Suggests be good enough?

Maybe. Only a part of users run Galera. Feel free to do this
suggestion in a for or a Merge Request. Running the CI as part of the
Merge Request will also help you discover potential regressions of
this change.

I am not sure we have any Galera tests in our
mysql-test-run/autopkgtests or in the Salsa-CI pipeline. Probably not,
as it would require running several mariadbd instances and testing the
communication between them.

Upstream does have some automatic Galera testing in their pipeline:
http://buildbot.askmonty.org/buildbot/grid?branch=10.5&category=main&category=experimental

At the moment the Galera packaging in Debian inherits form what it was
in upstream when in MariaDB 10.1 the Galera code was merged into the
main server and became a standard feature.

I am keeping a close eye on all Merge Requests at
https://salsa.debian.org/mariadb-team and I promise to review anything
you send within 24 hours now so we can get the final improvements into
Bullseye.

- Otto

Faustin Lammler

unread,
May 14, 2021, 2:50:03 PM5/14/21
to
Hi!
I have spent a lot of time today on this and I worked on implementing a
dist-upgrade in salsa CI with the aptly tool (I am not very far, and I
will submit MR but only next week I guess...).

I am still not sure about how to fix this dependency pb and I lost some
time because of a strange behavior depending on which docker container I
was using (buster/buster-slim).

A dist-upgrade from debian:buster container always fails whereas a
dist-upgrade from debian:buster-slim only fails when targeting sid.

See:
https://salsa.debian.org/faust/galera-4/-/pipelines/254828/builds

I am too tired to investigate why, but maybe this can give you some
pointers/ideas?

--
Faustin
signature.asc

Olaf van der Spek

unread,
May 15, 2021, 7:50:04 AM5/15/21
to
Hi,

Another interesting observation. After upgrading galera-3 from buster
to bullseye first, apt will install 10.5..

# apt full-upgrade
The following packages will be REMOVED:
libpython-stdlib mariadb-client-10.3 mariadb-client-core-10.3
mariadb-server mariadb-server-10.3 mariadb-server-core-10.3 python
python-minimal
The following packages will be upgraded:
galera-3 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
python2 python2-minimal python2.7 python2.7-minimal
8 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.

# apt install galera-3
The following packages will be upgraded:
galera-3
1 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.

# apt full-upgrade
The following packages will be REMOVED:
galera-3 libpython-stdlib mariadb-client-10.3
mariadb-client-core-10.3 mariadb-server-10.3 mariadb-server-core-10.3
python python-minimal
The following NEW packages will be installed:
galera-4 mariadb-client-10.5 mariadb-client-core-10.5
mariadb-server-10.5 mariadb-server-core-10.5
The following packages will be upgraded:
libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
mariadb-server python2 python2-minimal python2.7 python2.7-minimal
8 upgraded, 5 newly installed, 8 to remove and 0 not upgraded.

Faustin Lammler

unread,
May 15, 2021, 1:20:03 PM5/15/21
to
Hi!
I am in favour of removing galera-4 from Depends and as suggested by
Olaf make it only a suggestion (Suggests), I am not sure if it's even
necessary (after all, MariaDB standalone server and Galera cluster are
two very different setup).

The salsa CI is still green when doing so:
https://salsa.debian.org/faust/mariadb-10.5/-/pipelines/254990

Plus, even if I can't reproduce this dist-upgrade problem on the Salsa
CI, on my personal drone CI, doing so also resolve the problem from an
upstream build with
https://github.com/fauust/mariadb-server/tree/fix-dist-upgrade whereas
the problem exists on the 10.5 branch.

Finally, galera-4 is not a dependency on RPM:
| docker run fedora:latest bash -c "yum update -y && yum install mariadb-server -y && rpm -qa | egrep 'mariadb|galera'"

I have asked on Zulip if there is any reason of this dependency that I
could have missed.

Cheers!

--
Faustin
signature.asc

Otto Kekäläinen

unread,
May 15, 2021, 4:00:03 PM5/15/21
to
Faustin,

What you do in https://salsa.debian.org/faust/galera-4/-/commit/d0119633bd42ebcedb300fb7423035de4f91f1bc
with aptly and tmux and printf 'X\n' seems overly complex. To make a
local repo for testing you can simply run:

apt install apt-utils
cd /path/to/deb/files
apt-ftparchive release . > Release
echo 'deb [trusted=yes] file:/path/to/deb/files ./' >> /etc/apt/sources.list
apt update
apt dist-upgrade

See
https://manpages.debian.org/unstable/apt-utils/apt-ftparchive.1.en.html

Otto Kekäläinen

unread,
May 15, 2021, 4:10:04 PM5/15/21
to
> I am in favour of removing galera-4 from Depends and as suggested by
> Olaf make it only a suggestion (Suggests), I am not sure if it's even
> necessary (after all, MariaDB standalone server and Galera cluster are
> two very different setup).

Yes we consider doing that. Note however that it does not fix this bug
in question, we still want the dist-upgrade for Galera users to
succeed. It also needs to be debugged and a MR submitted on how to
change Galera-4 debian/control file for the upgrade to pass
flawlessly.

> The salsa CI is still green when doing so:
> https://salsa.debian.org/faust/mariadb-10.5/-/pipelines/254990

Good. Did you also test upstream buildbot?

> Finally, galera-4 is not a dependency on RPM:
> | docker run fedora:latest bash -c "yum update -y && yum install mariadb-server -y && rpm -qa | egrep 'mariadb|galera'"

Good point.

I digged into git blame and found out that I actually tried to make
galera-3 a recommends in 2015 but reverted because upstream tests
started failing:

Starting point: Depends: galera
https://github.com/MariaDB/server/commit/df4dd593f29aec8e2116aec1775ad4b8833d8c93#diff-70229a6b99c9cf63c053270b10c80d7fe50c33c7c167f7c1a4d84a093334d65bR195

Change:
https://github.com/MariaDB/server/commit/6bd94cf54274d54521ece1e50d534777122ff29e

Revert:
https://github.com/MariaDB/server/commit/6bd94cf54274d54521ece1e50d534777122ff29e


But as said, the bug #988089 can only be fixed by a change in galera-4
debian/control. Changing the mariadb-10.5 debian/control to
recommends:galera-4 is a separate change.

Faustin Lammler

unread,
May 16, 2021, 2:40:03 PM5/16/21
to
Otto Kekäläinen <ot...@debian.org>,
15/05/2021 – 12:50:24 (-0700):

> What you do in
> https://salsa.debian.org/faust/galera-4/-/commit/d0119633bd42ebcedb300fb7423035de4f91f1bc
> with aptly and tmux and printf 'X\n' seems overly complex. To make a
> local repo for testing you can simply run:

> apt install apt-utils
> cd /path/to/deb/files
> apt-ftparchive release . > Release
> echo 'deb [trusted=yes] file:/path/to/deb/files ./' >> /etc/apt/sources.list
> apt update
> apt dist-upgrade

Indeed! I guess that I was looking for an excuse to play with aptly
(understanding how this tool works was in my todo list for too long).

But yeah, completely overkill in that case, thanks!

--
Faustin
signature.asc

Faustin Lammler

unread,
May 16, 2021, 4:00:03 PM5/16/21
to
Hi Otto!

Otto Kekäläinen <ot...@debian.org>,
15/05/2021 – 12:56:58 (-0700):

> Yes we consider doing that. Note however that it does not fix this bug
> in question, we still want the dist-upgrade for Galera users to
> succeed. It also needs to be debugged and a MR submitted on how to
> change Galera-4 debian/control file for the upgrade to pass
> flawlessly.
It's not clear to me what the upgrade path for Galera would be given the
fact that both galera-3 and galera-4 packages exists in Bullseye. Should
a dist-upgrade upgrade galera-3 to galera-4 or does the user explicitly
have to ask for galera-4?

Also, removing the dependency to galera resolves the fact that
mariadb-server-10.3 is removed on a dist-upgrade (galera-3 is not
removed and mariadb-server-10.3 is upgraded to mariadb-server-10.5). So
if the deadline to upload mariadb is short (you spoke about tomorrow), I
find this solution valid until we find also a solution for Galera of
course...

> > The salsa CI is still green when doing so:
> > https://salsa.debian.org/faust/mariadb-10.5/-/pipelines/254990
>
> Good. Did you also test upstream buildbot?
I have just created a WIP PR for that:
https://github.com/MariaDB/server/pull/1829

> Revert:
> https://github.com/MariaDB/server/commit/6bd94cf54274d54521ece1e50d534777122ff29e
You mean:
https://github.com/MariaDB/server/commit/b9fee60871264ea56a5582ca7a436aabdabea6fc

> But as said, the bug #988089 can only be fixed by a change in galera-4
> debian/control. Changing the mariadb-10.5 debian/control to
> recommends:galera-4 is a separate change.
Ok but I have no idea how this should be handled then. See my previous
comment and https://packages.debian.org/bullseye/galera-3 and
https://packages.debian.org/bullseye/galera-4.

--
Faustin
signature.asc

Otto Kekäläinen

unread,
May 16, 2021, 7:30:04 PM5/16/21
to

> But as said, the bug #988089 can only be fixed by a change in galera-4
> debian/control. Changing the mariadb-10.5 debian/control to
> recommends:galera-4 is a separate change.
Ok but I have no idea how this should be handled then. 

I outlined the exact galera-4 debugging steps in my email on May 13th. The solution can be found and also tested/validated easily with those steps.



Otto Kekäläinen

unread,
May 22, 2021, 5:40:04 PM5/22/21
to
Hello!
I had some spare time today and followed those steps, resulting in
this MR: https://salsa.debian.org/mariadb-team/galera-4/-/merge_requests/5

Would somebody like to review/test it?

Olaf van der Spek

unread,
May 23, 2021, 5:00:03 AM5/23/21
to
Op za 22 mei 2021 om 23:30 schreef Otto Kekäläinen <ot...@debian.org>:
Thanks a lot!

> Would somebody like to review/test it?

Conflicts: galera, galera-3, ...
Breaks: galera, galera-3

> When one binary package declares a conflict with another using a Conflicts field, dpkg will refuse to allow them to be unpacked on the system at the same time. This is a stronger restriction than Breaks,

Based on the text I'd assume it doesn't make sense to have a package
in both conflicts and breaks. Am I reading the text wrong?

https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts

--
Olaf

Olaf van der Spek

unread,
Jun 19, 2021, 6:40:04 AM6/19/21
to
> Op za 22 mei 2021 om 23:30 schreef Otto Kekäläinen <ot...@debian.org>:
> > Would somebody like to review/test it?

Doesn't seem to be working for me:

# apt full-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
libpython-stdlib mariadb-client-10.3 mariadb-client-core-10.3
mariadb-server mariadb-server-10.3 mariadb-server-core-10.3 python
python-minimal
The following packages will be upgraded:
galera-3 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
python2 python2-minimal python2.7 python2.7-minimal
8 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.

# apt dist-upgrade -o Debug::pkgDepCache::AutoInstall=1 -o
Debug::pkgDepCache::Marker=1 -o Debug::pkgProblemResolver=1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
MarkInstall initramfs-tools-core:amd64 < 0.140 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on pigz:amd64
Delayed Removing: libpython-stdlib:amd64 as upgrade is not an
option for python2.7-minimal:amd64 (2.7.18-7)
Delayed Removing: python:amd64 as upgrade is not an option for
python2.7-minimal:amd64 (2.7.18-7)
Delayed Removing: python-minimal:amd64 as upgrade is not an option
for python2.7-minimal:amd64 (2.7.18-7)
MarkInstall python2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7
@ii umU Ib > FU=0
MarkDelete libpython-stdlib:amd64 < 2.7.16-1 @ii mK Ib > FU=0
MarkDelete python:amd64 < 2.7.16-1 @ii mK Ib > FU=0
MarkDelete python-minimal:amd64 < 2.7.16-1 @ii mK Ib > FU=0
MarkInstall iptables:amd64 < 1.8.7-1 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on nftables:amd64
MarkInstall mariadb-server:amd64 < 1:10.3.29-0+deb10u1 ->
1:10.5.10-2 @ii umU Ib > FU=0
Installing mariadb-server-10.5:amd64 as Depends of mariadb-server:amd64
Delayed Removing: mariadb-server-10.3:amd64 as upgrade is not an
option for mariadb-server-10.5:amd64 (1:10.5.10-2)
Delayed Removing: mariadb-server-10.3:amd64 as upgrade is not an
option for mariadb-server-10.5:amd64 (1:10.5.10-2)
MarkInstall mariadb-server-10.5:amd64 < none -> 1:10.5.10-2 @un uN Ib > FU=0
Installing galera-4:amd64 as Depends of mariadb-server-10.5:amd64
MarkKeep galera-3:amd64 < 25.3.25-2 -> 25.3.31-2+b1 @ii umU > FU=0
Delayed Removing: galera-3:amd64 as upgrade is not an option
for galera-4:amd64 (26.4.8-1)
Delayed Removing: galera-3:amd64 as upgrade is not an option
for galera-4:amd64 (26.4.8-1)
Delayed Removing: galera-3:amd64 as upgrade is not an option
for galera-4:amd64 (26.4.8-1)
Delayed Removing: galera-3:amd64 as upgrade is not an option
for galera-4:amd64 (26.4.8-1)
MarkInstall galera-4:amd64 < none -> 26.4.8-1 @un uN Ib > FU=0
MarkDelete galera-3:amd64 < 25.3.25-2 | 25.3.31-2+b1 @ii umH Ib > FU=0
Installing mariadb-client-10.5:amd64 as Depends of mariadb-server-10.5:amd64
Delayed Removing: mariadb-client-10.3:amd64 as upgrade is not
an option for mariadb-client-10.5:amd64 (1:10.5.10-2)
Delayed Removing: mariadb-client-10.3:amd64 as upgrade is not
an option for mariadb-client-10.5:amd64 (1:10.5.10-2)
Delayed Removing: mariadb-client-core-10.3:amd64 as upgrade is
not an option for mariadb-client-10.5:amd64 (1:10.5.10-2)
MarkInstall mariadb-client-10.5:amd64 < none -> 1:10.5.10-2 @un
uN Ib > FU=0
Installing mariadb-client-core-10.5:amd64 as Depends of
mariadb-client-10.5:amd64
Delayed Removing: mariadb-client-core-10.3:amd64 as upgrade
is not an option for mariadb-client-core-10.5:amd64 (1:10.5.10-2)
Delayed Removing: mariadb-client-core-10.3:amd64 as upgrade
is not an option for mariadb-client-core-10.5:amd64 (1:10.5.10-2)
MarkInstall mariadb-client-core-10.5:amd64 < none ->
1:10.5.10-2 @un uN Ib > FU=0
MarkDelete mariadb-client-core-10.3:amd64 <
1:10.3.29-0+deb10u1 @ii mK Ib > FU=0
MarkDelete mariadb-client-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii
mK Ib > FU=0
Installing mariadb-server-core-10.5:amd64 as Depends of
mariadb-server-10.5:amd64
Delayed Removing: mariadb-server-core-10.3:amd64 as upgrade is
not an option for mariadb-server-core-10.5:amd64 (1:10.5.10-2)
Delayed Removing: mariadb-server-10.3:amd64 as upgrade is not
an option for mariadb-server-core-10.5:amd64 (1:10.5.10-2)
Delayed Removing: mariadb-server-core-10.3:amd64 as upgrade is
not an option for mariadb-server-core-10.5:amd64 (1:10.5.10-2)
MarkInstall mariadb-server-core-10.5:amd64 < none -> 1:10.5.10-2
@un uN Ib > FU=0
MarkDelete mariadb-server-core-10.3:amd64 < 1:10.3.29-0+deb10u1
@ii mK Ib > FU=0
MarkDelete mariadb-server-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii
mK Ib > FU=0
MarkKeep python-minimal:amd64 < 2.7.16-1 @ii mR > FU=0
MarkInstall libcap2-bin:amd64 < 1:2.44-1 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on libpam-cap:amd64
MarkKeep galera-4:amd64 < none -> 26.4.8-1 @un uN > FU=0
MarkInstall galera-3:amd64 < 25.3.25-2 -> 25.3.31-2+b1 @ii umU > FU=0
MarkKeep libpython-stdlib:amd64 < 2.7.16-1 @ii mR > FU=0
MarkInstall logrotate:amd64 < 3.18.0-2 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on bsd-mailx:amd64
MarkInstall libgpg-error0:amd64 < 1.38-2 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on libgpg-error-l10n:amd64
MarkKeep mariadb-server-core-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mR > FU=0
MarkInstall libuuid1:amd64 < 2.36.1-7 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on uuid-runtime:amd64
MarkKeep mariadb-client-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mR > FU=
0
MarkInstall cron:amd64 < 3.0pl1-137 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on default-mta:amd64
MarkKeep mariadb-server-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mR > FU=
0
MarkKeep python:amd64 < 2.7.16-1 @ii mR > FU=0
MarkInstall libncursesw6:amd64 < 6.2+20201114-2 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on libgpm2:amd64
Delayed Removing: libpython-stdlib:amd64 as upgrade is not an
option for python2.7:amd64 (2.7.18-7)
Delayed Removing: python:amd64 as upgrade is not an option for
python2.7:amd64 (2.7.18-7)
Delayed Removing: python-minimal:amd64 as upgrade is not an option
for python2.7:amd64 (2.7.18-7)
MarkInstall python2.7:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7 @ii umU Ib > FU=0
MarkDelete libpython-stdlib:amd64 < 2.7.16-1 @ii mK Ib > FU=0
MarkDelete python:amd64 < 2.7.16-1 @ii mK Ib > FU=0
MarkDelete python-minimal:amd64 < 2.7.16-1 @ii mK Ib > FU=0
MarkKeep mariadb-client-core-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mR > FU=0
MarkInstall iproute2:amd64 < 5.10.0-4 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on libatm1:amd64
MarkInstall libnewt0.52:amd64 < 0.52.21-4+b3 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on libfribidi0:amd64
MarkInstall libncurses6:amd64 < 6.2+20201114-2 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on libgpm2:amd64
MarkInstall e2fsprogs:amd64 < 1.46.2-1 @ii mK NPb IPb > FU=0
ignore old unsatisfied important dependency on e2fsprogs-l10n:amd64
MarkKeep python-minimal:amd64 < 2.7.16-1 @ii mR > FU=0
MarkKeep libpython-stdlib:amd64 < 2.7.16-1 @ii mR > FU=0
MarkKeep python:amd64 < 2.7.16-1 @ii mR > FU=0
Starting pkgProblemResolver with broken count: 14
Starting 2 pkgProblemResolver with broken count: 14
Investigating (0) libpython2.7-minimal:amd64 < 2.7.16-2+deb10u1 ->
2.7.18-7 @ii umU Ib >
Broken libpython2.7-minimal:amd64 Breaks on libpython-stdlib:amd64 <
2.7.16-1 @ii mK Ib > (< 2.7.18)
Considering libpython-stdlib:amd64 -4 as a solution to
libpython2.7-minimal:amd64 9
Added libpython-stdlib:amd64 to the remove list
Broken libpython2.7-minimal:amd64 Breaks on python:amd64 < 2.7.16-1
@ii mK Ib > (< 2.7.18)
Considering python:amd64 -4 as a solution to libpython2.7-minimal:amd64 9
Added python:amd64 to the remove list
Broken libpython2.7-minimal:amd64 Breaks on python-minimal:amd64 <
2.7.16-1 @ii mK Ib > (< 2.7.18)
Considering python-minimal:amd64 -4 as a solution to
libpython2.7-minimal:amd64 9
Added python-minimal:amd64 to the remove list
MarkDelete libpython-stdlib:amd64 < 2.7.16-1 @ii mK Ib > FU=0
Fixing libpython2.7-minimal:amd64 via remove of libpython-stdlib:amd64
MarkDelete python:amd64 < 2.7.16-1 @ii mK Ib > FU=0
Fixing libpython2.7-minimal:amd64 via remove of python:amd64
MarkDelete python-minimal:amd64 < 2.7.16-1 @ii mK Ib > FU=0
Fixing libpython2.7-minimal:amd64 via remove of python-minimal:amd64
Investigating (0) mariadb-client-10.5:amd64 < none -> 1:10.5.10-2 @un uN Ib >
Broken mariadb-client-10.5:amd64 Conflicts on
virtual-mysql-client:amd64 < none @un H >
Considering mariadb-client-10.3:amd64 -3 as a solution to
mariadb-client-10.5:amd64 -1
Added mariadb-client-10.3:amd64 to the remove list
Conflicts//Breaks against version 1:10.3.25-0+deb10u1 for
mariadb-client-10.3 but that is not InstVer, ignoring
Broken mariadb-client-10.5:amd64 Breaks on mariadb-client-10.3:amd64 <
1:10.3.29-0+deb10u1 @ii mK Ib >
Considering mariadb-client-10.3:amd64 -3 as a solution to
mariadb-client-10.5:amd64 -1
Added mariadb-client-10.3:amd64 to the remove list
Conflicts//Breaks against version 1:10.3.25-0+deb10u1 for
mariadb-client-10.3 but that is not InstVer, ignoring
Broken mariadb-client-10.5:amd64 Breaks on
mariadb-client-core-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mK Ib >
Considering mariadb-client-core-10.3:amd64 -4 as a solution to
mariadb-client-10.5:amd64 -1
Added mariadb-client-core-10.3:amd64 to the remove list
Conflicts//Breaks against version 1:10.3.25-0+deb10u1 for
mariadb-client-core-10.3 but that is not InstVer, ignoring
MarkDelete mariadb-client-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mK Ib > FU=0
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
MarkDelete mariadb-client-core-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii
mK Ib > FU=0
Fixing mariadb-client-10.5:amd64 via remove of mariadb-client-core-10.3:amd64
Investigating (0) mariadb-server-10.5:amd64 < none -> 1:10.5.10-2 @un uN Ib >
Broken mariadb-server-10.5:amd64 Depends on galera-4:amd64 < none |
26.4.8-1 @un uH > (>= 26.4)
Considering galera-4:amd64 0 as a solution to mariadb-server-10.5:amd64 -1
MarkKeep mariadb-server-10.5:amd64 < none -> 1:10.5.10-2 @un uN Ib > FU=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.10-2
@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 -3 as a solution to
mariadb-server-core-10.5:amd64 -1
Added mariadb-server-core-10.3:amd64 to the remove list
Conflicts//Breaks against version 1:10.3.25-0+deb10u1 for
mariadb-server-core-10.3 but that is not InstVer, ignoring
Broken mariadb-server-core-10.5:amd64 Breaks on
mariadb-server-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mK Ib >
Considering mariadb-server-10.3:amd64 -5 as a solution to
mariadb-server-core-10.5:amd64 -1
Added mariadb-server-10.3:amd64 to the remove list
Conflicts//Breaks against version 1:10.3.25-0+deb10u1 for
mariadb-server-10.3 but that is not InstVer, ignoring
Broken mariadb-server-core-10.5:amd64 Breaks on
mariadb-server-core-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mK Ib >
Considering mariadb-server-core-10.3:amd64 -3 as a solution to
mariadb-server-core-10.5:amd64 -1
Added mariadb-server-core-10.3:amd64 to the remove list
Conflicts//Breaks against version 1:10.3.25-0+deb10u1 for
mariadb-server-core-10.3 but that is not InstVer, ignoring
MarkDelete mariadb-server-core-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii
mK Ib > FU=0
Fixing mariadb-server-core-10.5:amd64 via remove of
mariadb-server-core-10.3:amd64
MarkDelete mariadb-server-10.3:amd64 < 1:10.3.29-0+deb10u1 @ii mK Ib > FU=0
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.29-0+deb10u1 ->
1:10.5.10-2 @ii umU Ib >
Broken mariadb-server:amd64 Depends on mariadb-server-10.5:amd64 <
none | 1:10.5.10-2 @un uH > (>= 1:10.5.10-2)
Considering mariadb-server-10.5:amd64 -1 as a solution to
mariadb-server:amd64 0
MarkKeep mariadb-server:amd64 < 1:10.3.29-0+deb10u1 -> 1:10.5.10-2
@ii umU Ib > FU=0
Removing mariadb-server:amd64 rather than change mariadb-server-10.5:amd64
MarkDelete mariadb-server:amd64 < 1:10.3.29-0+deb10u1 | 1:10.5.10-2
@ii umH Ib > FU=0
Done
Calculating upgrade... Done
MarkDelete mariadb-client-10.5:amd64 < none -> 1:10.5.10-2 @un ugN > FU=0
MarkDelete mariadb-client-core-10.5:amd64 < none -> 1:10.5.10-2 @un ugN > FU=0
MarkDelete mariadb-server-core-10.5:amd64 < none -> 1:10.5.10-2 @un ugN > FU=0
The following packages were automatically installed and are no longer required:
bsdmainutils galera-3 geoip-database libaio1 libbind9-161
libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl
libdbd-mysql-perl libdbi-perl libdns1104 libdns1110
libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl
libgeoip1 libhtml-parser-perl libhtml-tagset-perl
libhtml-template-perl libhttp-date-perl libhttp-message-perl libicu63
libio-html-perl libisc1100 libisc1105 libisccc161 libisccfg163
liblwp-mediatypes-perl liblwres161 libmariadb3 libmpdec2 libperl5.28
libpython2-stdlib libpython3.7-minimal libpython3.7-stdlib
libreadline5 libreadline7 libsnappy1v5 libterm-readkey-perl
libtimedate-perl liburi-perl mariadb-common mysql-common python2
python2-minimal python3.7 python3.7-minimal rsync socat
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
libpython-stdlib mariadb-client-10.3 mariadb-client-core-10.3
mariadb-server mariadb-server-10.3 mariadb-server-core-10.3 python
python-minimal
The following packages will be upgraded:
galera-3 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
python2 python2-minimal python2.7 python2.7-minimal
8 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.
Need to get 4,856 kB of archives.
After this operation, 157 MB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.



--
Olaf
0 new messages