[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1014433: libqt5gui5 vs libqt5gui5-gles non-transition remnants



Hi Adam!

On Tue, Jul 05, 2022 at 10:43:19PM +0000, Adam Katz wrote:
> Package: libqt5gui5
> Version: 5.15.4+dfsg-3
>
> This builds on bug 919218, "non-transition: libqt5gui5-gles",
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919218
>
> There are still ~23 packages that are broken (forcibly uninstalled)
> in response to installing libqt5gui5-gles, 7 by omitting the OpenGL
> alternative and 16 by a dependency-listing bug.

For most of these packages, this means that they use symbols that exist only
in libqt5gui5 and not in libqt5gui5-gles, for example QOpenGLFunctions without
_ES2 suffix.

What you call "dependency-listing bug" is actually the way how symbols
dependencies work: if a package uses some symbols that exist in both versions,
and some symbols that exist only in one version, it will get an A | B
dependency for the first group of symbols and just A for the second group.

The way to make them compatible with both versions will be resolving the
OpenGL version and required functions at runtime, but it will usually mean a
major rewrite.

> As an alternative to fixing all of these packages, you could rename
> the current libqt5gui5 package as something like `libqt5gui5-nogles`
> and then create a new `libqt5gui5` package that simply depends on
> `libqt5gui5-nogles | libqt5gui5-gles`.

It will be wrong. If a package depends on just libqt5gui5, it won't run with
libqt5gui5-gles, even if you make the dependency satisfiable.

> The rest of this post is about identifying those 7+16 broken packages.
> [...]

I took a few packages from your lists and looked at them:

- elektra-qt-gui: FTBFS for many years so did not get the new dependency
- mldemos: FTBFS for several years so did not get the new dependency

- audacious-plugins: Uses QOpenGLFunctions_2_0
- cloudcompare: Uses QOpenGLFunctions_2_1
- colmap: Uses QOpenGLFunctions_3_2_Core

I believe most of the other packages will fall into one of these two
categories.

Also, if a package build-depends on libqt5opengl5-desktop-dev, it is a good
sign that it will work only with desktop OpenGL and not with OpenGL ES.

> PS: What's the preferred wrapping scheme in Debian bugs?
> I don't see a style guide beyond https://www.debian.org/Bugs/Reporting
> and that's likely because I'm not using reportbug.

I usually wrap at 78 characters, as recommended by RFC 2822.

--
Dmitry Shachnev

Attachment: signature.asc
Description: PGP signature


Reply to: