Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Dec 2025 15:30:59 -0500
From:      Adam Weinberger <adamw@adamw.org>
To:        Daniel Engberg <diizzy@freebsd.org>
Cc:        freebsd-go@freebsd.org, FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: Deprecating old Go versions (and the ports that use them)
Message-ID:  <CAP7rwcgiUYiB_rmU_V2GoJ_Eh=oYfoZ_PUTqANuf1BGcUKEjzQ@mail.gmail.com>
In-Reply-To: <35abf601-f72c-42fd-9c41-121eb3ae71d3@FreeBSD.org>
References:  <CAP7rwcj-h0xUJ6QJMVfi6JE3h1SDN44J43qzBgtWLUFS3EYdJQ@mail.gmail.com> <35abf601-f72c-42fd-9c41-121eb3ae71d3@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Fri, Dec 5, 2025 at 2:52 PM Daniel Engberg <diizzy@freebsd.org> wrote:

> The issue with this approach is that it breaks dependency tracking and
> expected behavior within in the ports repo, concerns which have been
> brought up before [1]. Indirectly it also show yet again that we need to
> have a sane deprecation policy within the tree. If port X doesn't build
> with a supported "compiler" it either needs to be patched (preferably
> upstream and the pulled in downstream) or it needs to go.
>
> If you install GCC 14 you don't except it to download and use GCC 11
> instead. While this might clash with Go(lang)'s idea of an ecosystem that's
> how we package ports and how people expect ports to work.
>
> Going with the information above why not patch go.mod on the fly to match
> the current compiler version being used? If it breaks patch or mark it as
> broken and move on.
>
> Best regards,
> Daniel
>
> 1: https://reviews.freebsd.org/D49906
>

I'm really not advocating for any particular approach other than that we
badly need to remove old Go versions, which are blocked by ports with
pinned versions. I really don't care how we handle version selection moving
forward (I mean, I *do* care, but right now I'm trying to clean up a mess
before it catches fire), and I'll happily go along with any consensus.

Right now we have a collection of ports that depend on Go versions that
absolutely shouldn't be in the tree, and in 3 months we are going to have
to do the same process with everything pinned to 1.24. And six months after
that, do it again with 1.25.

So far today I've handled one message cursing at me, five emails where
committers thought that petulant sarcasm would make them feel superior, two
emails accusing me of gaslighting developers, one email mocking a paste
error that took longer to write than fixing it would have, about 6 emails
asking for clarification (thanks to everyone who reached out!), I've lost
count of the number of messages about how the how the version system ought
to work, and one email from a committer saying they were offended that I
only provided a list of ports and it was too much work to remember which
port they maintained. I've had exactly one person reach out to say, "How
can I help?"

Daniel, I think your ideas are great, and I'm super eager for ANYONE to
step in and build a better system. Also, I appreciate your thoughtful
approach and constructive response.

Today, I'm trying to fix the problem of us providing Go versions that we
shouldn't. I'm happy to work on fixing everything else tomorrow, if we
could please work on the highest-priority item first and maybe---just
maybe---people could take a deep breath before sending me emails that are
barely more than curse words. I agree that everyone is a better developer
than me---I've said this publicly many times---so it doesn't take a flame
email or a dose of witty sarcasm to feel superior, ok? (To be clear, NONE
of those last sentences applies to diizzy in any way.)


-- 
Adam Weinberger
adamw@adamw.org

[-- Attachment #2 --]
<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,sans-serif">On Fri, Dec 5, 2025 at 2:52 PM Daniel Engberg &lt;<a href="mailto:diizzy@freebsd.org">diizzy@freebsd.org</a>&gt; wrote:</div></div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>The issue with this approach is that it breaks dependency
      tracking and expected behavior within in the ports repo, concerns
      which have been brought up before [1]. Indirectly it also show yet
      again that we need to have a sane deprecation policy within the
      tree. If port X doesn&#39;t build with a supported &quot;compiler&quot; it
      either needs to be patched (preferably upstream and the pulled in
      downstream) or it needs to go.</p>
    <p>If you install GCC 14 you don&#39;t except it to download and use GCC
      11 instead. While this might clash with Go(lang)&#39;s idea of an
      ecosystem that&#39;s how we package ports and how people expect ports
      to work.<br>
      <br>
      Going with the information above why not patch go.mod on the fly
      to match the current compiler version being used? If it breaks
      patch or mark it as broken and move on.<br>
      <br>
      Best regards,<br>
      Daniel</p>
    <p>1: <a href="https://reviews.freebsd.org/D49906" target="_blank">https://reviews.freebsd.org/D49906</a></p>;
  </div>

</blockquote></div><div><br></div><div><div style="font-family:arial,sans-serif" class="gmail_default">I&#39;m really not advocating for any particular approach other than that we badly need to remove old Go versions, which are blocked by ports with pinned versions. I really don&#39;t care how we handle version selection moving forward (I mean, I *do* care, but right now I&#39;m trying to clean up a mess before it catches fire), and I&#39;ll happily go along with any consensus.</div><div style="font-family:arial,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,sans-serif" class="gmail_default">Right now we have a collection of ports that depend on Go versions that absolutely shouldn&#39;t be in the tree, and in 3 months we are going to have to do the same process with everything pinned to 1.24. And six months after that, do it again with 1.25.</div><div style="font-family:arial,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,sans-serif" class="gmail_default">So far today I&#39;ve handled one message cursing at me, five emails where committers thought that petulant sarcasm would make them feel superior, two emails accusing me of gaslighting developers, one email mocking a paste error that took longer to write than fixing it would have, about 6 emails asking for clarification (thanks to everyone who reached out!), I&#39;ve lost count of the number of messages about how the how the version system ought to work, and one email from a committer saying they were offended that I only provided a list of ports and it was too much work to remember which port they maintained. I&#39;ve had exactly one person reach out to say, &quot;How can I help?&quot;</div><div style="font-family:arial,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,sans-serif" class="gmail_default">Daniel, I think your ideas are great, and I&#39;m super eager for ANYONE to step in and build a better system. Also, I appreciate your thoughtful approach and constructive response.</div><div style="font-family:arial,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,sans-serif" class="gmail_default">Today, I&#39;m trying to fix the problem of us providing Go versions that we shouldn&#39;t. I&#39;m happy to work on fixing everything else tomorrow, if we could please work on the highest-priority item first and maybe---just maybe---people could take a deep breath before sending me emails that are barely more than curse words. I agree that everyone is a better developer than me---I&#39;ve said this publicly many times---so it doesn&#39;t take a flame email or a dose of witty sarcasm to feel superior, ok? (To be clear, NONE of those last sentences applies to diizzy in any way.)</div><br clear="all"></div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Adam Weinberger</div><div><a href="mailto:adamw@adamw.org" target="_blank">adamw@adamw.org</a></div></div></div></div></div></div>

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP7rwcgiUYiB_rmU_V2GoJ_Eh=oYfoZ_PUTqANuf1BGcUKEjzQ>