Regression: GNOME-specific interfaces not available in main

Bug #1957779 reported by Simon McVittie
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xdg-desktop-portal-gtk (Ubuntu)
Fix Released
High
Sebastien Bacher

Bug Description

Historically, xdg-desktop-portal-gtk had two roles:

* Generic GTK implementations of various interfaces, suitable for all GTK desktops (GNOME, XFCE, etc.) and also as a fallback implementation for desktops that do not have something more "native". Interfaces: Access, Account, AppChooser, Email, FileChooser, Inhibit, Lockdown, Notification, Print, Settings.

* GNOME-specific implementations of various interfaces, suitable for GNOME Shell only (and maaaaybe Budgie, but not XFCE, MATE or Cinnamon because they do not use gnome-settings-daemon or a libmutter-based compositor). Interfaces: Background, Remote Desktop, Screencast, Screenshot, Wallpaper.

In 1.10.0-2, these roles were separated:

* Generic GTK stuff is still in x-d-p-gtk

* GNOME-specific functionality has moved to x-d-p-gnome, a separate source package, which is installed by the gnome-core metapackage in Debian

In Ubuntu, x-d-p-gtk is in main but x-d-p-gnome is in universe (and presumably not installed by default). This means that users of Snap and Flatpak apps will not have access to the affected interfaces via xdg-desktop-portal any more, which is a regression, particularly if using native Wayland rather than X11.

There are two possible solutions to this:

1. Move x-d-p-gnome to main, and install it by default (in any installation that has GNOME Shell). GNOME upstream consider it to be part of a complete GNOME desktop. This is the long-term solution.

2. Patch x-d-p-gtk to reinstate the build-dependencies that were disabled in 1.10.0-2, and re-enable them in d/rules. This provides an older version of these interfaces, which is no longer routinely tested by upstream or Debian. This solution will probably stop working in a future release when these interfaces are removed completely.

I would recommend the first solution for Ubuntu 22.04 LTS.

I am probably going to use the second solution in Debian bullseye-backports, and if Ubuntu people want to maintain a backport of x-d-p-gtk to older suites like focal, it's probably the right thing to do for those too.

Tags: jammy
Revision history for this message
Simon McVittie (smcv) wrote :

As a side note, if the Ubuntu maintainers of the x-d-p family need to maintain a patched x-d-p or x-d-p-gtk, you're welcome to use `ubuntu/*` branches in its Debian git repository, similar to how the GNOME team handles their packages that need to be patched in Ubuntu. If this would be useful, please let me know who would need access.

Revision history for this message
Ken VanDine (ken-vandine) wrote :

Thanks for the report, the MIR is already in progress at https://bugs.launchpad.net/bugs/1953197

Changed in xdg-desktop-portal-gtk (Ubuntu):
assignee: nobody → Sebastien Bacher (seb128)
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks Simon. The MIR got accepted and xdg-desktop-portal-gnome added as a recommends of ubuntu-desktop now. Do you think we should also make gnome-shell Recommends the portal to increase the chance users who install GNOME the non standard way would still get it?

Changed in xdg-desktop-portal-gtk (Ubuntu):
importance: Undecided → High
status: New → Fix Committed
Revision history for this message
Simon McVittie (smcv) wrote :

The reason I didn't want to do that in Debian is that x-d-p-gnome Recommends gnome-shell, and circular Recommends prevent unused packages from being autoremoved.

In Debian, the gnome-core metapackage Depends on x-d-p-gnome. I think ubuntu-desktop pulling it in as a Recommends is also appropriate.

The only other place I can think of that might be appropriate to add it is to have gnome-session Recommends: x-d-p-gnome? That would probably be better to change in Debian and pick up from there, rather than having it be Ubuntu-specific.

Norbert (nrbrtx)
tags: added: jammy
Changed in xdg-desktop-portal-gtk (Ubuntu):
status: Fix Committed → 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.