Re: kern.version and uname -v

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 08 Jan 2024 21:16:43 UTC
On Mon, Jan 8, 2024 at 1:58 PM Eugene Grosbein <eugen@grosbein.net> wrote:

> Hi!
>
> For ages, "uname -v" output (sligtly polished sysctl kern.version) had the
> following format:
> $ uname -v
> FreeBSD 13.2-STABLE 36a037f15 KERNELIDENT
>

This is the reproducible format: only include data that is identical from
build to build. It's relatively recent (FreeBSD 11 maybe)


> Where KERNELIDENT is GENERIC for x86 distribution media.
>
> But now:
>
> # uname -v
> FreeBSD 14.0-RELEASE #0 releng/14.0-n265380-f9716eee8ab4: Fri Nov 10
> 05:51:26 UTC 2023     root@releng1.nyi.freebsd.org:
> /usr/obj/usr/src/i386.i386/sys/GENERIC
>

This is the old, non-reproducible format. We've had both formats for
several major releases, and this format, with various tweaks as we went
from CVS -> svn -> git.

Maybe the problem here is that in the run up to 14.0 we didn't turn on
reproducible builds?


> Do we really need to break the format and include these into "uname -v"
> output
> for release and stable branches?
>

I'd argue it is not broken. uname -v format is not specified nor guaranteed
to produce specific results. Changed maybe, but not broken. It changes at
major releases.

Warner