Re: Update strategy and timing

From: David Wolfskill <david_at_catwhisker.org>
Date: Fri, 08 May 2026 16:37:32 UTC
On Fri, May 08, 2026 at 08:48:17AM -0700, bob prohaska wrote:
> Is there a preferred strategy to timing updates
> for self-hosted FreeBSD systems? 

I am not aware of anything approaching "consensus" on that.

> On the stable branches it's easy; just update when
> updates are announced and build/install. Once caught
> up, things can be left alone for days at least..

That does not match my perception (unless one substitutes "releng
branches" for "stable branches").

> With -current there's essentially no pause in the
> stream of fresh commits, so git finds a new commit
> by the time buildworld finishes.

Mostly, except that there are ... fluctuations in the flow ... newar
significant code freezes.

> Is there some marker or indicator that signals the
> -current tree is at least nominally consistent and
> buildable? I'm not asking if it'll work, just whenter
> it's worth a try.

Not that I am aware of.

> ...
> Is this approach at all sound? Is there a better way?

Caveat: I do not claim that this is "better" (or even "plausibly doable")
for others; it seems to work passably well for me.

Sketched roughly (further details at
https://www.catwhisker.org/~david/FreeBSD/upgrade.html):

* I have a handful of machines on which I track head & stable (at the
  moment, stable/15; usually, whatever is jthe most recent stable
  release), and where I update all installed ports daily.

* Each of them has a local private mirror of the 3 FreeBSD.org
  repositories: doc, ports, & src.

* One of those machines (which is also my package-builder for the
  machines that I only update weekly) actually syncs its mirror with
  upstream as of 03:25 local time.  The others sync from it 5 minutes
  later.

* One of the laptops in question is the one I use for day-to-day work;
  it's the one I am using to type this message (though the mutt process
  is running on one of the "only weekly" machines).

* Other than ports that provide kernel modules, the ports/packages are
  built (only) under stable, and /usr/local is the same whether a
  given machine is running head or stable.  I will generally install
  misc/compat* ports as needed (and then remove them when they are
  no longer necessary -- e.g., after migrating from stable/14 to
  stable/15).

* This usually works well (for me), but there is occasional ...
  turbulence.  Sometimes, it's straightforward to address; sometimes ...
  not so much.

* I have been doing this for a little over 2 decades; fairly diligently
  for the last decade or so.

> Thanks for reading!
> 
> bob prohaska
> ...

Peace,
david
-- 
David H. Wolfskill                              david@catwhisker.org

See https://www.catwhisker.org/~david/publickey.gpg for my public key.