Re: poudriere and the user ... is it mostly a lost idea?

From: Paul Mather <paul_at_gromit.dlib.vt.edu>
Date: Fri, 17 Jan 2025 19:35:32 UTC
On Jan 17, 2025, at 1:30 pm, Dennis Clarke <dclarke@blastwave.org> wrote:

>    I have plenty of logs. Piles of them. Perhaps the problem is that I
> am building on a 15-CURRENT machine which has poudriere jails like so :
> 
> titan# poudriere jails -l 
> JAILNAME VERSION                              ARCH  METHOD TIMESTAMP           PATH 
> 134amd64 13.4-RELEASE-p2 1304000 3f40d5821eca amd64 git+https 2025-01-10 10:42:08 /poudriere/jails/134amd64 
> 142amd64 14.2-RELEASE 1402000 c8918d6c7412    amd64 git+https 2024-12-03 12:50:29 /poudriere/jails/142amd64 
> 140amd64 14.2-STABLE 1402501 e6de39be80e2     amd64 git+https 2025-01-13 21:36:43 /poudriere/jails/140amd64 
> 150amd64 15.0-CURRENT 1500030                 amd64 src=/usr/src 2025-01-12 07:44:29 /poudriere/jails/150amd64 
> titan#
> 
> The one called 140stable is a bit strange given that I built it with the
> branch called "releng" for 14 and what I get is 14.2-STABLE. Whatever
> that is. I had the silly notion that something called "STABLE" is a good
> place to build packages. A stable is where one may keep horses. Maybe
> goats. Other than that I really do not know if building packages in that
> jail would be of any value compared to the 142amd64 jail. Who knows?
> I surely do not.


The FreeBSD Handbook might help you with FreeBSD-STABLE: https://docs.freebsd.org/en/books/handbook/cutting-edge/#stable

Your 140amd64 Poudriere jail built "with the branch called "releng" for 14" makes sense if you consider the nomenclature for FreeBSD branches and releases.  The RELENG_N branch corresponds to FreeBSD N-STABLE, and a branch such as RELENG_N_R to FreeBSD N.R-RELEASE.

I usually choose to run -STABLE on my FreeBSD systems because it gives me a nice balance between -CURRENT and -RELEASE: for example, performance improvements from -CURRENT will manifest themselves in -STABLE before they see the light of day in -RELEASE.  IIRC, I've been using FreeBSD since 3.5-RELEASE, having used NetBSD/pmax and NetBSD/alpha prior to that, and I believe I have a good idea in my own mind as to how things work and what the tradeoffs are by now.

More people run -RELEASE than -STABLE or -CURRENT, so if you want a quieter life due to wider-scale testing and bug reporting, run -RELEASE (on a Tier 1 platform).  Similarly, if you want a quieter life, go for pre-built packages rather than building your own with Poudriere.  I use Poudriere to build my own packages because I like to change quite a few DEFAULT_VERSIONS when building my packages and set/unset various package options.  I realise this takes me into uncharted waters, as the testing base for these non-default package builds is lower than for the default package builds.  I am assuming that risk on myself by electing to build my own packages via Poudriere.

Straying off the beaten path can sometimes take you to lonely places. :-)

Cheers,

Paul.