** 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
