Foundations Team Updates - Thursday 7 April 2022

Welcome back web readers! Here we’ll post our updates from the past week here. Excelsior!

Last week’s update is available here: Foundations Team Updates - Thursday 31 March 2022



  • modified autopkgtest-web to display “exit code” instead of just “code” which is cryptic
  • updated never_run with assimp/armhf/jammy, apport/armhf/jammy
  • manual cleanup of long running armhf tests

ISO Tracker

  • merged the 1753_QEMU_riscv64_install manual test case for @xypron
  • updated the ISO Tracker with the above test case and made the test case available for Subquity Live Server (riscv64)


  • updated Jammy release notes with issues encountered during the release upgrade process * reviewed and merged @paelzer’s MP to make the release upgrade check less expensive fixing LP: #1893716
  • uploaded ubuntu-release-upgrader with the above fix, deb2snap changes for Ubuntu Studio and an improved apport package hook (gathers journalctl and a list of files in /var/crash)
  • review of update-notifier MP for @paelzer
  • uploaded ubiquity which creates an even larger /boot partition LP: #1959971
  • sponsored a dbus patch for @waveform which should fix crashes during release upgrades LP: #1962036
  • sponsored the Focal SRU for LP: #1963628 as I’d come across it during my SRU shift
  • reviewed, merged and uploaded a software-properties bug fix for LP: #1965180
  • with @enron investigated an issue with systemd autopkgtest for impish, then SRU reviewed the fix
  • review of packages in the Jammy queue

We are two weeks out from release, which means it’s important to clean up all the remaining binaries in the release pocket that are no longer built from source. This generally involves looking at the reverse-dependencies listed on and resolving why they have not been rebuilt to drop dependencies.

  • mozjs78: noticed lto-wrapper listed in the output of the builds on failing architectures, then noticed the architectures where it was built successfully are the archs where we don’t use LTO. Disabled use of LTO in the package, then also fix the test target to invoke the js interpreter from the binary install directory instead of from the source directory, which for some reason is not marked executable - we can ignore this instead of debugging the upstream build system. This unblocks removal of libicu67.
  • tracked down the sra-sdk autopkgtest failure with the new ncbi-vdb to be a misbuild of sra-sdk itself with LTO, not a bug in ncbi-vdb; rebuilt sra-sdk without LTO and both packages migrated, unblocking removal of mbedtls NBS binaries
  • Finally took a look at the cluster of blocked D library packages, to notice that 3 of the 4 were candidates but britney wasn’t working out on its own how to migrate them together. Added a hint for this and the 3 migrated. Then removed diet-ng, which is also FTBFS in Debian and not in testing. This let us remove the old libphobos binaries.
  • As of Tuesday, we have zero NBS binaries in the release pocket for jammy!


  • Looked at gyoto/ppc64el, one of 3 packages which block removal of python3.9. Failing to build because of mutually-incompatible options being passed to g++ when LTO mode is on; but these flags don’t come from the build of the gyoto package, instead they are hard-coded into the lorene library, causing the check-lorene test to fail. Worked on unpicking this, so that impossible options were not being inherited from liblorene.
  • skimming the bottom of update_excuses, noticed that two related packages, libdata-sah-normalize-perl and libperinci-sub-normalize-perl, had been blocked in -proposed for 170 days due to one of the packages failing its autopkgtests; but somehow no one had ever tried triggering the autopkgtest with both packages together? (+1 maintenance?) Did so now, and the packages migrated successfully.

Archive admin

  • it was pointed out that mozjs78 previously built on i386 but was now not being scheduled there. This led to a round of cleanup of old i386 binaries in the release pocket
  • got a request to clean up particular NBS binaries in the -proposed pocket, so went through update_excuses again and removed all NBS binaries I found; this should let around ~14 packages (mostly kernels) migrate
  • misc push-button NEW processing of packages synced from Debian
  • now that NBS is empty, also worked on zeroing and which required some further i386 work
    • discovered in the process that the libpth20 i386 binary went missing in jammy by my hand despite having reverse-dependencies in the archive that should have prevented it being picked up as a candidate for removal. Best guess is that there was a window when there were not any reverse-dependencies in the jammy release pocket, and therefore it got removed. Binary is back now, though, and the count of uninstallables on i386 is now zero, which it hadn’t been for a few cycles.
  • pestered fellow AAs to clean up their manual whitelist entries for packages on i386 (which would ideally only be used during bootstrapping, with things eventually moving to the seed).
  • started trimming down the priority mismatches for jammy release. These are less important in the past now that we don’t use debian-installer which relies on their correctness, but it is a good review to make sure our base system is not being unexpectedly bloated.
  • re-running process-removals for all packages removed from Debian unstable since the start of 2021, picking up a few more removals of obsolete packages that are no longer blocked from removal in Ubuntu due to reverse-dependencies.
    • fixed remaining references to exfat-utils so it could be removed cleanly.
  • Processed package removal requests from
  • Noticed via an open ubuntu-archive bug that numba made it back into the archive, so resurrected all of the source packages to -proposed that were removed because of lack of numba. One or more of these probably needs follow-up to be migratable to the release pocket, but now it’s on the +1 maintenance todo list instead of being lost in the ether.
    • along the way, noticed that some packages were stuck in -proposed due to spurious autopkgtest "regressions’ reported on i386. Did a sweep of these, got 8 packages to migrate out of -proposed.

Release Team

  • Spent a little time cleaning up stale hints files in proposed-migration. We are now down to only 72 hints total in the devel release, and no force-reset-test hints left, so I will look at deprecating this delta from Debian.


  • Discussion with enr0n, jawn-smith about use of britney hints vs baseline autopkgtest retesting. Rejected an MP for a hint because the retest proved that snapd autopkgtests had regressed in the impish-updates pocket, so no manual override was required; thus unblocking a systemd SRU.


  • Discussion about systemd-oomd behavior regressing experience in certain situations where memory pressure was not causing issues, and possible reversion for jammy release
  • Technical board meeting with discussion about third-party-archive policies for flavors. Ran into an issue (RT#149245 filed by @sil2100) that prevents logins to
  • Went through the process of booking travel to attend the roadmap sprint in Copenhagen in the beginning of May, first trip in 2 years so having to jog my memory about how to do things!
  • subiquity
    • roadmap planning for 22.10
    • PR: 1255 - Fix interation between early-commands and the location of the autoinstall file, as documented. Pending a review of autoinstall behavior after a snap refresh.
    • Review PR: 1250, PR: 1251, PR: 1257
    • jammy stable: Merge PR: 1253, get RISC-V build enabled.
  • ubuntu-desktop-installer
    • PR: 749 - Add a command line arg in call to Subiquity to continue using os-prober.
  • curtin
    • MP: 417829 - Finish draft of partition resizing. Remove some redundant repartitioning. Add some safety checks. Improve handling of the partition device path. Handle resizing on both gpt and msdos partition tables.
  • casper
    • Discussion with @xypron about how to detect the installer image and to be able to output an ‘ejection’ message for that case
  • proposed-migration - amd64 systemd vs cron passes test on retry (we might want to go fix LP: #1944712)


  • Worked on removing 2 kernels only in apt
  • autopkgtest-cloud:
    • Migrated off lcy01
    • Added hacks for no-acpi-qemu for kernel arm64 tests
  • Prepared nullboot SRU
  • ubuntu-image:
    • Created pull request to fix some edge cases with custom gadgets
      • cleaning up test cases per @sil2100 request
    • Meetings and discussion over classic image redesign.
  • Created uc22 models and had them signed
  • Investigate FTBFS of vim on ppc64el
  • +1 Maintenance:
    • Shepherded pytest-mock through to -release
    • Investigated golang-github-klauspost-compress without much luck
  • Raspberry Pi:
    • Worked on adding separate -doc packages for unicorn hats
    • Continued investigation of hyperpixel display packaging (it’s wacky)
    • sponsored rpiboot for @waveform
    • DSI display testing
      • There is an issue with full kms that impacts the desktop
    • Unicorn hat testing
  • General distro work
    • Reviewed and sponsored systemd impish SRU
    • Merged systemd SRU in lp git. Thanks @enr0n
    • proposed migration: restarted tests for libassuan and gromacs
    • Retriggered lots of tests to get systemd to migrate
  • systemd
    • SRUs
      • Sorted out autopkgtest regressions (read: asked @bdmurray and @jawn-smith to click on lots of links)
      • LP 967576 to workaround a snapd issue causing tests-in-lxd to fail
      • SRU verification for LP 1946388, which previously fell through the cracks
      • Pinged @gjolly re: SRU verification for LP 1871538. This is the last thing blocking the systemd SRU uploads from migrating.
    • Sent a patch upstream to address LP 1966381
      • Thanks to @juliank and @ddstreet for their input on the issue
      • Hoping to get some kind of ACK on the direction of the patch from upstream, in which case I will bring the patch into jammy. Edit: patch was accepted upstream.
    • Prepped a patch for LP 1926860 pending discussion with the team
    • Started looking into LP 1966800
  • proposed migration
    • toml vs build-essential (ppc64el) and gjs vs build-essential (ppc64el): these got caught in someone else’s retry triggers, but passed on retry
  • SRU re-verification for LP 1952947

Awesome job. I would like to thank everyone for all of your
hard work and dedication for Ubuntu, and the determination
too make Ubuntu more…!

  • +1 maintenance
    • fixed snapd autopkgtests on jammy
    • fixed ftbfs in osmo-pcu/s390x which finished a transition
    • investigated some other proposed migration blockers, resulting in a few packages migrating and eventually a clean NBS report
  • some subiquity and curtin reviews
  • 22.10 planning
  • got angry at maths tests failing randomly in the glibc/focal/riscv64 build


MIR work:

  • Finally had rustc into the seeding stage (which apparently didn’t go as planned, stay tuned)
  • Looked into some recent vulnerabilities in rustc’s dependencies
  • Started looking into dh-cargo for main inclusion




  • subiquity
    • opened PR 1252 for third-party drivers design rework (target is .1 release). Still a draft PR at the moment.
    • got rid of intermediate status changes for LVM and RAID buttons PR 1254. This was a mostly harmless bug.
    • did some code cleanup PR 1257
    • more investigation on LP 1966672. Not reproduced on armhf nor amd64.
    • reviewed roadmap planning with @dbungert
    • started investigating LP: 1968146 - unattended-upgrade cancellation issues. Different behaviors depending on the version of Ubuntu / version of Subiquity. But generally, no real success in cancelling updates.
    • created and started investigating LP 1968161. Block device probing screen sometimes not refreshing automatically.
  • ltrace: submitted a patch to fix FTBFS on ppc64el. Requested changes to work on.
  • started working on focal SRU for livepatch vs MOTD alignment
  • Short week (covering kid’s half-term)
  • Worked on rpiboot packaging (LP: #1959592)
  • Grow partition fix landed (LP: #1947311) – will watch to see if anything blows up on the next dailies
  • Auto-connections to fix cloud-init config in rpi-imager have now landed
  • Still working on LTS boot time measurement
  • Pi meetings
  • Test Live installer for riscv64
  • RISC-V roadmap
    • Discuss items with involved teams
    • Create Jira items
    • Analyze status of upstream for Node.js, JDK 19, kvmtools, build packages locally
    • Analyze missing pieces for Microk8s, Multipass snaps
  • Understanding snaps
    • Build my first snap ‘sispmctl’
  • individual packages
    • mk-sbuild: don’t require pkg-config-, LP #1966881 - fix merged
    • systemd-bootchart: Build failure on riscv64, LP #1966134 - fix merged in release 234-1ubuntu1
    • ubuntu-dev-tools: mk-sbuild: don’t require pkg-config-$target_tuple, LP #1966881 - fix merged in release 0.188ubuntu1
    • flash-kernel: clarify upstreaming of riscv64 support with Debian maintainer


  • SRU reviews and releases
  • DMB meeting
  • NEW reviews (also from the SRU side)
  • Technical Board meeting
    • Part of prep-work: reviewing the third-party software requirements document from Robie
  • Helping with some seed reviews and merges
  • Investigating issues with the RISC-V live-server daily image builds not happening
  • Roadmap considerations


  • Continuously working on the ubuntu-image classic redesign spec
    • Revisited the image definition file format, making it a bit structured as per propositions from the CPC team
    • Switching approach to using a gadget url instead of a deb package
    • Documenting additional customization functions
  • Discussions with John (CPC) and William about our current approach and the needs for cloud images
  • Discussions with Steve on the spec as it is unfolding
  • Started cleaning up changes that were needed to build raw-partitioned images for our RISC-V installers via debian-cd

ubuntu-cdimage + isotracker

  • Additional small fixes to WSL image build iso-tracker notification scripting
    • Finally confirmed that the changes work fully as expected
  • Preparing credentials for WSL remote rebuilds from cdimage/iso-tracker
  • Tweaked description of our RISC-V live-installer images
    • Still waiting for the wiki page entry for how to properly prepare the images to be used on real hardware, which is blocked on login issues
  • Tweaked ppc64el image descriptions per the recent POWER9 baseline bump


  • Daily 22.04 queue reviews
  • Creating tooling for generating Jira cards for milestone work tracking for the release team, using milestone templates that are easily definable via a .yaml file
    • Pushed to lp:ubuntu-archive-tools (probably better place needed)
    • Have some ideas on how to use this more (for syncing with the wiki pages for instance!)
    • Created a template for final release
  • Using above script, created Jira cards for 22.04 final
  • Started working on initial tasks for the 22.04 nearing Final release
  • Misc work on the RISC-V live-installer images

Ubuntu Core

  • Signing latest jammy grub2 binaries for UC22 usage, copying to staging PPA and building new core22 snap
  • Reviewing new non-dangerous model assertions for UC22
  • Discussing steps forward for an urgent core20 fix for a customer
  • Snap review approvals of core20 queued changes


  • First week with lot of paperwork.


  • Reproducing and debugging the changing keyboard layout during installation: LP #1875062
1 Like
  • Still working on the live-installer on the Unmatched
  • Working UEFI Image for VisionFive (flash-kernel update to PR)
  • Unmatched latest image test and update test plan
  • pbdagcon not installable on riscv64: new version uploaded by Graham
1 Like