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 the Community Hub (this site).
We also have our weekly meeting on IRC. We meet on Tuesday at 13:30 UTC in #ubuntu-desktop on Freenode. There will be an “Any Other Business” section at the end where you are welcome to raise topics. These topics might be discussed during the meeting, or afterwards depending on the time, depth of conversation, topic and so on.
The GJS fix for gnome-shell CPU usage is now available for testing in bionic proposed. Strange I can’t seem to reproduce the bug in bionic but that’s not a bad thing.
rls: Poked a bit more at the rls bug that I’d been assigned. I’m relatively certain it’s a dnsmasq bug. Forwarded upstream (before the holidays), and poked at it some more this week. We’d identified a commit that included the probable bug, and juliank reverted it - so the bug is “fixed” for disco.
Some babysitting of autopkgtest required - identified that openjdk-lts was killing it because it was dumping gigs into the artifacts directory. Reported that to tdaitx and blacklisted for now.
edit: I forgot about this fix - we were sometimes not downloading the right versions of packages to test, a bug which I debugged and fixed.
Helped yaru team (thanks guys) release a new version to disco.
The buildstream package is now in Debian and Ubuntu. It’s the tool the GNOME Release Team uses to make GNOME releases. (You’ll probably want to keep using jhbuild since buildstream is still a bit slow for active development. GNOME Builder’s Flatpak build thing is fairly fast too.)
Packaged bst-external (in NEW queue), an addon package for buildstream used by GNOME.
Packaged gtk 3.24.3. I plan to SRU this to Ubuntu 18.10.
Helped the Debian maintainer with the libical3 packaging update.
Merged the mono 5 update to disco.
Added the new dh-*-sequence provides to gobject-introspection, scour, gnome-pkg-tools (uploading this week), cli-common (pending NMU), and dh-python (merge request).
Cherry-picked my accessibility fixes for gnome-control-center to Debian Buster. There are still some significant accessibility issues.
Sponsored several font tools uploads.
Did the rebuilds for the exempi transition.
Tested the latest Yaru update and reported the missing dark theme (fixed in git now)
Debian is now in the first stage of its freeze in preparation for the Debian 10 “Buster” release in a few months.
GNOME
Did GNOME releases for gedit-plugins (3.31.4), gnome-mahjongg (3.31.4), and gnome-settings-daemon (3.30.2).
Converted several more GNOME packages away from intltool (accerciser, gnome-klotski, gnome-robots, gnome-user-share [merge proposal], gnome-video-effects [merge proposal], mousetweaks, quadrapassel, totem, yelp-xsl [merge proposal])
Finished the conversion of gedit to meson.
Stopped using intltool in gedit-plugins. intltool has a bug where it broke translations when built in parallel which affects apps with multiple .desktop or plugin files like this one. Sadly, intltool is unmaintained so even though there are patches to fix some of its bugs, there is no one to do a release. I contacted the only person on the Launchpad intltool team to see about getting a release done or adding someone else to the team. I haven’t heard back. Maybe we’ll eventually want to ask the Launchpad admins to allow us to have access.
Converted some GNOME packages to meson (gnome-klotski, gnome-video-effects [merge proposal], quadrapassel)
Moved gnome-klotski’s game assets into its gresource file.
Forwarded a cross-building patch to gnome-disk-utility.
Added gedit back to GNOME Continuous, a sort of CI for core GNOME that pre-dates GNOME Gitlab.
Removed rhythmbox’s Mozilla plugin (it was used to handle iTunes links) since it’s no longer compatible with major supported browsers.
Assisted the GNOME docs team in rebasing the Mallard rewrite commits for Totem.
I got PR #6316 to a state where it is reliably passing in CI, so have asked for a review.
The PR covers the following APIs:
FileChooser (open and save files, verifying access through the document portal)
OpenURI (both opening local files in associated applications, and URLs in browser)
Screenshot (take screenshot, deliver payload via document portal)
All tests are using the real xdg-desktop-portal and xdg-document-portal with a custom UI service to allow to run headless.
GLib support for OpenURI.OpenFile portal API:
Last year while working on portals, I discovered a problem in the way it was using file descriptor passing to prove access to files: it required O_PATH descriptors, but you can easily create such descriptors for inaccessible files. A fix was made on the xdg-desktop-portal side with a compatibility carve out for flatpak.
Ken discovered that opening local files from snap apps, which led me to find that the corresponding GLib side change hadn’t been made.
Submitted MR !585 to handle this, which fixed the problem for the portal-test snap.
Inhibit portal API:
The inhibit feature doesn’t seem to work from portal-test. I’ve been investigating, but haven’t tracked down the exact cause yet. The code in GTK seems to contact the portal API only after a failure to contact org.gnome.SessionManager. I suspect it is hitting some other error condition that causes it to skip the portal fallback.
cups-filters: With the new QPDF version I have now switched the flattening on interactive PDF forms and annotations (integgrating the data into the PDF pages as static part so that it gets printed) is done by pdftopdf itself and not by external utilities removing an important slowdown factor from the print filtering process. The QPDF work for this was started years ago in a GSoC and got finally completed these days.
Google Summer of Code 2019: Set up the project ideas pages for the Linux Foundation and preparing the mentoring organization application for submission today