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.
Reviewed and repeatedly reprofiled high CPU usage from cursor movement to verify the existing fixes work and are functionally complete. Although I now see people don’t like them so this will require more time again later to push over the line.
With GNOME Design Team approval, I removed the Sundry menu and released gnome-menus 3.31.4.
My Keyboard Shortcuts overlay addition was merged into Aisleriot upstream.
I uploaded the policykit security fix for CVE-2019-6133 to Debian and Ubuntu 19.04 and discussed it with the Ubuntu Security team.
I split zeitgeist plugin out of totem so that we could finally drop zeitgeist from our default install (but Unity can still use that support for now).
Our remaining diff compared to Debian’s totem are the Desktop Actions. I sponsored a fix for our Desktop Actions and SRU’d it to 18.04 LTS and 18.10. I also proposed part of the fix upstream. Upstream would rather have dynamic desktop actions in GNOME Shell powered by MPRIS for these actions. So that’s something we could work on. Users would benefit by only seeing the Pause action when the app is actually running and playing a song or video.
I added AppStream metadata and .libretro files to a half dozen more libretro cores in Ubuntu so that they can be easily used by the GNOME Games app. I started work on SRUing these improvements and getting them into Debian Buster.
I made contact with the intltool maintainer. I intend to work with him to get a new intltool release out soon to include patches that distros have been accumulating.
I fixed the gsettings-desktop-schemas pkgconfig file after someone else converted the project to meson.
I packaged gtk 3.24.4 and prepared its SRU for Ubuntu 18.10.
I updated our GNOME Settings Network Connectivity Switch patch for 3.32 and turned it into a merge proposal.
Helping
I reviewed merge proposals upstream for gedit, gnome-menus, gnome-tweaks, yelp, and several GNOME games.
I reviewed a complex debian/copyright merge proposal for gnome-keyring.
I assisted with the gnome-disk-utility merge proposal for the GNOME 3.32 menu recommendations.
I advised the Deja Dup maintainer on the move of its releases from Launchpad to GNOME Gitlab.
I offered to help the gnome-shell maintainer do a 3.28.4 release, but it looks like we’re going to need to do our own “git snapshot” instead for Ubuntu 18.04.2.
I helped get packages through the autopkgtest queue
I helped a bit with using embedded libhandy for gnome-control-center 3.32 (since that’s what we’ll likely be shipping for Ubuntu 19.04)
To Discuss
The latest xdg-desktop-portal depends on libflatpak (part of the flapak source) which depends on ostree. Maybe we can talk upstream into reverting that new dependency because getting the MIRs done is a lot of work for the Security team.
The queues got to over 4000 per arch at once point
The controller started dying under the IO load. What happens is when a test needs to make a new testbed, the state of the test directory is copied to the controller and then restored back once the new one is provisioned. When this is happening for many large tests in parallel (e.g. libreoffice, KDE), this causes a lot of IO on the host. To cope with this I reduced our capacity by about 90%, so that there were fewer concurrent tests running. Once the big ones were out of the way I was able to scale back up. This required some close watching of the machine.
We talked about how to make the controller scale in a cloudy way, and filed a card outlining the work. Maybe it’ll even get done.
i386 is failing to reboot sometimes - investigated that a bit and passed on to the kernel team
amd64 was broken in disco-proposed yesterday due to a klibc upload. Took a while to get to the point of being able to identify that (we weren’t reporting the failures properly to the web UI / proposed-migration).
Asked debian-gnome if we can update to 3.34 in experimental, nobody said no so will be doing that.
Some reviews of mutter/gnome-shell stuff for Marco
Updated glib to 2.59, seems that release is slightly buggy so we removed it from disco-proposed for now (e.g. GNOME/glib#1659 which I’ll keep looking at next after autopkgtest).
I don’t have any rls bugs at the minute but we need to get dnsmasq to migrate.
cups-filters: Released 1.22.0, mainly for the QPDF-based PDF form flattening in the pdftopdf filter (to get quicker printing of PDFs with forms) but also for a crash fix in cups-browsed and full build compatibility with Poppler 0.72.
cups-filters, CUPS: Investigation of method how printer capabilities are polled from IPP printers for driverless printing. CUPS uses 3 different variants on 3 different places, reported to CUPS upstream and it got fixed.
Google Summer of Code 2019: Completed mentoring organization application for the Linux Foundation, completed project idea list for OpenPrinting, asked mentors of other subgroups of the LF to post their project ideas.
We discovered that launching applications associated with local files via the glib API was not functioning correctly for snap applications. This seems to be a result of a security improvement covered by xdg-desktop-portal issue #167 where the corresponding glib change never got merged.
I filed glib MR !585 to fix this, which I can hopefully get merged this week.
xdg-desktop-portal Inhibit support:
The inhibit APIs in GTK (i.e. block screensaver, logout, suspend, etc) also didn’t seem to function with snap confinement: rather than using the portal API it was trying to issue the org.gnome.SessionManager D-Bus API instead.
It turns out that this had been fixed in the 3.24 branch. It looks like it still needs to be able to call the StartServiceByName bus API, but that can probably be avoided with some more code changes. Either way, it means we need to package a newer GTK with snaps that found in 18.04 (GTK 3.22).
gtk-common-themes Yaru/communitheme support:
I started putting together a branch to move some of the logic from gtk-common-themes MR !8 into a Yaru build option to make it a bit easier to maintain. Once that’s sorted, it should be easier to set up the CI trigger to build gtk-common-themes snaps with custom Yaru branches to fix the frankenstein snaps currently pushed to edge.
More work on the portal-test snap ensuring everything exposed is expected to work
Snap Store:
Did some work on @robert.ancell’s branch which added the News page. I hid it behind an environment variable which the web team can use to set the URL to load for testing and published it on a branch in the store for them.
Snapcraft:
Worked with Sergio on his clean parts branch, which is a big improvement when using bases/multipass but did find some issues.