qtbase5-private-dev does not install private headers for QtWayland

Bug #1862987 reported by Aidan Harris
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qtwayland-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Trying to build QGNOMEPlatform (https://github.com/FedoraQt/QGnomePlatform/releases) fails with the following error message:

Project ERROR: Unknown module(s) in QT: waylandclient-private

Running `dpkg -L qtbase5-private-dev | grep -i wayland` shows nothing, running `apt-file search /usr/include/x86_64-linux-gnu/qt5/QtWaylandClient/5.12.5/QtWaylandClient/private` also returns nothing.

I also tried installing qtbase5-private-dev in a Debian container and they have the same issue so it may be worth notifying them if you fix this.

Tags: patch
Revision history for this message
Aidan Harris (aidanharris) wrote :

Upon further inspection I think qtwayland-opensource-src is the package this bug should be filed against.

affects: qtbase-opensource-src (Ubuntu) → qtwayland-opensource-src (Ubuntu)
Revision history for this message
Aidan Harris (aidanharris) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "qtwayland-opensource-src-package-qtwayland-private-headers-as-qtwayland5-private-dev-package.diff" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Dmitry Shachnev (mitya57) wrote :

We usually ship private headers only when other parts of Qt need them.

The reason for this is that private ABI is not stable, and there can be ABI breaks with every new release. We need to track this (using virtual packages like qtfoo-abi-5-x-y), and rebuild all packages that use the private headers. Some of these packages fail to build, and we have to debug this (QGnomePlatform is not an exception [1]). This is extra work, and we (the Qt maintainers) already have very limited manpower.

Unless you are going to package QGnomePlatform for Debian/Ubuntu, I would prefer not to add these headers.

But then there is another question: is QGnomePlatform really needed? Qt 5.9 and newer already takes many GTK settings into account [2], and more can be added if needed. Or you need QGnomePlatform for window decorations on Wayland?

[1]: https://github.com/FedoraQt/QGnomePlatform/commit/92efdb9cfe044b4c
[2]: https://code.qt.io/cgit/qt/qtbase.git/commit/?id=57b0f54bb6876095

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Dmitry,

I am right now attempting to package QGnomePlatform for Ubuntu and ran into this issue. I would say it's *absolutely* needed for Qt to be able to draw on Wayland *and* to use gtk3 theming at all. This is very easy to reproduce: simply run a Qt application in Ubuntu (default Yaru theme) and it will default to the Fusion widget set. This can be mitigated with qt-style-plugins and using QT_QPA_PLATFORMTHEME="gtk2", but this is not the default and requires extra work for the user. My philosophy is to always make things easier for the end user that doesn't have any technical expertise.

You'll notice that if you switch to Wayland, even with the environment variable set, there is no way to get Qt applications in Wayland to actually use anything other than Fusion. Fedora has figured this out by using QGnomePlatform; the experience is seamless out-of-the-box.

The reality is that eventually this will need to be done, so why not just do it?

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

As we discussed on IRC, I will add private headers with Qt 5.15 packages later this cycle.

In the mean time using qt5-gtk-platformtheme + adwaita-qt should make Qt apps look better in GNOME environment.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtwayland-opensource-src - 5.15.1-3

---------------
qtwayland-opensource-src (5.15.1-3) unstable; urgency=medium

  * Upload to unstable.

 -- Dmitry Shachnev <email address hidden> Wed, 28 Oct 2020 21:54:20 +0300

Changed in qtwayland-opensource-src (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.