FESCO approved https://pagure.io/fesco/issue/3431 that completely changes the way Go packages in Fedora are packaged. We (the Go SIG) are tracking the necessary documention and Guidelines changes in https://gitlab.com/fedora/sigs/go/go-vendor-tools/-/issues/76 and the work is already underway.
At the same time, due to recent large-scale package orphaning (apparently due to inactive maintainer processes) and the long-term FTBFS policy, many golang-* library packages are slated to be retired soon. We'd ultimately like the Go applications affected by these orphaned packages to be converted to vendored dependencies and then those packages retired (as outlined in the Change), but the guidelines are not in place yet. We want to make sure that the ecosystem doesn't break completely due to package retirements or maintainers who aren't among the Go vendoring early adopters don't improperly convert packages or that the outdated golang-* library packages don't all get picked up again by someone else while we're working on these major structural changes and Guidelines.
golang-*
Therefore, I'd like to request that golang-* packages that are not already leaves (we keep track of leaf packages in https://gitlab.com/fedora/sigs/go/package-data/-/blob/main/leaves?ref_type=heads that's updated nightly) are temporarily exempted from automatic retirements via the orphaned packages and long-term FTBFS processes. If FESCo approves this exemption, I will make sure the appropriate packages are excluded as the executor of the Orphaned Packages process and I will coordinate with @churchyard regarding the long-term FTBFS packages.
/cc @mikelo2 @alexsaezm
I think it makes sense to temporarily pause processing golang-* packages due to how in flux that stack currently is. I assume you'd announce when you would start resume processing retirements of these packages again?
+1
I agree, though I think we should put a time limit to this: eg: for F43 cycle or F43 and F44 cycle
I don't expect this to go on indefinitely. I plan allow no more than 6 weeks after the new Guidelines are approved before starting golang- retirements again. I would adjust the header on the Orphaned Packages report to mention the current golang- exemption and then make an announcement and remove the header once it's over.
That sounds good to me. If it's expected to last only on the order of ~6 weeks, then I don't think we need to put an official time limit on it. :)
I'll keep the packages in today's reminder, as this was not yet approved. But I am aware of this ticket.
APPR0VED (+7, 0, 0)
Announced: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/MWAYYY45CYEZ4FZCOF4GGWFAYMWBII4E/
Metadata Update from @zbyszek: - Issue close_status updated to: Accepted - Issue status updated to: Closed (was: Open)
So ... I'm wondering when would be a good time to revisit this exemption.
In theory, "no more than 6 weeks after the new [Packaging] Guidelines are approved" sounds good ... but it's been three months now (~12 weeks) and the Golang Packaging Guidelines haven't been updated yet, so this "temporary" exemption is still hanging around.
Has there been progress on new Golang Packaging Guidelines? I see no pending PR.
At which point should this exemption be dropped, whether the new Guidelines are in place or not?
I know, I really wanted to have the Guidelines finished by now, but other things got in the way. It is being worked on in https://gitlab.com/fedora/sigs/go/packaging-guidelines-fork and most of it has been written. I plan to have it done end of next week; we just discussed it in the Go SIG meeting yesterday. For what it's worth, there are about 30 packages being held back due to this exemption right now, and I have retired 780 orphaned packages since August 1st, so the amount is relatively small.
Ok, thanks for the update. Keep us posted :)
New guidelines PR submitted: https://pagure.io/packaging-committee/pull-request/1498