Details
Description
Created in Jira due to https://lists.launchpad.net/maria-discuss/msg06221.html
I'm attempting to upgrade a machine with MariaDB 10.6 from Buster to Bullseye using the official MariaDB repo.
I was surprised to see that apt wanted to downgrade a few packages:
$ apt upgrade --without-new-pkgs |
The following packages will be DOWNGRADED:
|
libmariadb-dev libmariadb-dev-compat libmariadb3 mysql-common
|
I was confused at first, as the priority of the candidate is higher, and the epoch is unchanged, and the upstream version is unchanged:
$ apt policy mysql-common
|
mysql-common:
|
Installed: 1:10.6.7+maria~buster |
Candidate: 1:10.6.7+maria~bullseye |
Version table:
|
*** 1:10.6.7+maria~buster 100 |
100 /var/lib/dpkg/status |
1:10.6.7+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main arm64 Packages
|
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main ppc64el Packages
|
1:10.6.5+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main arm64 Packages
|
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main ppc64el Packages
|
1:10.6.4+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main arm64 Packages
|
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main ppc64el Packages
|
5.8+1.0.7 500 |
500 http://debmirror.tuxis.nl/debian bullseye/main amd64 |
Packages
|
$ apt policy libmariadb3
|
libmariadb3:
|
Installed: 1:10.6.7+maria~buster |
Candidate: 1:10.6.7+maria~bullseye |
Version table:
|
*** 1:10.6.7+maria~buster 100 |
100 /var/lib/dpkg/status |
1:10.6.7+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.6.5+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.6.4+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.5.15-0+deb11u1 500 |
500 http://debmirror.tuxis.nl/debian bullseye/main amd64 |
Packages
|
$ apt policy libmariadb-dev-compat
|
libmariadb-dev-compat:
|
Installed: 1:10.6.7+maria~buster |
Candidate: 1:10.6.7+maria~bullseye |
Version table:
|
*** 1:10.6.7+maria~buster 100 |
100 /var/lib/dpkg/status |
1:10.6.7+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.6.5+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.6.4+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.5.15-0+deb11u1 500 |
500 http://debmirror.tuxis.nl/debian bullseye/main amd64 |
Packages
|
$ apt policy libmariadb-dev
|
libmariadb-dev:
|
Installed: 1:10.6.7+maria~buster |
Candidate: 1:10.6.7+maria~bullseye |
Version table:
|
*** 1:10.6.7+maria~buster 100 |
100 /var/lib/dpkg/status |
1:10.6.7+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.6.5+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.6.4+maria~bullseye 1000 |
1000 |
http://ams2.mirrors.digitalocean.com/mariadb/repo/10.6/debian |
bullseye/main amd64 Packages
|
1:10.5.15-0+deb11u1 500 |
500 http://debmirror.tuxis.nl/debian bullseye/main amd64 |
Packages
|
A simulation also reported that apt would 'downgrade' to the same versions:
$ apt upgrade --without-new-pkgs -s |
Inst libmariadb-dev [1:10.6.7+maria~buster] (1:10.6.7+maria~bullseye |
MariaDB:ams2.mirrors.digitalocean.com [amd64]) []
|
Inst libmariadb-dev-compat [1:10.6.7+maria~buster] |
(1:10.6.7+maria~bullseye MariaDB:ams2.mirrors.digitalocean.com [amd64]) |
[]
|
Inst libmariadb3 [1:10.6.7+maria~buster] (1:10.6.7+maria~bullseye |
MariaDB:ams2.mirrors.digitalocean.com [amd64])
|
Inst mysql-common [1:10.6.7+maria~buster] (1:10.6.7+maria~bullseye |
MariaDB:ams2.mirrors.digitalocean.com [all])
|
Some folks on IRC pointed me to the fact that the Debian revision has been updated from `maria~buster` to `maria~bullseye`. The documentation at https://www.debian.org/doc/debian-policy/ch-controlfields.html#special-version-conventions says:
The lexical comparison is a comparison of ASCII values modified so that all the letters sort earlier than all the non-letters and so that a tilde sorts before anything, even the end of a part.
'bul' comes before 'bus', so the package for Bullseye is perceived as older, despite it being the same effective upstream version...
According to https://www.debian.org/doc/debian-policy/ch-controlfields.html#special-version-conventions, the Debian revision should NOT contain the Debian release codename. This problem will re-appear with Bookworm.
Attachments
Issue Links
- causes
-
MDEV-30478 Galera package naming is broken: same name for all debs
-
- Closed
-
Thanks for pointing this out and yes lexical comparison if it's done that way will have results as you noted as thought if it's calculated whole bullseye should be greater than buster as just dummy calculating it's whole in ascii it's bigger without thinking lexical stuff.
But this should be solved way or another as you are probably not the only one who is suffering this.