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

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to