There is a bug in the way perconna name the packages version. As you know a version is alphabeticaly sorted.
The problem arise when you add the distribution name in the version field
5.7.31-34-1.stretch and not 5.7.31-34-1.9
then an apt-get dist-upgrade will refuse to upgrade the package because
5.7.31-34-1.buster is LOWER than 5.7.31-34-1.stetch
Debian use -deb-ux for debian release x
The version should not have the name of the debian because it is not alphabetical and lead to issues i think. If you really want the version you should put the number the same way debian does -debu not the name, dont you think ?
best regards,
Ghislain.
error is:
The following packages have unmet dependencies:
percona-server-server-5.7 : PreDepends: percona-server-common-5.7 (= 5.7.31-34-1.buster) but 5.7.31-34-1.stretch is to be installed
Depends: percona-server-client-5.7 (= 5.7.31-34-1.buster) but 5.7.31-34-1.stretch is to be installed
E: Unable to correct problems, you have held broken packages.
I dont think i can use your solution because a lot of package have mysql in dependency, if i remove the peronna package and upgrade my debian it will install mariadb and screw my schema all over preventing me to put it back later.
i learned that if you put a tilde ~ everything after the tilde is ignored. So you can just prefix the distrib name by a tilde and this will be interpreted correctly by the system.
so
5.7.31-34-1.stretch
become
5.7.31-34-1~stretch
in the version and the debian package system will see this is the same version number as 5.7.31-34-1~buster and not block on a DOWNGRADE error.
i see the bug in jira is closed because nothing has been done and debian9 is not supported anymore but the bug exist in all version of debian and buster > bullseye so we have the exact same problem upgrading from debian stretch to buster and buster to bullseye. Same issue here.