← Back to team overview

maria-discuss team mailing list archive

Debian revision should not contain codename

 

Hi,

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 following 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.

Could the package maintainer(s) attend to this?

--
With kind regards,

William Edwards



Follow ups