[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