Hi again David and all!

I want to ask for the help again.

We determined that the reason for users getting libqt5gui5-gles installed
is the qt5-default package. We removed it in October 2020 because it is no
longer needed. But the latest version of that package that ever existed had
this dependency:

  Depends: qtbase5-dev (= 5.14.2+dfsg-5) | qtbase5-gles-dev (>= 5.14.2+dfsg)

The latest available version of qtbase5-dev cannot satisfy that dependency,
but the latest version of qtbase5-gles-dev can!

So for people who had qt5-default installed, apt tries to replace the normal
Qt stack with -gles one to keep that dependency satisfied. It does so even
if it's going to remove qt5-default anyway!

As an attempt to solve this problem, I added "Breaks: qt5-default" to both
qtbase5-gles-dev and libqt5gui5-gles packages yesterday [2]. I thought this
would convince apt to not consider these packages as a way to satisfy
qt5-default dependency. But that did not work :(

I am attaching a log which was obtained as follows:

- Use sid snapshot from 2020-10-28 (a day before qt5-default was removed).
- Install qt5-default package.
- Change sources.list to use current sid.
- Upgrade apt to the latest version (just in case).
- Run "apt -o Debug::pkgProblemResolver=yes full-upgrade".

As can be seen in that log, apt still tries to remove libqt5gui5 and install
libqt5gui5-gles. If it did not do that, it would have to remove only one
package (qt5-default) and not three.

Can you please give me any advice on how to prevent apt from doing that?

[1]: 
https://tracker.debian.org/news/1187732/accepted-qtbase-opensource-src-5151dfsg-2-source-into-unstable/
[2]: 
https://tracker.debian.org/news/1241122/accepted-qtbase-opensource-src-gles-5152dfsg-4-source-into-unstable/

P.S. The suggestion from your last mail (see my quote below) did not work too.

On Sat, Jan 30, 2021 at 08:51:09PM +0300, Dmitry Shachnev wrote:
> Thanks for the suggestion! Having the reverse doesn’t hurt of course, so
> I have just added it in [1] and will include in the next upload. Let’s see
> if it makes things any better.
>
> [1]: https://salsa.debian.org/qt-kde-team/qt/qtbase/-/commit/4064bf01d808094d

--
Dmitry Shachnev
root@mitya57:/# apt -o Debug::pkgProblemResolver=yes full-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) qt5-default:amd64 < 5.14.2+dfsg-6 @ii mK Ib >
Broken qt5-default:amd64 Depends on qtbase5-dev:amd64 < 5.14.2+dfsg-6 -> 
5.15.2+dfsg-5 @ii umU > (= 5.14.2+dfsg-6)
  Considering qtbase5-dev:amd64 0 as a solution to qt5-default:amd64 -2
Broken qt5-default:amd64 Depends on qtbase5-gles-dev:amd64 < none | 
5.15.2+dfsg-4 @un uH > (>= 5.14.2+dfsg)
  Considering qtbase5-gles-dev:amd64 -1 as a solution to qt5-default:amd64 -2
  Try Installing qtbase5-gles-dev:amd64 < none | 5.15.2+dfsg-4 @un uH > before 
changing qt5-default:amd64
  Or group remove for qt5-default:amd64
Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  fontconfig fontconfig-config fonts-dejavu-core libavahi-client3 
libavahi-common-data libavahi-common3 libboost-iostreams1.67.0 
libboost-iostreams1.71.0 libboost-system1.67.0 libbrotli1 libbsd0 libcups2 
libcwidget3v5 libdbus-1-3
  libdouble-conversion3 libdrm-amdgpu1 libdrm-common libdrm-intel1 
libdrm-nouveau2 libdrm-radeon1 libdrm2 libedit2 libegl-dev libegl-mesa0 libegl1 
libelf1 libevdev2 libexpat1 libfontconfig1 libfreetype6 libgbm1 libgl-dev libgl1
  libgl1-mesa-dri libglapi-mesa libgles2 libglib2.0-0 libglu1-mesa 
libglu1-mesa-dev libglvnd0 libglx-dev libglx-mesa0 libglx0 libgraphite2-3 
libgudev-1.0-0 libharfbuzz0b libice6 libicu67 libinput-bin libinput10 
libjpeg62-turbo libllvm11
  libmd0 libmd4c0 libmtdev1 libnss-nis libnss-nisplus libpciaccess0 
libpcre2-16-0 libperl5.30 libpng16-16 libpthread-stubs0-dev libqt5concurrent5 
libqt5core5a libqt5dbus5 libqt5gui5-gles libqt5network5 libqt5printsupport5 
libqt5sql5
  libqt5test5 libqt5widgets5 libqt5xml5 libsensors-config libsensors5 libsm6 
libvulkan-dev libvulkan1 libwacom-common libwacom2 libwayland-client0 
libwayland-server0 libx11-6 libx11-data libx11-dev libx11-xcb1 libxau-dev 
libxau6
  libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-icccm4 libxcb-image0 
libxcb-keysyms1 libxcb-present0 libxcb-randr0 libxcb-render-util0 
libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util0 libxcb-util1 
libxcb-xfixes0
  libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb1 libxcb1-dev libxdamage1 
libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes3 libxkbcommon-x11-0 
libxkbcommon0 libxml2 libxrender1 libxshmfence1 libxxf86vm1 libz3-4
  perl-modules-5.30 qt5-qmake qt5-qmake-bin qtbase5-dev-tools qtchooser 
shared-mime-info ucf x11-common x11proto-core-dev x11proto-dev 
x11proto-xext-dev xkb-data xorg-sgml-doctools xtrans-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  libqt5gui5 qt5-default qtbase5-dev
The following NEW packages will be installed:
  libboost-iostreams1.74.0 libgles2 libisl23 libmd0 libperl5.32 libqt5gui5-gles 
libxcb-util1 libxrender1 perl-modules-5.32
The following packages will be upgraded:
  apt-transport-https aptitude aptitude-common base-files base-passwd bash 
binutils binutils-common binutils-x86-64-linux-gnu bsdutils build-essential 
ca-certificates cpp cpp-10 dash debconf debian-archive-keyring diffutils dpkg
  dpkg-dev e2fsprogs fdisk findutils g++ g++-10 gcc gcc-10 gcc-10-base 
gcc-9-base gpgv grep gzip init-system-helpers libacl1 libasan5 libasan6 
libatomic1 libattr1 libaudit-common libaudit1 libavahi-client3 
libavahi-common-data
  libavahi-common3 libbinutils libblkid1 libboost-iostreams1.71.0 libbrotli1 
libbsd0 libc-bin libc-dev-bin libc6 libc6-dev libcap-ng0 libcc1-0 libcom-err2 
libcrypt-dev libcrypt1 libctf-nobfd0 libctf0 libcups2 libdb5.3 libdbus-1-3
  libdebconfclient0 libdouble-conversion3 libdpkg-perl libdrm-amdgpu1 
libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libedit2 
libegl-mesa0 libelf1 libevdev2 libexpat1 libext2fs2 libfdisk1 libffi7 
libfreetype6 libgbm1
  libgcc-10-dev libgcc-s1 libgcrypt20 libgdbm-compat4 libgdbm6 libgl1-mesa-dri 
libglapi-mesa libglib2.0-0 libglx-mesa0 libgmp10 libgomp1 libgssapi-krb5-2 
libharfbuzz0b libhogweed6 libicu67 libidn2-0 libinput-bin libinput10 libitm1
  libjpeg62-turbo libk5crypto3 libkrb5-3 libkrb5support0 libllvm11 liblsan0 
liblz4-1 liblzma5 libmd4c0 libmount1 libncursesw6 libp11-kit0 libpam-modules 
libpam-modules-bin libpam-runtime libpam0g libpcre2-16-0 libpcre2-8-0
  libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5network5 libqt5printsupport5 
libqt5sql5 libqt5test5 libqt5widgets5 libqt5xml5 libquadmath0 libseccomp2 
libselinux1 libsemanage1 libsensors-config libsensors5 libsmartcols1 
libsqlite3-0
  libss2 libssl1.1 libstdc++-10-dev libstdc++6 libsystemd0 libtinfo6 
libtirpc-common libtirpc-dev libtirpc3 libtsan0 libubsan1 libudev1 libuuid1 
libvulkan-dev libvulkan1 libwacom-common libwacom2 libwayland-client0 
libwayland-server0
  libx11-6 libx11-data libx11-dev libx11-xcb1 libxapian30 libxau-dev libxau6 
libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-image0 libxcb-present0 
libxcb-randr0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 
libxcb-xfixes0
  libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb1 libxcb1-dev libxext-dev 
libxext6 libxkbcommon-x11-0 libxkbcommon0 libxml2 libz3-4 libzstd1 
linux-libc-dev logsave make mount nano ncurses-base ncurses-bin openssl patch 
perl
  perl-base qt5-qmake qt5-qmake-bin qtbase5-dev-tools sensible-utils 
sysvinit-utils tar tzdata util-linux x11-common xorg-sgml-doctools xz-utils
206 upgraded, 9 newly installed, 3 to remove and 0 not upgraded.
Need to get 4685 kB/167 MB of archives.
After this operation, 47.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] 

Attachment: signature.asc
Description: PGP signature

Reply via email to