From Fedora Project Wiki
(Announcing the Change proposal)
m (Add trackers)
 
(3 intermediate revisions by 2 users not shown)
Line 3: Line 3:
= Golang 1.19 <!-- The name of your change proposal --> =
= Golang 1.19 <!-- The name of your change proposal --> =


{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
Line 23: Line 22:


== Current status ==
== Current status ==
[[Category:ChangeAnnounced]]
[[Category:ChangeAcceptedF37]]
<!-- 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 -->
Line 41: Line 40:
-->
-->
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/SXB2CLMLJU6NB6BOR3VJPV3QY47KNQBS/ devel thread]
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/SXB2CLMLJU6NB6BOR3VJPV3QY47KNQBS/ devel thread]
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/2819 #2819]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2103240 #2103240]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/853 #853]
* Releng issue: https://pagure.io/releng/issue/10844


== Detailed Description ==
== Detailed Description ==
Line 171: Line 171:


<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: Reverting to golang version 1.18.X if significant issues are discovered.
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: Beta freeze
Reverting to golang version 1.18.X if significant issues are discovered.
* Blocks release? No
* Contingency deadline: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
Beta freeze
* Blocks release? <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
No


== Documentation ==
== Documentation ==

Latest revision as of 18:26, 1 July 2022


Golang 1.19

Summary

Rebase of Golang package to upcoming version 1.19 in Fedora 37, including the rebuild of all dependent packages(the pre-release version of Go will be used for the rebuild if released version will not be available at the time of the mass rebuild).

Owner


Current status

Detailed Description

Rebase of Golang package to upcoming version 1.19 in Fedora 37. Golang 1.19 is expected to be released in August 2022. Due to Go packages' current nature and state, the rebuild of dependent packages will be 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.19


Scope

  • Proposal owners:

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

  • Other developers:

Fix possible issues, with help from Golang maintainers.

  • Release engineering:

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

None.

How To Test

0.
a) Install golang 1.19 from rawhide and use it to build your application(s)/package(s).
b) Scratch build against rawhide.
1.
Your application/package built using golang 1.19 should work as expected.


User Experience

None

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.

Not all of listed require re-build as they might not ship binaries and/or do not use golang compiler during build, but only use Go rpm macros that pull it in to every build root.


Contingency Plan

  • Contingency mechanism: Reverting to golang version 1.18.X if significant issues are discovered.
  • Contingency deadline: Beta freeze
  • Blocks release? No

Documentation

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

Release Notes