Re: About how Go is updated in Fedora

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 13, 2021 at 2:25 PM Alejandro Saez Morollon <asm@xxxxxxxxxx> wrote:
>
> I've been thinking a little about how Go is updated in Fedora. I would like to hear other opinions about the current state of the releases and improve it.

(snip)

Sorry for not seeing this email earlier. I have been sending all mail
from the golang list to /dev/null for my sanity's sake, and this
thread has fallen victim to that.

> Both Go and Fedora have release cycles of 6 months, so the schedule is a little tight. Go releases can be delayed and have issues in the mass rebuild phase.
> A user needs to wait for the next Fedora release to get a new major version of Go. So consequentially, they will tend to download from upstream, making the Go package just necessary for dependencies but with little use on its own. Also, backport bugs to Fedora releases might be a problem. Releasing packages that depend on new features are an issue too [0].

If the release cycles of Golang and Fedora are conflicting, there's
nothing we can do.
It might not be the "best" outcome considering the "First" foundation,
but what about just ... *not* bothering with making the tight squeeze?
If it's too tight to get Go X into Fedora Y in time, then just update
to Go X when it's ready, only in rawhide (Fedora Y+1).
That way, Fedora releases get the most recent, stable Go version that
was available at the time. (This is already what happened with Go 1.17
in rawhide earlier this year).

And is keeping older branches really such a problem? I see that
upstream keeps releasing bugfix / point releases for older golang
branches. Fedora 34 and 35 have golang 1.17.11 (!) right now, so that
should not be a problem for our 1-year+one-month lifecycle?

> What I think is an improvement:
>
> Suppose a new Go major version is released in the middle of a Fedora life cycle. In that case, I think it is an improvement for the user to be able to update to the following Go release.
>
> A hypothetical new release cycle would look like this:
>
> Fedora N release follows Go upstream as close as we can.
> Fedora N-1 sticks with the latest major version of Go that was available on it until the release of Fedora N.

I think this is a *very bad* idea. Thankfully, I now maintain only one
package that uses golang (though with a lot of vendored dependencies),
but it still breaks with almost every major release of Golang for some
inexplicable reason (even though Go promises forwards-compatibility
...). Updating the Go compiler in the middle of a stable release would
break numerous packages, and I don't think we should put even more
maintenance and unnecessary build-fixing busywork on the already
stretched-thin golang package maintainers in Fedora.

Just update the Go compiler to a new major version when it is ready,
only in rawhide. There, package build issues can be resolved without
impacting or blocking updates on stable releases, and then let the new
Go trickle down into the next stable release. That's how the Rawhide
-> Fedora train works for a reason (GCC, Python, Ruby, LLVM/Clang,
etc. all work this way;  the only different toolchain is Rust, which
is updated - thanks to very very strong forward-compatibility
guarantees - every 6 weeks).

Honestly, I do not see the problem with how things currently work.
Isn't it normal that "the new hotness" is first baked to perfection in
rawhide, until it is then released with the next stable Fedora
release?

Fabio
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux