Desktop Team Updates - Monday 21st September 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 14th September 2020

1 Like
  • AD in Ubiquity:
    • Round trips with design, finessing the UI and messages.
    • Merged the branch in master and prepared the release of Ubiquity 20.10.10
  • Rewrote some documentation on AD on Ubuntu Desktop.
  • Removed popularity-contest from Ubiquity.
  • QA Desktop job maintenance.

:desktop_computer: Gnome Shell and friends:

:8ball: Other:

:chart_with_downwards_trend: Bug tracking:

  • ZSys:
    • Bug triage and interactions with the community
  • AD:
    • Continue training and look for existing solutions
    • Read and comment jibel’s documentation on AD on Ubuntu Desktop
  • Misc:
    • Still a lot of MIR going on, like followup on golang- deps, did ostree and flatpak

firefox24 firefox

  • preparing 81.0 update, to be released this week

thunderbird24 thunderbird

chromium22 chromium

  • updated stable to 85.0.4183.102
  • updated beta to 86.0.4240.42
  • updating dev to 87.0.4263.3
  • started investigating how to make the KeePassXC browser extension work in the snap, using native host messaging
    • I made some progress on a rough proof-of-concept, but I’m not entirely there yet
    • this is made possible by the existence of a keepassxc-proxy implementation in rust that, once compiled, doesn’t have external dependencies, so can easily run within the confined context of the snap
    • this requires patching the name of the UNIX socket that’s used for communication with the unconfined KeePassXC application, and updating the snap’s apparmor profile
    • this also requires manually modifying and installing the manifest for the connector under $SNAP_USER_COMMON
    • I’ll continue poking at it, and once I manage to make it work decently, I’ll see if at least parts of the solution can be reused/upstreamed

package24 other

  • GNOME updates: I updated a bunch of seeds (budgie, kylin, unity7) and standalone packages (folder-color-common, gedit-latex-plugin, unity-china-video-scope, ukui-desktop-environment) that were blocking the gvfs migration. Thanks @laney for reviewing, updating the meta-packages, and sponsoring!
  • ubuntu-desktop seed work: after reading quite some backlog and some valuable advice from Laney that helped me get more familiar with seeds’ subtleties, I submitted a fix for germinate to stop trying to pull gnome-software back into main
  • one day off
  • continued on GNOME 3.38 updates
  • fixed tracker command line hanging (due to Bsymbolic)
  • sponsored alsa-ucm-conf fix and SRU for thinkpads audio from the OEM team
  • got the by-team-report change to display broken binaries information landed
  • sponsored the new wslu version for Patrick
  • uploaded some fixes from Olivier
  • uploaded the new bluez update from Daniel
  • Some more 3.38 updates.
  • Guidance and reviews for some seed changes, see @oSoMoN’s status:
    • Stop the Ubuntu archive trying to move the gnome-software .deb back into main.
    • The gvfs-bin package was removed (use gio instead), fix things in the archive which needed that.
  • Two +1 maint days. See my summary on ubuntu-devel@ for more on this.
  • Little bit of work on the new Raspberry Pi desktop image.
  • Some additional fixing of gst-plugins-good/gst-plugins-bad, following on from LocutusOfBorg’s work there (thanks).
  • cups-filters: Added imagetops and imagetopdf filter functions. Now we have all to create Printer Applications if we include Ghostscript in them if a PDF interpreter is needed (Ghostscript is the best for printing anyway). 12 CUPS filters are now based on filter functions.
  • cups-filters: Started to move CUPS’ cups-driverd daemon helper (PPD collection manager, finds PPD for given, discovered printer) into libppd. It is needed for Printer Applications which retro-fit classic printer drivers.
  • cups-filters: Got answer from Samuel Thibault. He wants Braille embosser support to stay in cups-filters and not get separate Printer Application project, to assure that it gets included in as many distributions as possible. So my plans now that Braille-related filters also get turned into filter functions and also that Printer Applications based on filters in cups-filters (PostScript, Foomatic, Braille, …) will be maintained in cups-filters. There will be extra build options for cups-filters to control what gets included.
  • cups-filters: Fixed a bug of the driverless utility not always resolving DNS-SD-based CUPS device URIs and so not generating PPD files (Upstream issue). Will be part of the 1.28.3 release later this week.
  • ipp-usb, sane-airscan: Still waiting for the security team to verify the MIRs for ipp-usb and sane-airscan.
  • Linux Foundation Mentorship Program: Now also our student who started IPP Fax Out support and has overtaken the other student’s printer driver retro-fitting project had to quit the program. She had a COVID-19 case in her family and also classes in her college got suddenly restarted. I am now starting to do the PostScript Printer Application by myself. The two IPP Scan students are doing well and did their first commits (Client, Server).
  • Google Season of Docs 2020: Started mentoring our writer, reading his work and telling him what to correct, also Michael Sweet does mentoring work (as good part of this documentation is for PAPPL. Here is our writer’s GitHub repo and his copy of our site. He is committing practically daily.
  • Bugs.

Ubuntu Core GDM experiment:

snapd snapctl is-connected --pid patch:

  • snapd PR #9132 is marked blocked. I think we want a version that works from an AppArmor label from the start, since it allows the check to be performed race free.
  • A daemon can determine it’s peer’s AppArmor label race free via SO_PEERSEC (usually via the aa_getpeercon helper), which tells us the snap name. In contrast, going via pid involves a race between retrieving the pid via SO_PEERSEC and reading /proc/$pid/attr/current. So we should use the SO_PEERSEC when possible.

misc snapd changes:

  • Created snapd PR #9370 to clean up how snap userd requests its D-Bus name. The current code encourages people adding new interfaces to userd to also add a new bus name, which is not desirable.

Also worked on a security bug.


Packaging 3.38

Even more packaging and SRU stuff

Random upstream work

  • GJS: Some fixes on my various proposed branches as per upstream review (some of them merged now)
  • GNOME Initial setup: use meson to generate repeated configuration files [MR, approved to be merged]
  • Totem: Fixed the handling of “Undefined” ISO language code [MR, fixed differently]
  • Mutter: Fixed handling of clutter text in X11 [MR, merged]
  • Backported to gnome-3-36 branch the fixes for various X11 crashes on devices removal [Commits]
  • G-C-C: Merged a fix from @gunnarhj

Ubuntu Appindicator Extension

  • Reviewed and merged various community contributions
  • Lots of cleanups and fixes:
    • Improved the tests tool to include more stressing cases
    • Fixed various errors in the DBus interfaces
    • Removed incompatibilities with 3.38 (keeping support for 3.36 and previous versions)
    • Refactored the Icons cache to be simpler and more effective with GIcon’s only
    • Batch dbus properties updates and local UI updates together to reduce CPU consumption (fixes various issues)


  • finalized the packaging of 7.0.1 for upload to groovy. This version contains beautiful new Yaru icons (just install the libreoffice-style-yaru package)! Thanks @jupiter007 @ricotz and @marcustomlinson !
  • worked on canonistack arm64 instance. launched LO7 build with gcc10 but then ran out of space. Attached a volume and tried again but same thing happened. Will just use local pi for the larger disk size.

Everything Else

  • network-manager snap: chased a couple of red herrings thinking there was a problem with the netplan plugin… overall kicking the tires of the netplan plugin by manually making configs, checking they work, are persistent, etc. looks great!
  • worked on the snapcraft gnome extension PYTHONPATH… we’re getting there.