[MDEV-28628] Debian revision should not contain codename Created: 2022-05-19 Updated: 2023-01-26 Resolved: 2022-06-14 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Packaging, Platform Debian |
| Affects Version/s: | None |
| Fix Version/s: | 10.3.36, 10.4.26, 10.5.17, 10.6.9, 10.7.5, 10.8.4, 10.9.2 |
| Type: | Bug | Priority: | Critical |
| Reporter: | William Edwards | Assignee: | Tuukka Pasanen |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | debian, debian11, packaging | ||
| Environment: |
Debian Bullseye |
||
| Issue Links: |
|
||||||||
| 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:
I was confused at first, as the priority of the candidate is higher, and the epoch is unchanged, and the upstream version is unchanged:
A simulation also reported that apt would 'downgrade' to the same versions:
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:
'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. |
| Comments |
| Comment by Tuukka Pasanen [ 2022-05-20 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-05-20 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
> But this should be solved way or another as you are probably not the only one who is suffering this. Yes, I am surprised that I can't find any other reports. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Otto Kekäläinen [ 2022-05-25 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The `+maria` suffix is used to ensure that the package version is evaluated higher than the native Debian packages: Version 1:10.6.7+maria will upgrade/install on top of version 1:10.6.7-1. If you want to ensure that 1:10.6.7+maria for Bullseye will upgrade on top of 1:10.6.7+maria for Bullseye, change the name to something fixed and an increasing number: 1:10.6.7+mariadb~deb11 will upgrade/install on top of version 1:10.6.7+mariadb~deb10. The `+` has no other special meaning than being larger than `-`. Also `~` has no special meaning apart from being smaller than plus, minus or even nothing. The characters plus, minus and tilde are used often to avoid using dots and underscores, as they are often used in the package name or proper version. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-05-25 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I'm not sure if your comment is aimed at me. The package maintainers should fix this. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tuukka Pasanen [ 2022-05-27 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
wedwards Yes that meant for me mainly I think. otto after I read that Debian spec and Man page about this I got kind of idea that char '~' means upstream git build where it should contain GIT/Build revision. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Otto Kekäläinen [ 2022-05-30 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The char '~' does not mean upstream git build. You can have anything you want in the version strings, the only thing to consider is that lexical ordering the chars have. The tilde is special in that is it in lexical order before space/empty. Thus '1:10.6.7+mariadb~deb11' is newer than say '1:10.6.7+mariadb11u123456f'. Just use 'deb11' and 'deb10' instead of 'bullseye' and 'buster' and the problem in this Jira is solved. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tuukka Pasanen [ 2022-05-31 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Now revision is like: for Debian 11 is now: Ubuntu 22.04 is now: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tuukka Pasanen [ 2022-05-31 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
wedwards do you have capability to compile and test current new naming? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tuukka Pasanen [ 2022-05-31 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
wedwards It's currently for MariaDB 10.3 I can upgrade it for 10.6 if you need it | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-05-31 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tuukka Pasanen I will test your PR right now and report back. I think this should be fixed for all MariaDB versions that are available in the Bullseye repo: 10.9, 10.8, 10.7, 10.6, 10.5 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tuukka Pasanen [ 2022-05-31 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
After it goes to 10.3 it will be merged up | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-06-01 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tuukka Pasanen Please update your PR for MariaDB 10.6.8. I can test it then. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tuukka Pasanen [ 2022-06-01 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thank you for interest wedwards and please pull my Debian Salsa branch: There is also CI running If building with Docker or Debian 11 you might need:
there can be some dependencies that has to be added by hand which are not automaticly pull with mk-build-deps If build fails you can return to zero state:
I have problems without GITLAB_CI=1 and have to check why there is problem with Columnstore build in my Debian 11. Please ask if you encounter problem | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-06-01 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tuukka, thanks for the instructions. The packages were built successfully, but they are for 10.6.9, while I need 10.6.8 to reproduce the problem. I changed `MYSQL_VERSION_PATCH` from '9' to '8' in `VERSION`, hopefully that helps. It's building at the moment. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-06-01 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tuukka Pasanen I can confirm that the packages that end with `~deb11` are perceived as newer than the packages ending with `~buster`. Below is a transcript of a simulated upgrade from `10.6.8+maria~buster` to `10.6.8+maria~deb11`. apt does not attempt to downgrade any packages.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tuukka Pasanen [ 2022-06-02 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
wedwards thank you for testing this. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-06-03 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tuukka Pasanen Thanks for your quick fix. Is there any ETA for a merge? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tuukka Pasanen [ 2022-06-07 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hopefully soon.. If you want to get it in faster please review on GIthub. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-06-07 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tuukka Pasanen Hopefully someone more qualified will have time soon | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2022-06-14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks for the bug report wedwards. Thanks for the fix illuusio. Next version will be renamed in a debian/ubuntu aware order. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by William Edwards [ 2022-06-14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thank you all very much! |