Hi, Quick update on this one. A few things changed since my last message in December, and I've since taken a closer look at the whole reverse-dependency chain.
State of things: 1.3.0-1 is still sitting in experimental, and sid is back on 1.2.1-2. I retried an upload of 1.3.0-2 to unstable, and the debusine reverse-dep QA flagged a fresh set of build failures. The round of fixes I did back in December (cgroups 0.0.6, runtime-tools 0.9.0.141, runc) all went to experimental alongside 1.3.0-1 and were never picked up in unstable, so the current breaker list is effectively the full one. The good news is that the ecosystem has caught up in the meantime. As of today, released versions of the major consumers build against 1.3.0: - runc 1.4.0 (and 1.5.1) adopt 1.3.0 - containerd 2.2.1+ and 2.3.x adopt 1.3.0 (note: the initial 2.2.0 still pinned 1.2.1); current stable is 2.3.3 - buildah 1.44.0 adopts 1.3.0, and pins runc 1.4.2 - golang-github-containerd-cgroups 3.1.3 adopts 1.3.0 Also worth keeping in mind: upstream dropped 1.2.x entirely, there is no release-1.2 branch, only main, and v1.2.1 (Feb 2025) is the final 1.2.x release. So staying on 1.2.x is a dead end either way. A few findings that aren't obvious from the changelog: 1. The Go breaking change is narrower than I originally thought. Only LinuxPids.Limit changed from int64 to *int64; LinuxMemory.Limit was already a pointer in 1.2.1. The other compile-level break is in the IntelRdt struct, where EnableCMT/EnableMBM were removed in favour of schemata and enableMonitoring. 2. crun is off the list. 1.24-1 now builds against its bundled copy of the OCI specs, so it no longer consumes this package. (#1122251) 3. docker.io is a new find, and a slightly awkward one. Moby's getPidsLimit in daemon/daemon_unix.go assigns a plain int64 to specs.LinuxPids.Limit, which breaks against 1.3.0. The fix is in Moby master, but there is no released version that carries it (latest is still 28.5.2). So either a small quilt patch, or we wait for the next docker release. 4. runtime-tools is the last hard blocker upstream: no release contains the 1.3.0 fix, only master. Since we already package it from git snapshots, I'll just snapshot master instead of patching around it. Proposed upload order, trying to keep the broken window in unstable as small as possible (every consumer needs 1.3.0 in the archive to build at all, so specs has to go first): 1. golang-github-opencontainers-specs 1.3.0 -> unstable 2. runc 1.4.x 3. golang-github-containerd-cgroups 3.1.3, golang-github-containerd-nri 0.12.0 4. containerd 2.3.3 (plus the container-device-interface bump it needs) 5. golang-github-containers-buildah 1.44.x 6. golang-github-opencontainers-runtime-tools (master snapshot) 7. docker.io (quilt patch for getPidsLimit) I'll rerun the debusine reverse-dep tests after each step, and once the last consumer is green the upload should migrate on its own. Planning to start with runc 1.4.x unless somebody objects. -rt

