File _patchinfo of Package patchinfo.40290

<patchinfo incident="40290">
  <issue tracker="bnc" id="1247326">[SLFO:Main] go1.21 fails to build on s390x at -buildmode=shared std for some workers only</issue>
  <issue tracker="bnc" id="1247816">go1.21,go1.22,go1.23: go1.x toolchain packages shorten bootstrap chain to go1.21 bootstrapped with gccgo</issue>
  <issue tracker="bnc" id="1245292">[SUSE:SLFO:Main] go1.16 unresolvable on all architectures</issue>
  <issue tracker="jsc" id="PED-1962"/>
  <packager>jfkw</packager>
  <rating>moderate</rating>
  <category>recommended</category>
  <summary>Recommended update for go1.21</summary>
  <description>This update for go1.21 fixes the following issues:

- The support for -buildmode=shared only depends on the go version and
  architecture, not how it was bootstrapped
  * Refs bsc#1247816 bootstrap go1.21 with gccgo
  * Refs bsc#1247326 SLFO:Main go1.21 fails to build on s390x at
    -buildmode=shared std for some workers only
  * Refs jsc#PED-1962 Reduce go1.x RPM installed file size by
    splitting .so and .a files into an optional subpackage

- Packaging improvements:
  * Refs bsc#1245292 go1.16 unresolveable on SLFO:Main. Recommended
    mitigation for SLFO:Main is to bootstrap go1.21 with gccgo and
    delete go1.16 through go1.20, all of which are EOL.
  * Refs bsc#1247816 bootstrap go1.21 with gccgo
  * Update %bcond_with gccgo_go121 to a version unique name from
    %bcond_with gccgo. OBS prjconf does not support a conditional
    %_with configuration to match just one package. Use a unique
    name that is defined only in go1.21 packaging. Bootstrap
    go1.21 with gcc-go by adding the following to prjconf:
    Macros:
    %_with_gccgo_go121 1
    :Macros
  * Update to %define gcc_go_version from 11 to 13 for SLE. gcc13
    provides go1.18 needed for bootstrapping go1.21.
  * Current Go bootstrap status: gcc13, gcc14, gcc15 all provide
    go1.18 language level gccgo. go1.21 is the latest Go toolchain
    that can bootstrap with go1.18 and thus gccgo, newer Go
    toolchains require newer bootstrap versions. No newer gccgo
    language level support has been announced, so go1.21 is the
    initial Go bootstrap version until that changes. Recommended
    for all distribution repositories to use the above prjconf to
    shorten the bootstrap toolchain and optionally remove EOL go
    versions older than go1.21.

- Packaging improvements:
  * Rebase gcc-go.patch for go1.21
  * Refs bsc#1247816 bootstrap go1.21 with gccgo

- Enable loongarch64 builds
</description>
</patchinfo>
openSUSE Build Service is sponsored by