Hi everyone, below you will find the updates from the Desktop team from the last week. If you’re interested in discussing a topic please start a thread in the Desktop area of Discourse .
Requested that the Debian GNOME 43 status tracker be enabled. The upstream part of the tracker only gets updated when there’s a new point release so it’s currently tracking GNOME 43 Alpha. GNOME 43 Beta is expected next week.
Tested the OEM install for the Ubuntu Desktop candidate 22.04.1 release. The final step of the test case was to make sure Firefox worked. Except that it didn’t. And this was a serious enough issue that it was decided to delay the release. I encourage you to do ISO testing. Anyone could have discovered that bug but I was apparently the first to do that particular manual test for the Ubuntu 22.04.1 candidate. (The bug didn’t affect the original Ubuntu 22.04 release.) If we had done this test sooner, perhaps there would have been time to fix the issue and keep the original proposed release date.
libsoup3
My epic challenge this month is the mega GNOME Core 43 libsoup2 to libsoup3 transition. I believe it affects all the libraries on this tracker . The tracker is incomplete because it doesn’t show everything using those libraries. The transition is entangled because apps and libraries depend on multiple affected libraries.
libsoup2.4 will still be in Debian and Ubuntu for a while. Here’s a bigger tracker for it. The mega transition is because we aren’t going to have 2 versions of evolution-data-server around simultaneously so everything using it has to migrate now. (There are other similar libraries and services but that’s an easy example.)
Uploaded libpanel to Debian NEW, a new required dependency for the GTK4 version of GNOME Builder 43.
Uploaded evolution-data-server 3.45.2 and geocode-glib to Debian NEW (experimental)
Decided to keep using gcr 3 for now to slightly simplify the mega transition
Pushed tracker 3.3 to Debian Testing as a prerequisite for the mega transition
Requested that Debian and Ubuntu’s ostree and flatpak use the libcurl implementation instead of libsoup2.4 as another prerequisite
Filed a removal bug for empathy because no one is maintaining it and the deb package won’t work after the transition.
Let Cinnamon know that the big libsoup3 transition is happening in distros soon and they’re affected because they use evolution-data-server
5 different extensions that make use of native messaging were successfully tested by several users
the initial prompt for permission is too easy to accidentally dismiss, and changing that permission requires the use of a CLI tool that isn’t even installed by default, so we will need a UI for this
of interest is the fact that with some minor tricks we managed to make the communication between the Firefox snap and the KeePassXC native host work when the latter is installed as a deb, as a snap, and as an AppImage
Reviewed PR 259 with some interesting refactorings.
Modified the Build WSL CI workflow to collect and store the debug symbols for the applications that are bundled into the WSL apps. PR’s 260, 263, WSL Splash/27 and UDI/1036
Tested candidate images and app builds for 22.04.1
Progressed mandatory compliance trainings until 58%.
CUPS Snap/snapd: Waiting for our app snappers (@hellsworth, @nteodosio, @oSoMoN, @SergioCostas, @kenvandine …) to switch over Snaps of applications with print functionality from using the cups-control interface to the cups interface. Also needed for Snaps which print via the xdg-desktop-portal, as the portal is not necessarily available on all desktops and all distros. The switchover is very important to the the cups interface tested.
cups-filters:Completed the restructuring for the cups-filters 2.x release, having replaced direct PPD file access in the filter functions by converting PPD options and attributes to IPP printer attributes and control options in the ppdFilterLoadPPD() function (which calls ppdLoadAttributes()) in libppd. Now libcupsfilters does not depend on libppd any more, but instead, libppd depends on libcupsfilters. In addition, I succeeded to simplify the restructuring by not needing wrapper filter function in libppd for each filter function in libcupsfilters. Such wrappers are now only used for a few filter functions which need some special handling of the PPD file. With this we can split the cups-filters repository into libcupsfilters (filter functions), libppd (PPD file and PostScript output support), and cups-filters-legacy (filters for CUPS 2.x) and do not need to maintain PPD support code for distros any more. Note that there is not enough time any more to get cups-filters 2.x into Kinetic, as the splitting will need MIRs and they are hard to get accepted in time. Update: Changes finally committed, and also the adaptations in pappl-retrofit!
pappl-retrofit: Changed the printer driver retro-fit library appropriate to the API changes of libcupsfilters and libppd after the restructuring. Started testing and debugging.
GTK Print Dialog/CPDB: As part of the GSoC project about support for the Common Print Dialog Backends (CPDB) in proint dialogs CPDB support got added to the GTK print dialog! A merge request got posted. I will also release new versions of cpdb-libs and cpdb-backend-cups in the next days as there also several changes have happened to make this work. Thanks a lot to GSoC contributor Gaurav Guleria!
Snap: In preparation for the planned Snap Tutorial Day on the Ubuntu Summit discussed with @ilvipero, @jjohansen, @ogra, @SergioCostas, @sergiusens, @kenvandine how well the Snap confinement works on non-Ubuntu distros. Problems are that Red Hat uses SELinux which does not allow using AppArmor at the same time. So @ilvipero suggested to focus on AppArmor distros like for example SUSE. Here the remaining problem is the upstreamization of the Ubuntu patches for AppArmor and the kernel, especially the acceptance into the kernel.
Ubuntu Summit 2022: Further participation in the organization, especially the planned sessions.
Linux Plumbers Conference 2022 and Open Source Summit Europe 2022 in Dublin: Made all travel arrangements, not really easy as on both adjacent weekends there are big concerts attracting lots of visitors, ended up with staying in 3 different hotels during the conference week!
Google Summer of Code 2022: Continued mentoring the 7 contributors for OpenPrinting. Usual online chats on Telegram and video meetings.
Submit fix upstream for pam helper (https://github.com/msteinert/pam/pull/5) with a way to not depend on latest PAM (optionally looking up for the C symbol availability)
Reviewed CI PR on GH action
Reviewed packaging PR
Helped Denison and reviews on some fixes (config, testing) and debug.
Debug with the team cgo and mentoring/presenting the code layout
Connected to the GNOME matrix server on the element-desktop snap after debugging the wrong snap (element-client) for a while. It led to a store request to hide this broken snap
Had a strange issue with my gitlab.gnome.org login and got that resolved with the administrators
Continued the effort to resolve high zoom factor issues for a user on 22.04/Libreoffice using zoom factor 6.0. I believe he has a known gnome-shell issue so chimed in to revive it a bit. Thanks @vanvugt for helping prioritize this issue (internal jira link) for our visually impaired users!!
Finished the “Calling All Themes” blog post (internal google doc link). Snapped a couple more themes (Dracula and Windows 10) to add some examples.
Release ISO testing. Filed a couple of bugs. One was just user error and the other is real but very minor