Foundations Team Updates - Thursday 2024/05/30

Previous status: Foundations Team Updates - Thursday 2024/05/23
Next status: Foundations Team Updates - Thursday 2024/06/06


Summary for a few short weeks, due to multiple public holidays (+ Engineering Sprint).




  • hiring
  • Engineering Sprint discussions
  • cloud-init & UC24 discussions

(3 days only this week)


  • openssl

  • investigate Bug #2063094 “unattended-upgrades is running forever” : Bugs : unattended-upgrades package : Ubuntu

    • noticed this morning I’m experiencing this issue inside debian LXC containers with a CPU time > 11 weeks
    • found out about : the python3-dbg package makes it possible to have stack traces of python applications inside gdb (not perfect but I don’t know how to get higher-level infos without restarting the process under a python debugger however, using only packaged software)
  • investigate python-oauth2client regression with newer pyopenssl

    • pyopenssl dropped an API, advising to use cryptography instead; unfortunately python-oauth2client used that API to return an object from pyopenssl: that makes things not trivial to patch and I’m not happy trying to do so as part of proposed-migration tasks and without review from people familiar with the codebase
    • unfortunately the project is abandonned upstream, and the debian package seems to be un-maintained too (@ogayot sent a needed patch months ago but package hasn’t been updated)
    • alternatives have different APIs and that means change might not be trivial
    • haven’t had time to dive as deep as I wanted due to spending time on unattended-upgrades as described above but moving away from python-oauth2client will probably span several weeks


  • Some work on my updated excuses page
    • trying to go further than stuff like “missing build on amd64: mercurial, mercurial-common (from 6.7.2-1ubuntu2)”
    • requires better use of the launchpad API which I was unable to do by crafting GET requests but someone from the launchpad team (not in this discourse?) helpfully created a launchpadlib-based script that specifically retrieves build status
    • also concluded that “future” work will include changing the current “batch” processing of the file to an event-driven one where the page can be updated without waiting for britney to create a new excuses file (similarly, test results could also be updated without a new britney run)
  • Created this post, and creating next week’s.


  • opened (and merged) first steps to move from v1 storage to v2 storage
  • worked with IS to fix
  • did a bit of reading related to apt-transport-mirror
  • bug triage
  • spec work


  • Small fix for a C unit test PR#474
  • Still working on several bug fixes and to backport them to older releases

Training day

I used my monthly training day to continue learning Rust. To be more precise: I finished the cpio extraction support and push it to the 3cpio main branch. Next steps are to benchmark the cpio extraction (spoiler: 3cpio is 25 times faster than unmkinitramfs on a Raspberry Pi 2W), release a new version, and land it in the package archive.


proposed migration

  • cmake VS libuv1 resolved itself (probably someone triggered retries)

+1 maintenance

I was on +1 maintenance from 2024-05-30 until 2024-25-31. I looked at update_excuses and worked backwards from the oldest to the newest entries.


procdump 2.2-1 fails to build from source on Ubuntu. I can reproduce it locally with sbuild. So I created bug #2067602 documenting the failure. The package builds on Debian. Then I checked upstream but found no relevant bug reports for it. I was able to reproduce the build failure on an upstream git checkout of 2.2 tag when using the CFLAGS used on Ubuntu. I bisected the failure and cherry-picking the two commits after the 2.2 release fixes the failure.

The package build now on all architectures except armhf: procdump 2.2-1ubuntu1 FTBFS on armhf


inotify-tools fails to build on Ubuntu because there is one missing C++ symbol which is present in Debian. I created bug #2067614 and marked this symbol as optional since it is a new introduction in the Debian package.



  • Continue writing spec for improving Go developer experience on editor integration.


  • Retry multiple Go packages which are stuck in proposed migration since oracular is open.
  • Submit SRU MP for llvm-toolchain-18 bug 2064187 (small patch but waiting riscv64 building to confirm the fix).

Short week (back from vacation this Monday)


  • Moved the FIPS repository to the canonical org on GitHub. Added a license.
  • Addressed review comments from the Security team on openjdk security updates, pushed changes
  • Spent time debugging a puppetdb FTBFS (still investigating)
  • Reviewed MP#466631

Developer Experience

  • Evaluated a couple of open-source tools for cloud-native app development and wrote up a recommendation.



Short week. Public holiday on Monday.


  • Working on systemd packaging, trying to drop old patches etc.


  • Conducting interviews, reviewing take home tests


  • continued to work on flamenco
  • continued triaging the host-probes-rid-assets-legacy testcase failure for dotnet8 on oracular
  • thorough discussion with @mateus-morais about the Ubuntu release process for .NET, especially for the ~dotnet/backports PPAs and same day availability
  • attended weekly .NET security partners meeting


  • reviewed canonical/sphinx-docs-starter-pack PR #236
  • Prevented needrestart from self-termination
  • Uploaded the shadow SRU, then went back and fixed it again because I broke something else
  • THT and interviews
  • Updated my glibc upstream patch queue

short week (3 days)

  • curtin - continued work on kernel handling improvements to allow the default kernel to be preinstalled in the minimal layer. First MP merged, plans written up showing how the implementation will handle the cases where the required kernel is already installed or removing the default kernel to install an alternate. Next steps are to verify that existing OEM handling continues to work, close known unit test gaps, then should be MP ready.





  • MP to allow login in spice console.
  • Investifixed some armhf LXD remotes having oracular images using noble archive
  • Replaced two broken armf LXD remotes
  • Spent a lot of time investigating why our armhf ended up in error with Failed to begin transaction: context deadline exceeded. No real answer yet, but might be a kernel bug that we are experimenting working around with the HWE kernel.
  • Providing support for @sespiros trying to run cross-arch testing locally
  • Providing support for @jpm and @farshidtz trying to add some autopkgtest to linuxptp
  • Improved stats collection and graphing to better understand where we loose time when running tests: we can clearly see the drop when we discovered the flock issue

I was sick for almost all of this last week, but I forgot to post my status last time so I’ll post that now:


  • Finished tests for and merged PR #1965 - fix for an autoinstall issue where the installer would (correctly) throw an error but the install would continue for too long and hide the error text (LP: #2060547)
  • Merged PR #1985 - fixes an issue that causes the install to crash during certain netboot scenarios due to a mismatch in the cloud-init versions on the host and in the snap (LP: #2062988)
  • PR #1901 - Updated our CI autoinstall validator. This makes the script public facing so users can use it to pre-validate their autoinstall configurations and adds a how-to guide in the docs explaining how to use it.


  • Refreshed Apport MP #454563 - Update Subiquity hook
  • msolve no-change rebuild (thanks @slyon for the sponsorship)
  • Working with @schopin to re-work my spec for changes to apport package hooks


  • backported JDK-829511 to openjdk 21 and 17
  • set up rebuild automation for openjdk
  • fixed class version issue with jreg7

spring boot snap:

  • prototyping installation of local copies Spring Boot and Spring Framework


  • merged tcpxtract


  • Documenting the imagecraft.yaml file


  • PR # 222 - Run spread tests on noble too
    • WIP
  • PR # 223 - Migrate to core24
    • WIP
    • Investigation in progress on a lxd bug preventing building on bionic.
  • PR # 181 - Replace debootstrap with mmdebstrap
    • WIP - investigating issues running mmdebstrap in a snap
    • Is blocked by the migration to core24.


  • Help exploring running ubuntu on some specific hardware
  • Providing support to several ubuntu-image users
  • Administrative tasks following Engineering Sprint
  • Diagnosing running lxd on 18.04. It seems broken.