[debian-mysql] Bug#1004262: 1004262 mariadb-server: Instead of being upgraded, mariadb-server gets removed after apt update

Paul Gevers elbrus at debian.org
Thu Jan 27 11:13:36 GMT 2022


Hi all,

I asked some feedback on IRC (#debian-devel) today.

<elbrus> DonKult: juliank: can either of you have a look at this apt 
output to see why apt seems to not find the desired solution: 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004262#10
<elbrus> mariadb-server not being removed would be a better solution 
than removing it
<elbrus> we tried to debug this in #debian-nl but ran out of knowledge
<juliank> elbrus: this is missing debugging information
<juliank> elbrus: this needs to be rerun with -o 
Debug::pkgProblemResolver=yes
<juliank> or attach an EDSP file
<elbrus> ack, I'll pass it on
<juliank> elbrus: they can use APT_EDSP_DUMP_FILENAME=<some path> and 
--solver dump to dump the state and request, then it is easily 
reproducible for everyone
<juliank> If needed, the upgrade can likely be eased using Conflicts: 
mariadb-server-10.5 from the mariadb-server package
<juliank> Things are tricky, but the basic is
<juliank> If A depends B, and B becomes unsatisfiable (because it's a 
versioned dep, for example), A will be removed
<juliank> Here we see that mariadb-server-10.6:amd64 was marked for 
keep, so not going to be installed, so mariadb-server (10.6) became 
uninstallable
<juliank> It would have been nice to rollback to previous version there, 
maybe
<juliank> but clearly there's a conflict somewhere which runs in 
pkgProblemResolver
<juliank> (In the above A depends B case, pkgProblemResolver might also 
chose to reinstate A and keep B satisfied)
<jochensp> I think it is reproducible in a chroot with unstable with apt 
install mariadb-server=1:10.5.12-1; apt full-upgrade
<juliank> I can try in a podman container
<juliank> jochensp: elbrus: I can reproduce, thanks jochensp
<juliank> https://paste.debian.net/1228561/
<juliank> Broken mariadb-client-10.6:amd64 Conflicts on 
virtual-mysql-client:amd64 < none @un H >
<juliank>   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-client-8.0 but that is not InstVer, ignoring
<juliank>   Considering mariadb-client-10.5:amd64 -1 as a solution to 
mariadb-client-10.6:amd64 -1
<juliank>   Holding Back mariadb-client-10.6:amd64 rather than change 
virtual-mysql-client:amd64
<juliank> full log: https://paste.debian.net/1228562/
<elbrus> Otto[m]: ^
<juliank> those conflicts between the versioned packages are just asking 
for trouble
<elbrus> juliank: are you OK if I copy/paste this into the bug report?
<juliank> elbrus: yeah
<juliank> Either do co-installable versioned packages, or don't version them
<juliank> like that works
<juliank> There are a lot of Breaks for mariadb upto 10.4
<juliank> but none for 10.5?
<juliank> in 10.6
<juliank> elbrus: This also seems to be a duplicate of bug 990922
<juliank> #990922
[zwiebelbot] Debian#990922: apt resolves differently than apt-get: 
mariadb-server dist-upgrade Buster to Bullseye fails - 
https://bugs.debian.org/990922
<juliank> elbrus: or similar
<juliank> we're a bit tired of mariadb packaging
<juliank> Really, the packages ought to install versioned file paths and 
binary names, and then the meta packages provide symlinks to whatever is 
default, like anything else does
<juliank> Also maybe apt should try to find a solution where it keeps 
all manually installed packages installed and only then try to remove 
some of them (well apt-get should)
<juliank> But that's hard
<juliank> well the fallback :D
<juliank> If we forbid the solver from removing manually installed 
packages automatically, then it likely would work
<juliank> but some people are like: I installed exim, now I install 
postfix, apt should remove exim for me
<juliank> I'd like apt to tell you "Can't install exim because postfix 
is installed"
<juliank> And then you have to go apt install postfix exim-
<juliank> yeah I swapped names :D
<juliank> if exim was automatically installed because you installed 
"smtp-meta-package" then by all means, apt install postfix would replace 
exim
<jcristau> seems better to just fix mariadb packaging
<elbrus> thanks


Copy/pasting the content of the two pastes to not loose them:

https://paste.debian.net/1228562/

WARNING: apt does not have a stable CLI interface. Use with caution in 
scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...  MarkInstall mariadb-server:amd64 < 1:10.5.12-1 
-> 1:10.6.5-2 @ii umU Ib > FU=0
     MarkInstall mariadb-server-10.6:amd64 < none -> 1:10.6.5-2 @un uN 
Ib > FU=0
       MarkInstall mariadb-client-10.6:amd64 < none -> 1:10.6.5-2 @un uN 
Ib > FU=0
         MarkInstall mariadb-client-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib > FU=0
         MarkDelete mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mK 
Ib > FU=0
       MarkDelete mariadb-client-10.5:amd64 < 1:10.5.12-1 @ii mK Ib > FU=0
       MarkInstall mariadb-server-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib > FU=0
         MarkInstall libnuma1:amd64 < none -> 2.0.14-3 @un uN > FU=0
         MarkInstall libpmem1:amd64 < none -> 1.11.1-3 @un uN Ib > FU=0
           MarkInstall libdaxctl1:amd64 < none -> 72.1-1+b1 @un uN Ib > FU=0
             MarkInstall libkmod2:amd64 < none -> 29-1 @un uN > FU=0
           MarkInstall libndctl6:amd64 < none -> 72.1-1+b1 @un uN > FU=0
         MarkInstall liburing2:amd64 < none -> 2.1-2 @un uN > FU=0
       MarkDelete mariadb-server-core-10.5:amd64 < 1:10.5.12-1 @ii mK Ib 
 > FU=0
     MarkDelete mariadb-server-10.5:amd64 < 1:10.5.12-1 @ii mK Ib > FU=0
   MarkInstall debconf:amd64 < 1.5.79 @ii mK NPb IPb > FU=0
   MarkInstall libgpg-error0:amd64 < 1.43-3 @ii mK NPb IPb > FU=0
     MarkKeep mariadb-server-core-10.5:amd64 < 1:10.5.12-1 @ii mR > FU=0
   MarkInstall libkrb5-3:amd64 < 1.18.3-7 @ii mK NPb IPb > FU=0
   MarkInstall libuuid1:amd64 < 2.37.3-1 -> 2.37.3-1+b1 @ii umU NPb IPb 
 > FU=0
   MarkInstall bash:amd64 < 5.1-6 @ii mK NPb IPb > FU=0
     MarkKeep mariadb-client-10.5:amd64 < 1:10.5.12-1 @ii mR > FU=0
   MarkInstall libc-bin:amd64 < 2.33-3 -> 2.33-5 @ii umU NPb IPb > FU=0
     MarkKeep mariadb-server-10.5:amd64 < 1:10.5.12-1 @ii mR > FU=0
     MarkKeep mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mR > FU=0
   MarkInstall bsdutils:amd64 < 1:2.37.3-1 -> 1:2.37.3-1+b1 @ii umU NPb 
IPb > FU=0
   MarkInstall e2fsprogs:amd64 < 1.46.5-2 @ii mK NPb IPb > FU=0
   MarkInstall passwd:amd64 < 1:4.8.1-2 @ii mK NPb IPb > FU=0
   MarkInstall bash:amd64 < 5.1-6 @ii mK NPb IPb > FU=0
Starting pkgProblemResolver with broken count: 8
Starting 2 pkgProblemResolver with broken count: 8
Investigating (0) mariadb-client-10.6:amd64 < none -> 1:10.6.5-2 @un uN Ib >
Broken mariadb-client-10.6:amd64 Conflicts on virtual-mysql-client:amd64 
< none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for mysql-client-8.0 
but that is not InstVer, ignoring
   Considering mariadb-client-10.5:amd64 -1 as a solution to 
mariadb-client-10.6:amd64 -1
   MarkKeep mariadb-client-10.6:amd64 < none -> 1:10.6.5-2 @un uN Ib > FU=0
   Holding Back mariadb-client-10.6:amd64 rather than change 
virtual-mysql-client:amd64
Investigating (0) mariadb-server-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib >
Broken mariadb-server-core-10.6:amd64 Conflicts on 
virtual-mysql-server-core:amd64 < none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-server-core-8.0 but that is not InstVer, ignoring
   Considering mariadb-server-core-10.5:amd64 -1 as a solution to 
mariadb-server-core-10.6:amd64 -1
   MarkKeep mariadb-server-core-10.6:amd64 < none -> 1:10.6.5-2 @un uN 
Ib > FU=0
   Holding Back mariadb-server-core-10.6:amd64 rather than change 
virtual-mysql-server-core:amd64
Investigating (0) mariadb-client-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib >
Broken mariadb-client-core-10.6:amd64 Conflicts on 
virtual-mysql-client-core:amd64 < none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-client-core-8.0 but that is not InstVer, ignoring
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
Broken mariadb-client-core-10.6:amd64 Breaks on 
mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mK Ib >
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
   MarkDelete mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mK Ib > FU=0
   Fixing mariadb-client-core-10.6:amd64 via remove of 
mariadb-client-core-10.5:amd64
   Fixing mariadb-client-core-10.6:amd64 via remove of 
mariadb-client-core-10.5:amd64
Investigating (0) mariadb-server-10.6:amd64 < none -> 1:10.6.5-2 @un uN Ib >
Broken mariadb-server-10.6:amd64 Depends on mariadb-client-10.6:amd64 < 
none | 1:10.6.5-2 @un uH > (>= 1:10.6.5-2)
   Considering mariadb-client-10.6:amd64 -1 as a solution to 
mariadb-server-10.6:amd64 -1
   MarkKeep mariadb-server-10.6:amd64 < none -> 1:10.6.5-2 @un uN Ib > FU=0
   Holding Back mariadb-server-10.6:amd64 rather than change 
mariadb-client-10.6:amd64
Investigating (1) mariadb-server:amd64 < 1:10.5.12-1 -> 1:10.6.5-2 @ii 
umU Ib >
Broken mariadb-server:amd64 Depends on mariadb-server-10.6:amd64 < none 
| 1:10.6.5-2 @un uH > (>= 1:10.6.5-2)
   Considering mariadb-server-10.6:amd64 -1 as a solution to 
mariadb-server:amd64 0
   MarkKeep mariadb-server:amd64 < 1:10.5.12-1 -> 1:10.6.5-2 @ii umU Ib 
 > FU=0
   Holding Back mariadb-server:amd64 rather than change 
mariadb-server-10.6:amd64
Investigating (1) mariadb-client-10.5:amd64 < 1:10.5.12-1 @ii mK Ib >
Broken mariadb-client-10.5:amd64 Depends on 
mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mR > (>= 1:10.5.12-1)
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-10.5:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
   MarkKeep mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mR > FU=0
   Fixing mariadb-client-10.5:amd64 via keep of 
mariadb-client-core-10.5:amd64
Investigating (1) mariadb-client-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib >
Broken mariadb-client-core-10.6:amd64 Conflicts on 
virtual-mysql-client-core:amd64 < none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-client-core-8.0 but that is not InstVer, ignoring
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
Broken mariadb-client-core-10.6:amd64 Breaks on 
mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mK Ib >
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
   MarkDelete mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mK Ib > FU=0
   Fixing mariadb-client-core-10.6:amd64 via remove of 
mariadb-client-core-10.5:amd64
   Fixing mariadb-client-core-10.6:amd64 via remove of 
mariadb-client-core-10.5:amd64
  Try to Re-Instate (2) mariadb-server:amd64
   MarkKeep mariadb-server:amd64 < 1:10.5.12-1 -> 1:10.6.5-2 @ii umU Ib 
 > FU=0
Investigating (2) mariadb-client-10.5:amd64 < 1:10.5.12-1 @ii mK Ib >
Broken mariadb-client-10.5:amd64 Depends on 
mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mR > (>= 1:10.5.12-1)
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-10.5:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
   MarkKeep mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mR > FU=0
   Fixing mariadb-client-10.5:amd64 via keep of 
mariadb-client-core-10.5:amd64
Investigating (2) mariadb-client-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib >
Broken mariadb-client-core-10.6:amd64 Conflicts on 
virtual-mysql-client-core:amd64 < none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-client-core-8.0 but that is not InstVer, ignoring
   Considering mariadb-client-core-10.5:amd64 -1 as a solution to 
mariadb-client-core-10.6:amd64 -1
   MarkKeep mariadb-client-core-10.6:amd64 < none -> 1:10.6.5-2 @un uN 
Ib > FU=0
   Holding Back mariadb-client-core-10.6:amd64 rather than change 
virtual-mysql-client-core:amd64
Done

   MarkDelete libdaxctl1:amd64 < none -> 72.1-1+b1 @un ugN > FU=0
   MarkDelete libkmod2:amd64 < none -> 29-1 @un ugN > FU=0
   MarkDelete libndctl6:amd64 < none -> 72.1-1+b1 @un ugN Ib > FU=0
   MarkDelete libnuma1:amd64 < none -> 2.0.14-3 @un ugN > FU=0
   MarkDelete libpmem1:amd64 < none -> 1.11.1-3 @un ugN Ib > FU=0
   MarkDelete liburing2:amd64 < none -> 2.1-2 @un ugN > FU=0
The following packages have been kept back:
   mariadb-server
The following packages will be upgraded:
   bsdutils libblkid1 libc-bin libc6 libgnutls30 libmount1 libsmartcols1
   libsystemd0 libudev1 libuuid1 mawk mount util-linux
13 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 7946 kB of archives.
After this operation, 1207 kB of additional disk space will be used.
Do you want to continue? [Y/n] N
Abort.



https://paste.debian.net/plain/1228561

WARNING: apt does not have a stable CLI interface. Use with caution in 
scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...Starting pkgProblemResolver with broken count: 8
Starting 2 pkgProblemResolver with broken count: 8
Investigating (0) mariadb-client-10.6:amd64 < none -> 1:10.6.5-2 @un uN Ib >
Broken mariadb-client-10.6:amd64 Conflicts on virtual-mysql-client:amd64 
< none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for mysql-client-8.0 
but that is not InstVer, ignoring
   Considering mariadb-client-10.5:amd64 -1 as a solution to 
mariadb-client-10.6:amd64 -1
   Holding Back mariadb-client-10.6:amd64 rather than change 
virtual-mysql-client:amd64
Investigating (0) mariadb-server-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib >
Broken mariadb-server-core-10.6:amd64 Conflicts on 
virtual-mysql-server-core:amd64 < none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-server-core-8.0 but that is not InstVer, ignoring
   Considering mariadb-server-core-10.5:amd64 -1 as a solution to 
mariadb-server-core-10.6:amd64 -1
   Holding Back mariadb-server-core-10.6:amd64 rather than change 
virtual-mysql-server-core:amd64
Investigating (0) mariadb-client-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib >
Broken mariadb-client-core-10.6:amd64 Conflicts on 
virtual-mysql-client-core:amd64 < none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-client-core-8.0 but that is not InstVer, ignoring
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
Broken mariadb-client-core-10.6:amd64 Breaks on 
mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mK Ib >
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
   Fixing mariadb-client-core-10.6:amd64 via remove of 
mariadb-client-core-10.5:amd64
   Fixing mariadb-client-core-10.6:amd64 via remove of 
mariadb-client-core-10.5:amd64
Investigating (0) mariadb-server-10.6:amd64 < none -> 1:10.6.5-2 @un uN Ib >
Broken mariadb-server-10.6:amd64 Depends on mariadb-client-10.6:amd64 < 
none | 1:10.6.5-2 @un uH > (>= 1:10.6.5-2)
   Considering mariadb-client-10.6:amd64 -1 as a solution to 
mariadb-server-10.6:amd64 -1
   Holding Back mariadb-server-10.6:amd64 rather than change 
mariadb-client-10.6:amd64
Investigating (1) mariadb-server:amd64 < 1:10.5.12-1 -> 1:10.6.5-2 @ii 
umU Ib >
Broken mariadb-server:amd64 Depends on mariadb-server-10.6:amd64 < none 
| 1:10.6.5-2 @un uH > (>= 1:10.6.5-2)
   Considering mariadb-server-10.6:amd64 -1 as a solution to 
mariadb-server:amd64 0
   Holding Back mariadb-server:amd64 rather than change 
mariadb-server-10.6:amd64
Investigating (1) mariadb-client-10.5:amd64 < 1:10.5.12-1 @ii mK Ib >
Broken mariadb-client-10.5:amd64 Depends on 
mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mR > (>= 1:10.5.12-1)
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-10.5:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
   Fixing mariadb-client-10.5:amd64 via keep of 
mariadb-client-core-10.5:amd64
Investigating (1) mariadb-client-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib >
Broken mariadb-client-core-10.6:amd64 Conflicts on 
virtual-mysql-client-core:amd64 < none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-client-core-8.0 but that is not InstVer, ignoring
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
Broken mariadb-client-core-10.6:amd64 Breaks on 
mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mK Ib >
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
   Fixing mariadb-client-core-10.6:amd64 via remove of 
mariadb-client-core-10.5:amd64
   Fixing mariadb-client-core-10.6:amd64 via remove of 
mariadb-client-core-10.5:amd64
  Try to Re-Instate (2) mariadb-server:amd64
Investigating (2) mariadb-client-10.5:amd64 < 1:10.5.12-1 @ii mK Ib >
Broken mariadb-client-10.5:amd64 Depends on 
mariadb-client-core-10.5:amd64 < 1:10.5.12-1 @ii mR > (>= 1:10.5.12-1)
   Considering mariadb-client-core-10.5:amd64 -2 as a solution to 
mariadb-client-10.5:amd64 -1
   Added mariadb-client-core-10.5:amd64 to the remove list
   Fixing mariadb-client-10.5:amd64 via keep of 
mariadb-client-core-10.5:amd64
Investigating (2) mariadb-client-core-10.6:amd64 < none -> 1:10.6.5-2 
@un uN Ib >
Broken mariadb-client-core-10.6:amd64 Conflicts on 
virtual-mysql-client-core:amd64 < none @un H >
   Conflicts//Breaks against version 8.0.23-3+b1 for 
mysql-client-core-8.0 but that is not InstVer, ignoring
   Considering mariadb-client-core-10.5:amd64 -1 as a solution to 
mariadb-client-core-10.6:amd64 -1
   Holding Back mariadb-client-core-10.6:amd64 rather than change 
virtual-mysql-client-core:amd64
Done

The following packages have been kept back:
   mariadb-server
The following packages will be upgraded:
   bsdutils libblkid1 libc-bin libc6 libgnutls30 libmount1 libsmartcols1
   libsystemd0 libudev1 libuuid1 mawk mount util-linux
13 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 7946 kB of archives.
After this operation, 1207 kB of additional disk space will be used.
Do you want to continue? [Y/n] N
Abort.


Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-mysql-maint/attachments/20220127/c27d71c4/attachment-0001.sig>


More information about the pkg-mysql-maint mailing list