Foundations Team Updates - Thursday 2024/03/14



+1 Maintenance and armhf Transition

Fixed the following packages (FTBFS):

Transitioned the following packages (armhf time_t 64-bit transition, with help from @vpa1977 @vorlon @mwhudson, thank you!):

  • vala
  • gtk+2.0
  • gtk+3.0
  • gtk-4
  • samba
  • json-glib
  • librsvg
  • libqrtr-glib
  • libqmi
  • libmbim
  • libgudev
  • modemmanager
  • libsoup3
  • php8.3
  • cups
  • libwacom
  • pygobject
  • gjs
  • xterm
  • groff
  • libsdl2
  • vim
  • graphviz
  • ghostscript
  • avahi
  • poppler
  • libdbusmenu
  • gssdp
  • gupnp
  • neatvnc
  • freerdp2
  • gupnp-igd
  • weston
  • libnice
  • tesseract
  • colord
  • sane-backends
  • enchant-2
1 Like

Test v6.8 kernel on RISC-V

  • Package licheerv-rtl8723ds-dkms: kernel module fails to build


  • new version is released now


  • pull request created to add riscv64 architecture

Research project

  • Assist in scope definition and application


  • review applications
1 Like
  • subiquity
    • PR: #1932 - fix bad samples in the autoinstall quickstart docs
    • PR: #1934 - allow autoinstall guided storage to match raids in certain circumstances. We need to know a plan for that raid device to be bootable so it’s limited to imsm today. Also improve some exceptions and logging in the area.
    • Testing of mok enrollment / ubuntu-drivers related things
  • time_t - curl upload, pruning of completed packages from the bootstrap PPA, e2fsprogs merge, build clicks, currently investigating Bug #2057735 “proposed-migration for adns 1.6.0-2.1” : Bugs : adns package : Ubuntu
  • proposed-migration: procps - 3 failed tests, nodejs / request-tracker5 passed on retry, dadhi-linux ADT was baseline broken due to linux-doc disappearing
  • greenhouse
  • 360
1 Like


  • Submitted an MP modifying the updated filter-amqp (which runs in a while true loop) to only create the amqp channel one time.
  • Submitted an MP which installs gpg-agent on bionic adt images. Somehow the package is missing and in the interest of clearing the queues this change seemed like the fastest way forward.
  • Deleted and recreated the Bionic adt image to see if that would resolve the gpg-agent issue and it did not.
  • Queue cleaning.
  • Pinged IS regarding issues with s0lp4 in bos02. RT 155441
  • Pinged IS regarding issues with network connectivity to s390x instances in bos01.
  • Added rust-x11rb to big_packages for ppc64el and s390x due to it being killed.
  • Debian huge queue management.


  • Review and merge of @andersson123’s MP adding a pre-commit hook to meta-release.
  • Review and merge of @andersson123’s MP adding shellcheck to the pre-commit hook of meta-release.


  • Submitted an MP updating when to “unfreeze” the release for SRUs in the point release process.
  • 360 reviews.
  • Hiring work.
  • This covers 2 weeks but one of those I was on holiday.
1 Like


armhf Y2038 support (a.k.a armhf 64-bit time_t)

  • Analyzed the compatibility of ubuntu-specific libraries which are luckily mostly unaffected but some couldn’t be analyzed and will be treated as incompatible


  • Worked with @hyask on the addition of queued and running tests to the autopkgtest pages that show the test history
  • Improvements to the crypto-config specification to expand coverage and make it more readable
  • Working on a rewriter for excuses... to make it lighter for browsers and more useful; got some initial results that are very encouraging (but it’s painful: this page is a big hack)
  • Created next week’s status topic: Foundations Team Updates - Thursday 2024/03/21
  • 360 reviews
1 Like




  • hiring
  • 360 survey
  • Pulse planning
1 Like
1 Like


  • Uploaded openssh with a fix for LP: #2055806
  • Uploaded ubuntu-release-upgrader with a fix for LP: #2055720
  • Looking into another ubuntu-release-upgrader bug, LP: #2047447
    • The root cause is in python-apt, but we could upload a workaround in u-r-u if needed
  • Investigated polkitd postinst issue on jammy → noble upgrades, LP: #2054716
  • Responded to review on deb822 autopkgtest PR, hoping to get that merged soon
  • Sponsored update-notifier SRU follow up, LP: #2015420


  • Finished annual trainings
  • Conducted a Linux skills interview
  • 360
1 Like

Short week due to PTO on Monday and Tuesday.


  • Attended weekly .NET partners sync meeting
  • Working on the new .NET snaps and the installer tool
    • Moved repo to Canonical org
    • GitHub repo housekeeping (setting up CODEOWNERS and validation workflows)



  • Finished 360
1 Like


  • MIR libtraceevent (see LP #2051916)
    • reworking lib path
  • MIR libtracefs (see LP #2051925)
    • Investigating failing uprobe tests
  • apt/2.7.12 vs xz-utils/5.6.0-0.2 proposed-migration
    • Investigated. Waiting for queued retest to run


  • Bug grooming
  • Reviewed PR #1929 (on subiquity) - Add ubuntu-image reference
  • PR #192 - Enable not generating artifacts
    • merged
  • PR #195 - Fix mountpoint management
    • in review
  • PR # 196 - Fix resume feature on snap build
    • merged
  • PR #197 - Add dirmngr in the snap
    • merged
  • Some work on bootloader handling improvement


  • PR #22 - Use new ubuntu-image feature to build a rootfs easily
    • In review


  • Setting up a RPi5 to have a local arm64 builder
  • 360 reviews
1 Like

I actually took the time to write notes down during the week, so this week’s status is bigger than the usual hastily written blurb.


  • Fought with needrestart autopkgtests to finally get it out of -proposed!
  • 360 reviews
  • sponsored openssl for @adrien


  • Looked into the liblocale-gettext-perl issue, which turns out to be a regression due to glibc now treating C.UTF-8 the same way it does C (and liblocale-gettext-perl didn’t like that).
  • Also looked into the evolver autopkgtest problem which is actually a bug in libquadmath (i.e. GCC). Patch sent on the upstream ML
    • TIL that a SIGSEGV isn’t just for segmentation faults, but also for general-protection exceptions. Shout-out to @upils whose internal thread about type-punning last week actually mentions the very UB that the code hits: Thou Shalt Mind Alignment When Casting. In this case, casting a void* into a float128, leading the compiler to use instructions that fault when reading the unaligned pointer into FP registers.
  • The stack trace for the above bug was eerily simiar to the one for the libdfp FTBFS that had me scratching my head a few weeks ago. It turns out it was the exact same issue (although in a different codebase), and knowing the exact cause allowed to find the upstream fix.
  • Fixing the glibc test suite to gracefully handle the AppArmor userns changes (again).
    • Still ongoing, learning new things every turn. For instance, did you know that you can’t call write() on /proc/self/uid_map twice?
  • In parallel, looking into the conformance test failures on armhf that popped up with the t64 transition. Did we accidentally the POSIX standard?
  • Prepared a fix for my i386/x32 CET “fix” that broke the i386 build (meanwhile @mwhudson reverted the first version and uploaded it)

Patch Pilot shift:

  • Quick review on the OpenSSL FIPS patchset
  • Review and upload of @xypron’s console-setup merge which led me down a rabbit hole trying to understand how the various pieces fit together between the Salsa repo, the git-ubuntu history, and the build system ‑ purely based on makefiles. Because I don’t fight enough with make scripts on glibc.



  • 360 reviews
  • prepare VISA applications to Madrid
1 Like

No Apport work this time!



Patch pilot

proposed migration

  • klibc/2.0.13-4: Retriggering initramfs-tools tests once 0.142ubuntu20 (that contains the klibc /usr-merge change) migrated

64-bit time_t transition

  • gdal: Uploaded 3.8.4+dfsg-3ubuntu1 to drop the python3-distutils build dependency
  • Copied qt6-5compat to archive-bootstrap PPA to unblock wireshark
  • Synced fyba 4.1.1-11
  • Copied qt6-quicktimeline (needs libproxy) to archive-bootstrap PPA
  • Copied qt6-quick3d
  • Upload fixed gnuplot 6.0.0+dfsg1-1ubuntu1 for @liushuyu-011
  • The archive publishing was done. Deleted these packages from the PPA: fluidsynth libsdl2 libvirt mpi4py qt6-multimedia qt6-quick3d qt6-quicktimeline qt6-svg wireshark
  • Retriggering builds in the PPA: leptonlib → opencv → webkit2gtk
  • Uploaded ntfs-3g 1:2022.10.3-1.2 for @liushuyu-011 and the noble merge 2022.10.3-1.2ubuntu1
  • Rebuild libdvdnav 6.1.1-1build1 against libdvdread8t64
1 Like


  • Writing a spec for MOK Enrollment in Subiquity

    • Related: Researching how to create fake devices in a VM. So far I have been recommended umockdev which can be seen in action in ubuntu-drivers-common. If you have done this successfully before let me know!
  • Updated handling of copying installation media metadata to target systems



  • 360
1 Like

subiquity / curtin

  • investigated and fixed failed installation of SSH server. The regression was introduced when we started running chroot commands in a new PID namespace with /proc properly mounted. The openssh-server postinst script runs systemctl commands, which failed to determine that we were running in a chroot. LP: #2056570

  • moved curtin back to deb822 sources to fix Subiquity ignoring mirror settings LP: #2056308

  • fixed unconditional installation of nvme-stas when a NVMe controller is present. Only NVMe-oF controllers trigger installation of nvme-stas now. LP: #2056730

  • added ability in kvm-test to run with installation with a NVMe drive


  • started looking at db5.3 but it is a work in progress
1 Like
  • Responding to MIRs
    • Pemmican needed a bug fixed (LP: #2056553)
    • but otherwise was okay and is now (potentially) pending security review (LP: #2055434)
    • nbd needs rather more attention (LP: #2054480); working on a decent set of autopkgtests
    • … but first needed to fix a couple of other bits
  • Investigating a “proper” fix for the boot delay on Pi images (LP: #2036358)
  • Working on refreshing the boot, wifi, and bluetooth firmware in linux-firmware-raspi (LP: #2056588, LP: #2046841, LP: #2031600)
  • Proposed-migration
    • Worked on python-ldap; the missing _ldap module didn’t reproduce locally
    • … but there’s a time_t64 issue pending (probably solved in -proposed but I’m unable to build from that currently)
  • I’m aware of the irqbalance discussion vis-a-vis the Pi 5’s power button, but haven’t had the time to dig into it yet (LP: #2057822)
  • Pi meetings
1 Like


  • time_t: syncs have landed, now there’s a lot of bootstrapping work to be done to break build-dependency loops since the old and new library names are not co-installable
    • together with the team, have rebootstrapped the stack (glib, gtk etc) and Qt5+Qt6. Most of this week has been spent working through the horrible rebootstrap of libproxy, which build depends on webkit2gtk because it builds a plugin for this, and therefore requires bootstrap builds of ~20 library packages including for some horrible reason vtk9, openmpi, opencv, …


  • FFe reviews
1 Like
  • 360
  • Some 24.10 roadmap gathering
  • Analysed some concerns from Launchpad
  • Fixed to not rewrite the order of keys; in turn fixing the order of tables on the /running page.
  • Proposed-migration fun
1 Like
  • Most of Monday on 360
  • Developed patch for: GRUB 2.12 is incapable of chainloading systemd-stub UKIs LP: #2057679
  • Working on patch for other misc GRUB issues
  • Working on testing shim to shim chainloading, and the shim loader protocol for upstream
  • bpfcc and bpftrace MIR hold ups
    • got bpfcc test suite passing (with some tests disabled)
    • got bpftrace test suite passing locally (with some tests disabled)
    • bpftrace_test segfaults in the testenv, haven’t managed to track down cause yet
  • dnspython proposed-migration seems to be t64 transition induced dependency issue
1 Like


  • Currently working on SRUs of 0.107.1 for Jammy and Mantic.
1 Like