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.
Bug triaging, investigation, fixes and improvements (grub, apport hook, …)
Upgrade tests from 18.04 and 19.10 to 20.04.
Major performance improvements in dataset refresh code and loading of the GRUB menu (from 80 seconds to load the history menu with 100 system snapshots to nearly instantaneous)
Figured out how to get plymouth splashing with the Nvidia driver, but doing so will break most other systems using DRM. So as a workaround (and general cleanup) I will modify the Ubuntu version to accept config files allowing users (or the Nvidia installer) to enable it. After the proposed version is unblocked.
continued GNOME 3.36.1 updates and some Debian merges
spent some time figuring out how gfxboot-theme-ubuntu weird trnaslation setup work to make the safe graphics entries translatable…
then followed up to fix what I got wrong on the first try (it works now!)
changed gnome-settings-daemon to still be able to start vino, upstream relies on gnome-remote-desktop only now but we are not there yet
updated the grub translation template, proposed a packaging fix to apply upstream patches fixing the build from source generation
updated the ubiquity translation template on launchpad following the recent upload, emailed translators about the new strings
backported some nautilus fixes for the file search provider
Sponsoring
util-linux/focal, fix for hwclock with newer glibc
avahi, initial reviewed a patch to fix error in the check dns script, ended up remove that hack follow Trent’s advice (libmdns provides the feature now)
pulseaudio, uploaded a fix for dual jacks from the oem team (focal/bionic)
nano, uploaded some upstream fixes indicated by contributors
Other
Updated our version script to point to 3.36 as the stable GNOME serie
Updated the thunderbird snap to 68.7.0
Launchpad bug triaging (quite some activity post beta)
Submitted a change to make the proposed-by-team report indicate items blocked by hints (e.g freeze)
Transition from 19.10: change the userdata user properties on first boot
for machines installed from 19.10 without zsys installed.
Building grub menu fixes:
Major performance improvements in dataset refresh code and loading of the GRUB menu (from 80 seconds to load the history menu with 100 system snapshots to nearly instantaneous). Not merged in grub yet.
Ensure we unmount all temporary snapshots path before zfs collect them out.
Fix GC collection of failed revert or incomplete boots and add tests for them (LP: #1870057, #1870054)
Account filesystem datasets in GC bucket policy budget, as it was leading
to under budget results once cleaned up.
Fix warning when mounting source is set to default (LP: #1870052)
Huge perf improvement in loading zsys (7s for loading zsys when having 100 snapshots -> less than 3s) by fixing some issues in go-libzfs:
perf enhancements by only loading our needed properties to reduce the amount of C performed
it was not assigning the correct dataset type, leading to a segfault if the user has a zfs volume in a pool.
Enhance apt hook:
Only display output and errors if running on ZFS systems (LP: #1868523, #1870304).
Suppress the 20 minutes grace period and only prevent multiple snapshots when unattended-upgrades is running.
Fix adding user regression not creating new dataset automatically in shadow
cups-filters: On the license change to Apache 2.0 plus (L)GPL2 exception only 2 contributors are missing now, all the others have agreed.
cups-filters: Released 1.27.4 upstream to get the latest bug fixes into Focal.
PAPPL: The Printer Application Framework from Michael Sweet is progressing more. Made suggestions to one of the GSoC student candidates how to change his proposal as MIchael did already many important things.
Driverless scanning: Further testing for the continuing airscan-wsd development.
Google Summer of Code 2020: An already discarded candidate for OpenPrinting re-appeared interested in doing IPP Fax-out support. Introduced him into the project but turned out that he is not able to get access to an appropriate printer due to extreme COVID-19 lock-down in India. There even the online commerce is shut down. All but one sub-orgs of the Linux Foundation supplied the needed student slot counts to us.
Google Season of Docs 2020: Prepared a page for the Linux Foundation and the project ideas page for OpenPrinting in preparation for the Linux Foundation to apply for this year’s GSoD. The main goal for OpenPrinting is to get a tutorial for printer manufacturers to easily learn how to provide drivers as Printer/Scanner Application Snaps.
I had a short week due to the Easter long weekend.
snapd dbus activation support:
snapd PR #5822 (user daemon support) is still waiting for a second review.
snapd PR #6258 (dbus activation support) progressed a bit: the test snap was manually approved allowing the test suite to run. Tests passed everywhere except Ubuntu Core 18 and 20.
I discussed this with the snapd core devs at last week’s review meeting and agreed on a way forward for that. My initial idea (as implemented in core18 PR #98) was to symlink some configuration files from the snapd snap to /usr/share/dbus-1. The main problem with this was that the symlinks would be broken during upgrades. Instead, we’ll make /etc/dbus-1 a writable path on those systems and have snapd copy the configuration files in during installation/upgrade.
snapd portals support:
snapd PR #8356 (add a snap routine file-access command) is still waiting for review. It was added to the 2.45 milestone though, so I expect it to get reviewed once the 2.44.x maintenance releases are out of the way.
Github Actions for building Snaps:
At the Frankfurt sprint, it was agreed that we’d move the actions I wrote over to the snapcore organisation, as it would provide more assurance to users of the action that they would work as advertised. We didn’t actually get around to doing the move though.
I’ve gone ahead and set up the actions at their new locations after getting @mvo’s help creating the repositories:
While updating the dependencies for the two actions, I had the idea of having the build action generate a manifest in the resulting snap, similar to Launchpad snap builds. I updated the action to set the SNAPCRAFT_BUILD_INFO environment variable, but it seems that feature was broken for LXD builds.