Desktop Team Updates - Monday 30th November 2020

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.

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.

Last week’s notes are here: Desktop Team Updates - Monday 23rd November 2020


:desktop_computer: Gnome Shell and friends:

:8ball: Other:

  • Major clean-out and re-sync of the PulseAudio git repo. So it now matches the Ubuntu archive and with less clutter.
  • Ongoing training.
  • Migrated my development setup to hirsute.

:chart_with_downwards_trend: Bug tracking:

  • Spent a higher proportion of the week than usual catching up on bug triage, due to a couple of days off.
  • Backlog tracking.

Slightly shorter week - Took some time off on Friday.

  • Flutter:
  • Subiquity Client:
    • Discussion with @mwhudson on client-server use cases.
    • Drafted a couple more complex tests from ^.
  • Automatic Theme Snap Installation:
    • Began laying a foundation for some automated testing.
  • LibreOffice:
    • Reviewed and uploaded 7.0.3 to Groovy.
  • ADSys:
    • Generation of policies from AD and associated tests
  • QA Lab maintenance
  • Reviewed/Tested Ubiquity PR to add an indicator when 3rd party drivers are being installed.


  • Generation of policies from AD and associated tests


  • Uploaded/Sponsored ZSys fixes
  • Uploaded/Sponsored zfs-linux fix for focal, groovy and hirsute

Was a short week because of Thanksgiving holiday.




firefox24 firefox

thunderbird24 thunderbird

  • groovy updated to 78.5.0
  • published 78.5.0 to focal-proposed to gather feedback from testers before it goes to focal-{updates,security}

chromium22 chromium

  • updated stable to 87.0.4280.66
  • updated dev to 88.0.4324.11

package24 other

  • updated librsvg to 2.50.2 in Debian and Ubuntu
  • uploaded librsvg 2.48.9 SRU to focal, now waiting for approval by the SRU team
  • one day off
  • continued experimented with the installer ISO builds, got a working build now \o/
    • the snapseeding fix for the canary image has been merged
    • fixed the ubuntu-image autopkgtest failure with the new python-debian to unblock the previous fix
    • started reviewing the content differences between the desktop and canary images
  • +1 rotation, see detailled summary
  • updated pulseaudio to the new 14.0 stable version
  • SRU
    • gnome-control-center 3.36.5 update to focal
    • gnome-desktop 3.36.8 update to focal
  • reviewed the available GNOME updates for F and G series, marked some as not useful to update on versions
  • updated an update-manager proposed change not display livepatch hints when software-properties doesn’t show the option
  • updated a bit the desktop trello board

I was off last week, trying to remember what I did before…

  • All of our non-x86 autopkgtest hardware was offline for maintenance, so I babysat taking that down and playing with IS when they brought it back up - testing that the cloud was functioning properly.
  • Looked into why the autopkgtest for mysql-connector-c++ was always being killed. That turned out to be a funny bug. We have a script to look for stale cloud instances (VMs) where autopkgtest died but without being able to clean up its resources. It does this by:
    • Getting a list of all the running cloud instances
    • Matching those back to currently running autopkgtests
    • If there’s no match, the instance is stray and is deleted
      That last matching is done by using pgrep on the process list (not the cleanest, but it is what it is). pgrep takes a regular expression as the pattern to grep for. + is a special character in regular expressions. So we thought there was never a matching process, since the + wasn’t being treated literally, so we failed to find the actual running process and ended up killing the VM while the test was still running. It takes close to an hour for this test to run, and we run this cleanup script at :00 every hour, so it was very difficult for the test to finish. Fixed by escaping the instance name. Fun!
  • Investigated why my USB devices were now powering off when they shouldn’t be, turned out to be a bug in libfprint(!), and Marco is already fixing it - yay
  • Submitted a bunch more MRs to britney upstream, got feedback and iterated based on that.
  • Got access to the InfluxDB for Ubuntu metrics (coming soon), we can start to try to write them now, going to write a simple one soon to get a feel for how it works.
  • PostScript Printer Application: Continued the development and the testing. Worked with Michael Sweet on getting driver auto-selection correctly working and integrated with PAPPL and the client command “autoadd” to automatically add all discovered printers working correctly. Also did some fixes for stability.
  • PAPPL: Many new issue reports (open, closed) during the work on the PostScript Printer Application. Worked with Michael Sweet on getting driver auto-selection, the “autoadd” client command, supplying vendor-specific options on the command line, avoid crashes and fatal errors when drivers get changed/removed in a newer version of the Printer Application (fallback to auto-selection), investigated and reported a bug which makes print queues getting lost. PAPPL 1.0rc1 got released.
  • cups-filters: In cups-browsed fixed a bug which made cups-browsed hanging several times for 5 seconds if local, permanent CUPS queues point to a DNS-SD service name of a printer which is off-line, making the initial setup of creating queues pointing to all remote printers taking unreasonably long time. Fixed also the preservation of description and location info of cups-browsed-generated queue. All this I have also backported to the 1.x branch, so it will make it into Ubuntu soon.
  • cups-filters: Fixed a weird bug in the pdftops() filter function in libcupsfilters where creating a pipe to connect two forked sub-processes put file descriptor 0 (stdin) on one end.
  • CUPS: Version 2.3.3op1 got released! This is the first release from the CUPS fork on OpenPrinting.
  • CUPS Snap: Updated its CUPS to 2.3.3op1.
  • CUPS Snap: Still waiting for @jamesh’s API extension of snapd to pass Canonical’s security team review so that the CUPS Snap makes it into the Snap Store.
  • sane-airscan: Waiting for the MIR to get reviewed by the security team.
  • Google Season of Docs 2020: Mentoring our technical writer, doing corrections. Follow his work growing on our web site. We are entering the last week of GSoD and updates for API changes in PAPPL got added.
  • Bugs.

GNOME / FDO stuff

  • Continued working in GDM smartcard and auth config tools
  • Handle PAM max-retries in GDM and improve auth errors [MR}
  • Fixing various shell login issues when using a fingerprint reader:
    • First password failure causes user failure
    • Handle fprintd PAM errors as such, notifying user
  • Various libfprint / fprintd upstream reviews to help with 1.90.4 release:
    • Don’t require newer PolKit [MR]
    • Avoid PAM-wrapper test failures [MR]
    • Fix permissions on dbus-service [MR]

Ubuntu (and debian)

  • Worked on Flutter a11y support.
  • Review Flutter PRs.
  • Fix GIF processing bug in gdk-pixbuf.
  • Cleaned up gnome-control-center PRs, did some more PRs.

xdg-desktop-portal improvements:

  • No further feedback on x-d-p PR #549 (OpenURI fixes for doc portal URIs) after initial review from hadess.
  • I also created x-d-p PR #550, that improves the document portal to not proxy some files we know a snap will be able to access directly. With this patch applied, a snap connecting the home interface should receive real file paths from a portal file chooser if the path is within the user’s home directory.

Ubuntu Core GDM test

  • With the dbus activation feature merged to snapd, I did some experimentation trying to use it in the Ubuntu Core GDM test image, with mixed results. Despite having a gadget snap that enables the experimental features, actually making use of them seems to prevent seeding from completing. I’ll need to follow this up with the snapd devs.

Other snapd work: