From Fedora Project Wiki

< Changes

Revision as of 21:52, 19 December 2022 by Bcotton (talk | contribs) (Change approved by FESCo)


Golang 1.20

Summary

Update of Go (golang package) to the upcoming version 1.20 in Fedora 38.

Owner


Current status

  • Targeted release: Fedora Linux 38
  • Last updated: 2022-12-19
  • devel thread
  • FESCo issue: #2913
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Update of Go (golang package) to the upcoming version 1.20 in Fedora 38. Go 1.20 is expected to be released in February 2023. A mass rebuild of all of the dependent packages is required.

Feedback

No feedback yet.

Benefit to Fedora

Up-to-date and latest Go release will be delivered to Fedora users. Being close to upstream allows us to avoid security issues and provide more up-to-date features. Therefore Fedora will be providing a reliable development platform for Go language and projects written in it.

For a complete list of changes, see upstream change notes at https://tip.golang.org/doc/go1.20

Scope

  • Proposal owners:

Rebase Golang package in Fedora 38, and help resolve possible issues found during package rebuilds.

  • Other developers:

Fix possible issues, with help from Golang maintainers.

  • Release engineering: 11160

Rebuild of dependent packages as part of planned mass-rebuild.

  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: It doesn't align directly with the current objetives but it helps maintain the quality of the project.

Upgrade/compatibility impact

No upgrade or compatibility impact.

How To Test

  1. Install golang 1.20 from rawhide and use it to build your application(s)/package(s).
  2. Scratch build against rawhide.
  3. Your application/package built using golang 1.20 should work as expected.

User Experience

Users will have a newer version of Go, with new features described in the release notes and security fixes

Dependencies

dnf repoquery -q  --releasever=rawhide --disablerepo='*' --qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'golang'
dnf repoquery -q  --releasever=rawhide --disablerepo='*' --qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'compiler(go-compiler)'
dnf repoquery -q  --releasever=rawhide --disablerepo='*' --qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'compiler(golang)'
dnf repoquery -q  --releasever=rawhide --disablerepo='*' --qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'go-rpm-macros'
Omitted due to the number of packages listed: ~2000.

Contingency Plan

  • Contingency mechanism: Revert to Go 1.19.X if significant issues are discovered
  • Contingency deadline: Beta freeze
  • Blocks release? No


Documentation

https://tip.golang.org/doc/go1.20

Release Notes