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 .
Updated live-build to handle the new memtest86+ bin names to try to fix the desktop iso build
live-build wasn’t the right place, fixed also debian-cd which worked, we have a Lunar daily ISO now!
Packaging
Debian merges (shotwell, modemmanager)
Investigated and discussed libdbus installability issues on the Lunar/autopkgtest infrastructure which got workarounded by doing a pocket copy of the update to Lunar, the image used by the autopkgtest workers need to be rebased on Lunar still though.
Merge pipewire Debian update to build a pipewire-libcamera binary
Upload a SRU to update modemmanager from a git snapshot to the stable 1.20 release in Kinetic
Cherrypicked and SRUed a librest fix for gnome-online-accounts sometime crashing after suspend in kinetic
Updated user-setup to add the initial user to the ‘users’ group instead of ‘lxd’, it will make lxd default to unprivledged containers which is a better default
Updated the lerc c++ symbols to fix the build
Reviewed the nm plugins that needed to be ported to a newer GTK to be compatible with gnome-control-center 42, there are 3 in the archive, network-manager-fortisslvpn-gnome network-manager-iodine-gnome network-manager-ssh-gnome
Got some debug information about the liblc3 tests failing on s390x and reported upstream
MIR
Opened a MIR for libcamera, work is still needed on the package though (build failing on symbols errors, lack of tests, lintian)
Worked on the libcamera improvements needed for the MIR (fixed build, enabled build and autopkg tests, reduced lintian warnings)
Opened a MIR for liblc3, which is used by pipewire now for bluetooth LE audio
Updated to liblc3 package to run the upstream tests at buildtime and as autopkgtest
Ubuntu Archive
Enabled i386 build for chafa (needed by harfbuzz), duktape (needed by polkit), liblc3 (needed by pipewire), pkgconf (replace pkg-config) and libcamera (needed by pipewire)
Added extra packages to the i386 whitelist to be able to build pkgconf
Proposed to skip espeak-ng autopkgtests result on i386, newer tests depends on clang which isn’t installable
Other
Updated versions to not consider build revisions as newer, they are rebuilt from the same version
Removed the armhf binaries for some of desktop snaps since we aren’t building the newer sdk there
Tested and promoted to stable the fixed core22 snap of epiphany
cups-filters, libcupsfilters, libppd: Fixes on minor bugs found while preparing the release of pappl-retrofit and making all the Snaps (Printer Applications, CUPS) building with libcupsfilters, libppd, and cups-filters 2.0b1. Added foreign to AM_INIT_AUTOMAKE() in configure.ac to cope with README.md instead of README, removed check for GLib in libcupsfilters, many fixes and improvements in README.md, CHANGES.md, and INSTALL. Also found some minor bugs in the filters: cfFilterGhostscript() does not use the page dimensions of the input pages if no page size information is supplied, cfFilterPDFToPDF() can produce output which Ghostscript turns into blank pages, cfTextToPDF() produces one blank page per input character if no page size information is supplied.
pappl-rerofit: Continued preparation of its 1.0b1 release: Renamed all functions to follow OpenPrinting policy, API function names starting with pr and name itself in CamelCase, library-internal function’s names starting with _pr, constants PR_ and then all-uppercase underscore-separated. White-space/indentation clean-up, renamed internal header files to ...-private.h and API header file (former base.h) to pappl-retrofit.h. Release will follow after building and testing all Snaps with the new pappl-retrofit (and also with libcupsfilters, libppd, and cups-filters 2.0b1).
Retro-fitting Printer Application Snaps and CUPS Snap: Updated all Snaps to build and work with the new second-generation libcupsfilters, libppd, cups-filters, and pappl-retrofit. Required setting build-environment: for the next part finding the libraries built by the previous parts, removing bogus *.la files, distribution of the old cups-filters’ dependencies and ./configure arguments to libcupsfilters and libppd, Also removed the unnecessary patches parts as one can access patches directly in the Snap’s source repo via $SNAPCRAFT_PROJECT_DIR (Thanks, Sergio Cazzolato, for giving me the hint when preparing the Daemon Snapper’s Workshop).
Workshops: I got a happy user of the new Workshops utility. I got aware of it by Desktop Team meetings and tried it for the first time on the Engineering Sprint in Prague, then also used it to get a Ubuntu 20.04 environment when attending the Mini Pupper workshop on the Ubuntu Summit in Prague. Now I have used it for testing the new cups-filters on older distros, to investigate bugs. And a nice thing: When building Snaps with LXD (--use-lxd) the LXD containers of the build processes appear in Workshops and one can simply open a terminal on them.
Ubuntu Summit 2022: Helped on the text for the post-Summit Ubuntu blog, reviewing it, giving comments, added some text about sessions which I have attended or where I was speaker of, minor text fixes, … Also read some articles and listened to some podcasts about the Summit, commented on them on our internal link list, added also some entries. Especially to mention are Will Cooke (@willcooke) and Alan Pope (@popey) talking about my lightning talk about saving legacy printers with WSL and about OpenPrinting in general, my GSoC participation, … in a Late Night Linux podcast (8:50 min -> 11:50 min). My lightning talk got also mentioned, and even as first item in the Summit section in the Ask Noah podcast (29:35 min -> 32:10 min). Martin Wimpress (@Wimpress) talks about his exciting experience with Flutter Track at the Ubuntu Summit and his project Butterfly, an all-Flutter desktop, right in the beginning, in the first section of the Linux Downtime podcast. And Jim Salter is talking about the Summit, complaining about too much Snap (“it is rather a Snap Summit than an Ubuntu Summit”) at 14:00 min in the 2.5 Admins podcast.
Google Summer of Code 2022: Coordinating with the contributors to get their code upstream.
Google Summer of Code 2023: My OpenPrinting colleague Aveek Basu is finding new contributors at several Indian colleges and universities. First they get some introductory assignments (like building CUPS and cups-filters, doing small modifications on them, …) and I recommend to them to do these exercises in a container/VM via Workshops. Also asked the newcomers to read my write-ups about our OpenPrinting work and watch the Indaba and Office Hours videos.
Worked with the Security Team to get sbuild-launchpad-chroot fixed in all supported Ubuntu releases after it was broken by a schroot security fix.
Fascinatingly, we discovered that sbuild-launchpad-chroot failed to build on Ubuntu 18.04 LTS until the ubuntu-dev-tools update was pushed to bionic-security.
Helped escalate a few issues with Seb to fix sbuild-launchpad-chroot for creating Lunar chroots and fixing dbus installability on the Lunar autopkgtest system.
Worked with Amin on merging updates from Debian for Ubuntu 23.04
Merged a few other updates myself
Prepared the gnome-shell 43.1 SRU for Ubuntu 22.10 which includes a fix for the captive portal popup not popping up
Co-discovered a weird bug where the help.ubuntu.com website pops up now that the captive portal popup is popping up.
Helped get evolution-data-server rebuilt on Debian as part of the protobuf/libphonenumber transition.
Miscellaneous +1 maintenance including building a few more build dependencies on i386