From Fedora Project Wiki
(Change submitted to FESCo)
(Change approved by FESCo)
Line 2: Line 2:


= Golang 1.20 <!-- The name of your change proposal --> =
= Golang 1.20 <!-- The name of your change proposal --> =
{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
Line 23: Line 21:


== Current status ==
== Current status ==
[[Category:ChangeReadyForFesco]]
[[Category:ChangeAcceptedF38]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Revision as of 21:52, 19 December 2022


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