#988547 apt: Apt seems to keep back galera-3 without reason

Package:
apt
Source:
apt
Description:
commandline package manager
Submitter:
Olaf van der Spek
Date:
2021-05-16 11:57:03 UTC
Severity:
minor
#988547#5
Date:
2021-05-15 11:27:43 UTC
From:
To:
Dear Maintainer,

Upgrading galera-3 appears to be possible without troubles according to  the second invocation, so shouldn't the first invocation just do that upgrade?

# apt upgrade
The following packages have been kept back:
  galera-3 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib mariadb-server python2 python2-minimal python2.7 python2.7-minimal
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

# apt upgrade galera-3
The following packages have been kept back:
  libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib mariadb-server python2 python2-minimal python2.7 python2.7-minimal
The following packages will be upgraded:
  galera-3
1 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Need to get 882 kB of archives.
After this operation, 308 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.

Greetings,

Olaf

#988547#10
Date:
2021-05-15 13:35:03 UTC
From:
To:
breaks a previously satisfied recommends or a new recommends can not
be installed – but it does install the new version if you force it
as you do in the second command.

Might also be a case of "A and B can not be done together, so I am not
doing either due to implementation reasons".

galera-3 does not seem to have recommends, but it wasn't updated for
6 months either and you haven't told us the versions involved, so
perhaps that's from a different repository…


Adding:
-o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgProblemResolver=1
Would probably shine some light on what happens why.

You could also attach your /var/lib/dpkg/status file to the bugreport.
The README has details on both which you might want to consult.


Best regards

David Kalnischkies

#988547#15
Date:
2021-05-15 13:57:28 UTC
From:
To:
Op za 15 mei 2021 om 15:35 schreef David Kalnischkies <david@kalnischkies.de>:

It is, I was testing a Debian 10 -> 11 upgrade.
See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988089
Debug::pkgDepCache::Marker=1 -o Debug::pkgProblemResolver=1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
   Delayed Removing: libpython-stdlib:amd64 as upgrade is not an
option for python2.7-minimal:amd64 (2.7.18-7)
   Delayed Removing: python:amd64 as upgrade is not an option for
python2.7-minimal:amd64 (2.7.18-7)
   Delayed Removing: python-minimal:amd64 as upgrade is not an option
for python2.7-minimal:amd64 (2.7.18-7)
  MarkInstall python2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7
@ii umU Ib > FU=0
  MarkDelete libpython-stdlib:amd64 < 2.7.16-1 @ii mK Ib > FU=0
  MarkDelete python:amd64 < 2.7.16-1 @ii mK Ib > FU=0
  MarkDelete python-minimal:amd64 < 2.7.16-1 @ii mK Ib > FU=0
  MarkInstall mariadb-server:amd64 < 1:10.3.27-0+deb10u1 -> 1:10.5.9-1
@ii umU Ib > FU=0
  Installing mariadb-server-10.5:amd64 as Depends of mariadb-server:amd64
     Delayed Removing: mariadb-server-10.3:amd64 as upgrade is not an
option for mariadb-server-10.5:amd64 (1:10.5.9-1)
     Delayed Removing: mariadb-server-10.3:amd64 as upgrade is not an
option for mariadb-server-10.5:amd64 (1:10.5.9-1)
    MarkInstall mariadb-server-10.5:amd64 < none -> 1:10.5.9-1 @un uN Ib > FU=0
    Installing galera-4:amd64 as Depends of mariadb-server-10.5:amd64
      MarkKeep galera-3:amd64 < 25.3.25-2 -> 25.3.31-2+b1 @ii umU > FU=0
       Delayed Removing: galera-3:amd64 as upgrade is not an option
for galera-4:amd64 (26.4.7-3)
       Delayed Removing: galera-3:amd64 as upgrade is not an option
for galera-4:amd64 (26.4.7-3)
      MarkInstall galera-4:amd64 < none -> 26.4.7-3 @un uN Ib > FU=0
      MarkDelete galera-3:amd64 < 25.3.25-2 | 25.3.31-2+b1 @ii umH Ib > FU=0
    Installing mariadb-client-10.5:amd64 as Depends of mariadb-server-10.5:amd64
       Delayed Removing: mariadb-client-10.3:amd64 as upgrade is not
an option for mariadb-client-10.5:amd64 (1:10.5.9-1)
       Delayed Removing: mariadb-client-10.3:amd64 as upgrade is not
an option for mariadb-client-10.5:amd64 (1:10.5.9-1)
       Delayed Removing: mariadb-client-core-10.3:amd64 as upgrade is
not an option for mariadb-client-10.5:amd64 (1:10.5.9-1)
      MarkInstall mariadb-client-10.5:amd64 < none -> 1:10.5.9-1 @un
uN Ib > FU=0
      Installing mariadb-client-core-10.5:amd64 as Depends of
mariadb-client-10.5:amd64
         Delayed Removing: mariadb-client-core-10.3:amd64 as upgrade
is not an option for mariadb-client-core-10.5:amd64 (1:10.5.9-1)
         Delayed Removing: mariadb-client-core-10.3:amd64 as upgrade
is not an option for mariadb-client-core-10.5:amd64 (1:10.5.9-1)
        MarkInstall mariadb-client-core-10.5:amd64 < none ->
1:10.5.9-1 @un uN Ib > FU=0
        MarkDelete mariadb-client-core-10.3:amd64 <
1:10.3.27-0+deb10u1 @ii mK Ib > FU=0
      MarkDelete mariadb-client-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii
mK Ib > FU=0
    Installing mariadb-server-core-10.5:amd64 as Depends of
mariadb-server-10.5:amd64
       Delayed Removing: mariadb-server-core-10.3:amd64 as upgrade is
not an option for mariadb-server-core-10.5:amd64 (1:10.5.9-1)
       Delayed Removing: mariadb-server-10.3:amd64 as upgrade is not
an option for mariadb-server-core-10.5:amd64 (1:10.5.9-1)
       Delayed Removing: mariadb-server-core-10.3:amd64 as upgrade is
not an option for mariadb-server-core-10.5:amd64 (1:10.5.9-1)
      MarkInstall mariadb-server-core-10.5:amd64 < none -> 1:10.5.9-1
@un uN Ib > FU=0
      MarkDelete mariadb-server-core-10.3:amd64 < 1:10.3.27-0+deb10u1
@ii mK Ib > FU=0
      MarkDelete mariadb-server-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii
mK Ib > FU=0
  MarkKeep python-minimal:amd64 < 2.7.16-1 @ii mR > FU=0
  MarkKeep galera-3:amd64 < 25.3.25-2 | 25.3.31-2+b1 @ii umR > FU=0
  MarkKeep libpython-stdlib:amd64 < 2.7.16-1 @ii mR > FU=0
  MarkKeep mariadb-server-core-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mR > FU=0
  MarkKeep mariadb-client-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mR > FU=0
  MarkKeep mariadb-server-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mR > FU=0
  MarkKeep python:amd64 < 2.7.16-1 @ii mR > FU=0
  MarkKeep mariadb-client-core-10.3:amd64 < 1:10.3.27-0+deb10u1 @ii mR > FU=0
Entering ResolveByKeep
  Dependencies are not satisfied for libpython2.7-minimal:amd64 <
2.7.16-2+deb10u1 -> 2.7.18-7 @ii umU Ib >
Keeping package libpython2.7-minimal:amd64
  MarkKeep libpython2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7
@ii umU Ib > FU=0
  Dependencies are not satisfied for libpython2.7-stdlib:amd64 <
2.7.16-2+deb10u1 -> 2.7.18-7 @ii umU Ib >
Keeping package libpython2.7-stdlib:amd64
  MarkKeep libpython2.7-stdlib:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7
@ii umU Ib > FU=0
  Dependencies are not satisfied for python2.7:amd64 <
2.7.16-2+deb10u1 -> 2.7.18-7 @ii umU Ib >
Keeping package python2.7:amd64
  MarkKeep python2.7:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7 @ii umU Ib > FU=0
  Dependencies are not satisfied for python2.7:amd64 <
2.7.16-2+deb10u1 | 2.7.18-7 @ii umH Ib >
Package python2.7:amd64 python2.7:amd64 Depends on
python2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7 @ii umU Ib > (=
2.7.16-2+deb10u1)
  Keeping Package python2.7-minimal:amd64 due to Depends
  MarkKeep python2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7 @ii
umU Ib > FU=0
  Dependencies are not satisfied for python2-minimal:amd64 < 2.7.16-1
-> 2.7.18-2 @ii umU Ib >
Keeping package python2-minimal:amd64
  MarkKeep python2-minimal:amd64 < 2.7.16-1 -> 2.7.18-2 @ii umU Ib > FU=0
  Dependencies are not satisfied for python2:amd64 < 2.7.16-1 ->
2.7.18-2 @ii umU Ib >
Keeping package python2:amd64
  MarkKeep python2:amd64 < 2.7.16-1 -> 2.7.18-2 @ii umU Ib > FU=0
  Dependencies are not satisfied for python2:amd64 < 2.7.16-1 |
2.7.18-2 @ii umH Ib >
Package python2:amd64 python2:amd64 Depends on libpython2-stdlib:amd64
< 2.7.16-1 -> 2.7.18-2 @ii umU Ib > (= 2.7.16-1)
  Keeping Package libpython2-stdlib:amd64 due to Depends
  MarkKeep libpython2-stdlib:amd64 < 2.7.16-1 -> 2.7.18-2 @ii umU Ib > FU=0
  Dependencies are not satisfied for mariadb-client-10.5:amd64 < none
-> 1:10.5.9-1 @un uN Ib >
Keeping package mariadb-client-10.5:amd64
  MarkKeep mariadb-client-10.5:amd64 < none -> 1:10.5.9-1 @un uN Ib > FU=0
  Dependencies are not satisfied for galera-4:amd64 < none -> 26.4.7-3
@un uN Ib >
Keeping package galera-4:amd64
  MarkKeep galera-4:amd64 < none -> 26.4.7-3 @un uN Ib > FU=0
  Dependencies are not satisfied for mariadb-client-core-10.5:amd64 <
none -> 1:10.5.9-1 @un uN Ib >
Keeping package mariadb-client-core-10.5:amd64
  MarkKeep mariadb-client-core-10.5:amd64 < none -> 1:10.5.9-1 @un uN Ib > FU=0
  Dependencies are not satisfied for mariadb-server-10.5:amd64 < none
-> 1:10.5.9-1 @un uN Ib >
Keeping package mariadb-server-10.5:amd64
  MarkKeep mariadb-server-10.5:amd64 < none -> 1:10.5.9-1 @un uN Ib > FU=0
  Dependencies are not satisfied for mariadb-server:amd64 <
1:10.3.27-0+deb10u1 -> 1:10.5.9-1 @ii umU Ib >
Keeping package mariadb-server:amd64
  MarkKeep mariadb-server:amd64 < 1:10.3.27-0+deb10u1 -> 1:10.5.9-1
@ii umU Ib > FU=0
  Dependencies are not satisfied for mariadb-server-core-10.5:amd64 <
none -> 1:10.5.9-1 @un uN Ib >
Keeping package mariadb-server-core-10.5:amd64
  MarkKeep mariadb-server-core-10.5:amd64 < none -> 1:10.5.9-1 @un uN Ib > FU=0
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  bsdmainutils geoip-database libbind9-161 libdns1104 libdns1110
libgeoip1 libicu63 libisc1100 libisc1105 libisccc161 libisccfg163
liblwres161 libmpdec2 libperl5.28 libpython3.7-minimal
  libpython3.7-stdlib python3.7 python3.7-minimal
Use 'apt autoremove' to remove them.
The following packages have been kept back:
  galera-3 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
mariadb-server python2 python2-minimal python2.7 python2.7-minimal
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

Sure

#988547#20
Date:
2021-05-15 16:10:03 UTC
From:
To:
Hi,

(Ahhh. The bugreport said it was testing/sid system, so I thought you
 were on it for a while already, not just upgraded from stable…)

So upgrading mariadb will bring you galera-4 which conflicts with
galera-3. Package removals are not allowed in 'upgrade' so this mariadb
upgrade will be reverted and you will get it in the next step with
a full-upgrade – which will remove galera-3.

So, yeah, apt could potentially figure out that it could upgrade
galera-3 in this setup as it can't do the mariadb upgrade, but in
practice this will just waste a bit of time and download bandwidth as
(upgraded or not) it will be removed in the next step.


I will leave this bug open as I have some ideas how to improve this code
area a bit in general, which might or might not work and might or might
not "solve" this (future me: pkgDepCache::Is{Install,Delete}Ok overload)
but that will be bookworm material.

In regards to the mariadb versioned packages and the potential for
upgrade problems they produce I had recently talked to its maintainer,
so I doubt that will change any time soon…
https://lists.debian.org/debian-devel/2021/03/msg00239.html


Best regards

David Kalnischkies

#988547#25
Date:
2021-05-16 11:55:39 UTC
From:
To:
Op za 15 mei 2021 om 18:10 schreef David Kalnischkies <david@kalnischkies.de>:
and remove mariadb 10.3, but it does NOT install mariadb 10.5:

# apt dist-upgrade
The following packages will be REMOVED:
  libpython-stdlib mariadb-client-10.3 mariadb-client-core-10.3
mariadb-server mariadb-server-10.3 mariadb-server-core-10.3 python
python-minimal
The following packages will be upgraded:
  galera-3 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
python2 python2-minimal python2.7 python2.7-minimal
8 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.

If it's okay with you I'd like to talk about that, but I think that'll
be for Debian 12.