[Bug 285326] net-mgmt/netdata doesn't respect configured DEFAULT_VERSIONS+=go={version}
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 12 Mar 2025 00:57:52 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285326 --- Comment #2 from Adam Weinberger <adamw@FreeBSD.org> --- Go version pinning is a relatively new feature, and our framework hasn't adapted yet. As you pointed out, we absolutely have to approach version specification differently than we do today. Some things to keep in mind (and PLEASE correct me if I'm wrong about any of these!): 1) If a go.mod specifies `go 1.23`, that is a MINIMUM specification, not an actual version pin. 2) `USES=go:1.23` brings in only go123, which is NOT consistent with (1). 3) We have no way to specify a minimum go version. 4) In many circumstances, when a go.mod requires 1.23, Go will download go-v1.23 sources to link against that version's stdlib. 5) Porters often misinterpret this as thinking that they must then specify USES=go:1.23. We already have an issue where we can't just remove old, unsupported Go versions, because ports incorrectly recorded a go-1.21 requirement. 6) It should be INCREDIBLY rare for a port to *actually* need a specific go version! We need to fix this, but I'm not sure what the right approach is: 1) Always treat USES=go:1.23 as requiring go>=1.23 2) Add a new syntax, such as USES=go:1.23+ 3) USES=go:1.23 means >=1.23, and some other syntax (maybe USES=go:=1.23 or something) means "must be 1.23" 4) Is there a build flag or some other mechanism that brings version pinning in line with how we do version pinning? -- You are receiving this mail because: You are the assignee for the bug.