** Summary changed:

- Go 1.27 transition [FFe for regression fixes]
+ FFe: Go 1.27 transition — regression fixes for reverse-build-dependencies

** Description changed:

- Track the transition of the default Go compiler to 1.27 (src:golang-1.27)
- for the stonking release.
+ ## FFe ##
  
- All reverse-build-dependencies of golang-defaults have been test-rebuilt
- against Go 1.27 in ppa:levihackerman-102/1.27-transition. Regressions were
- investigated and fixed; the fixed packages verified GREEN in the PPA need to
- be copied from the PPA to the archive (copy-list in the merge proposal).
+ This bug tracks the Go 1.27 toolchain transition for stonking and serves as 
the
+ Feature Freeze Exception request for the associated regression fixes.
  
- Merge proposal:
- https://code.launchpad.net/~levihackerman-102/ubuntu/+source/golang-
- defaults/+git/golang-defaults/+merge/509678
+ golang-defaults 2:1.27~0ubuntu1 (switching the default Go compiler to 1.27)
+ has been accepted and uploaded (merge proposal 509678). This FFe covers the
+ 37 reverse-build-dependency fixes that need to land alongside it; each fixed
+ package has an affects-task on this bug, and ubuntu-release is subscribed.
+ 
+ Reason why necessary: without these fixes, ~37 packages FTBFS with the new
+ default toolchain (Go 1.27 introduced stdlib behavior changes in
+ encoding/json, compress/flate, debug/dwarf, and DWARF/debug-info generation
+ that break existing -dev packages' build-time test suites).
+ 
+ PACKAGES TO COPY FROM THE PPA (all verified GREEN in
+ ppa:levihackerman-102/1.27-transition against the same golang-1.27 the
+ archive has; an archive admin can copy these source-only with the listed
+ next archive versions):
+ 
+ | Source package | Next archive version | Fix summary |
+ |---|---|---|
+ | golang-github-klauspost-compress | 1.19.0+ds1-1ubuntu1 | go1.27 stdlib zlib 
ExampleNewWriter golden; unblocks ~42 rdeps |
+ | golang-github-json-iterator-go | 1.1.12-2ubuntu1 | skip stdlib-compat tests 
diverged by go1.27; unblocks ~15 rdeps |
+ | golang-k8s-sigs-json | 0.0~git20241014.cfa47c3-1ubuntu1 | keyed literals 
(UnmarshalTypeError gained a field) |
+ | golang-starlark | 0.0~git20240725.42030a7-1ubuntu1 | testdata golden: raw 
U+FFFD + new escape error text |
+ | golang-github-dvsekhvalnov-jose2go | 1.9-1ubuntu1 | flate size drift golden 
32→28 |
+ | golang-github-smallstep-crypto | 0.85.0-1ubuntu1 | cherry-pick upstream 
v0.86.0 (ecdsa digest-len + CSR field) |
+ | golang-github-cactus-mlog | 1.0.10-1ubuntu1 | emit raw U+FFFD (invalid 
UTF-8) |
+ | golang-github-xo-tblfmt | 0.15.1-1ubuntu1 | emit raw U+FFFD via 
utf8.EncodeRune |
+ | golang-k8s-sigs-yaml | 1.4.0-2ubuntu1 | golden → raw U+FFFD |
+ | golang-k8s-kube-openapi | 0.0~git20241212.2c72e55-3ubuntu1 | golden v1 → 
raw U+FFFD |
+ | golang-k8s-apimachinery | 0.33.4-2ubuntu1 | golden ×2 → raw U+FFFD |
+ | golang-github-wader-gojq | 0.0~git20231105.2b6d9e2-1ubuntu1 | streaming EOF 
golden fixture |
+ | golang-github-openzipkin-zipkin-go | 0.4.3-1ubuntu1 | golden: pointer 
receiver type in MarshalJSON errors |
+ | golang-github-google-go-github | 60.0.0-1ubuntu1 | golden: unmarshal 
field-path prefix ×3 |
+ | golang-github-powerman-check | 1.13.0-1ubuntu1 | jsontext.Value golden + 
substring |
+ | golang-github-tidwall-gjson | 1.17.1-1ubuntu1 | emit raw U+FFFD |
+ | golang-github-launchdarkly-go-test-helpers | 3.0.2-1ubuntu1 | reorder type 
switch (RawMessage Stringer) |
+ | golang-github-googleapis-gax-go | 2.14.1-2ubuntu1 | use Decoder.More() 
(end-of-array) |
+ | golang-github-gorilla-handlers | 1.5.2-1ubuntu1 | flate size drift golden 
len |
+ | golang-github-ant0ine-go-json-rest | 3.3.2-3ubuntu1 | flate +1 byte golden |
+ | golang-github-protonmail-gopenpgp | 2.10.0-1ubuntu1 | flate larger for 
small input golden |
+ | golang-github-peterbourgon-diskv | 3.0.0-2ubuntu1 | BestSpeed stores 
near-incompressible; deterministic test data |
+ | panicparse | 2.5.0-1ubuntu1 | nested-closure naming golden |
+ | golang-github-optiopay-kafka | 2.1.1-1ubuntu1 | gzip framing golden bytes |
+ | golang-github-shopify-sarama | 1.22.1-1build1ubuntu1 | gzip framing golden 
bytes |
+ | gojq | 0.12.13-1build1ubuntu1 | streaming EOF golden fixture |
+ | golang-github-azure-go-autorest | 14.2.0+git20220726.711dde1-1ubuntu1 | 
TeeReader truncation (archived upstream) |
+ | golang-github-azure-azure-sdk-for-go | 
68.0.0+git20231220.f497335+dfsg1-5ubuntu1 | RawMessage alias golden (regexp 
accepts both) |
+ | golang-github-go-logr-logr | 1.4.3-1ubuntu1 | skip self-format switch for 
RawMessage |
+ | golang-github-frankban-quicktest | 1.14.6-1ubuntu1 | golden: pointer-type + 
Stringer |
+ | golang-github-go-quicktest-qt | 1.101.0-2ubuntu1 | golden: pointer-type + 
Stringer |
+ | delve | 1.27.1-2ubuntu1 | Debian 1.27.1-2 (upstream 1.27.1 incl. f1f9d0a1 + 
d716866a46) + FIXED ppc64le skips (Debian 0011 never fires; + TestCgoStacktrace 
ppc64le, delve#4423) |
+ | ubuntu-report | 1.7.3ubuntu5 | symbols: allow threadentry (rc3 c-shared 
export) |
+ | ubuntu-insights | 1.0.0ubuntu1 | symbols: allow threadentry (rc3 c-shared 
export) |
+ | golang-honnef-go-tools | 2026.2~rc1-0ubuntu1 | new upstream rc (go1.27 
support) + skip 2 vendored x/tools tests + GO111MODULE env typo fix 
(go-tools#1733) + vendored classify_call synced to x/tools 0.49 |
+ | golang-github-go-git-go-git | 5.19.1-1ubuntu1 | accept both zlib 
empty-block encodings + 34/35B deflate size drift (3 test spots) |
+ | golang-github-tetratelabs-wazero | 1.12.0-1ubuntu1 | cherry-pick upstream 
c6d3455 (wazero#2527): go1.27 debug/dwarf.New nil return broke source offsets |
+ 
+ New upstream code (rows needing genuine FFe attention):
+ * golang-honnef-go-tools 2026.2~rc1-0ubuntu1 — new upstream release
+   candidate (required: 2026.1 cannot parse Go 1.27 ASTs). Upstream changelog/
+   release notes: https://honnef.co/articles/staticcheck-v0.7-rc1/ and
+   git log 2026.1..2026.2rc1 at https://github.com/dominikh/go-tools
+   (upstream NEWS/CHANGELOG diff attached as honnef-changelog.diff)
+ * delve 1.27.1-2ubuntu1 — new upstream point release, Go 1.27 compat.
+   Release notes: https://github.com/go-delve/delve/blob/master/CHANGELOG.md
+   (1.27.1 section)
+ * golang-github-tetratelabs-wazero 1.12.0-1ubuntu1 — single upstream
+   cherry-pick c6d3455 (wazero/wazero#2527)
+ * golang-github-go-git-go-git 5.19.1-1ubuntu1 — test-golden updates only
+ 
+ All remaining rows are bugfix-class: test-only or build-only changes (golden
+ output updates, test skips for toolchain-diverged stdlib behavior, symbols
+ file tweaks) with no functional change to shipped binaries.
+ 
+ Testing performed:
+ * Builds: every listed version built successfully in the PPA on all supported
+   architectures (sole exceptions are pre-existing, noted below). Build logs
+   are in ppa:levihackerman-102/1.27-transition.
+ * Installs/upgrades: All packages are arch-independent -dev packages or
+   leaf tools; upgrade impact was exercised implicitly by the full PPA
+   rebuild (every reverse-build-dep rebuilt with exactly these -dev versions
+   installed, so dep-resolution and install paths are proven at scale).
+ * Does not break dependents: the PPA contains ONLY these fixes + toolchain-
+   relevant copies; the full rdep rebuild against it shows no broken
+   dependency chains (two proposals-copies that would have broken resolution
+   — otel 1.43, image-spec 1.1.1-2 — were found and removed during testing).
+ * Known residual build failures (pre-existing, NOT Go 1.27 regressions):
+   delve on riscv64 (no upstream riscv64 backend), wazero on
+   ppc64el/armhf (unsupported engine arches). Both fail identically in the
+   archive under Go 1.26.
+ 
+ Regression potential:
+ * Low. The test/build-only rows cannot affect runtime behavior. For the
+   four new-code rows: delve/wazero/go-git/honnef each ran their full upstream
+   test suites green under Go 1.27rc3 in a clean stonking environment before
+   PPA upload; wazero's cherry-pick was verified under both Go 1.26.5 and
+   1.27rc3.
+ * Worst-case regression path: a library's build-time test fix masks a real
+   behavioral change — mitigated by upstream engagement (wazero/wazero#2526
+   fixed upstream in PR #2527; dominikh/go-tools#1733; go-delve/delve#4423;
+   snapcore/snapd PR #17472).
+ 
+ Seeded-in-ubuntu: none of the 37 packages ship seeded binaries except
+ ubuntu-insights:
+ 
+   $ seeded-in-ubuntu golang-honnef-go-tools delve 
golang-github-tetratelabs-wazero       golang-github-go-git-go-git 
golang-github-klauspost-compress ubuntu-report
+   (each): binaries are not seeded.
+   $ seeded-in-ubuntu ubuntu-insights
+   libinsights-dev (from ubuntu-insights) is seeded in:    ubuntu: supported
+   libinsights1 (from ubuntu-insights) is seeded in:       kubuntu: supported
+ 
+   ubuntu-insights 1.0.0ubuntu*: symbols-file-only change (accept new cgo
+   threadentry symbols exported by Go 1.27); no ABI break.
+ 
+ References:
+ * golang-defaults MP: 
https://code.launchpad.net/~levihackerman-102/ubuntu/+source/golang-defaults/+git/golang-defaults/+merge/509678

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2164597

Title:
  FFe: Go 1.27 transition — regression fixes for reverse-build-
  dependencies

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/delve/+bug/2164597/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to