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=0MarkInstall 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=0MarkDelete 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=0MarkInstall 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=0MarkInstall 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=0Holding 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 listBroken 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=0Fixing 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=0Holding 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=0Fixing 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 listBroken 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=0Fixing 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:amd64MarkKeep 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=0Fixing 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/1228561WARNING: 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 listBroken 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 listFixing 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 listFixing 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 listBroken 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 listFixing 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 listFixing 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
OpenPGP_signature
Description: OpenPGP digital signature