Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Sep 2023 08:08:40 -0500
From:      "Drew Gallatin" <gallatin@fastmail.com>
To:        "Simon J. Gerraty" <sjg@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: 89f361f742ae - main - kern.post.mk allow NEWVERS_{ENV,ARGS}
Message-ID:  <7bb4a991-060d-415e-a188-192781c1f3c0@app.fastmail.com>
In-Reply-To: <202307171904.36HJ4L1l013461@gitrepo.freebsd.org>
References:  <202307171904.36HJ4L1l013461@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--f9e3987d93394d2a80959c26188f6950
Content-Type: text/plain

Simon.

This changes the version strings of kernels built via the buildkernel target and adds a lot of redundancy.  Eg:

VERSTR changes from:

"FreeBSD 14.0-ALPHA1 #0 main-n264839-91d0876a20ce-dirty: Wed Sep 13 08:17:25 EDT 2023\n    gallatin@beast:/usr/src/sys/amd64/compile/GENERIC"

To:

"FreeBSD 14.0-ALPHA1 amd64 1400094 #0 main-n264839-91d0876a20ce-dirty: Wed Sep 13 08:21:13 EDT 2023\n    gallatin@beast:/usr/obj/usr/src/amd64.amd64/sys/GENERIC"

Note the extra "amd64 1400094"   This screws up some of our (Netflix) tooling, as its reflected via uname -a

It appears that when using the buildkernel target, VERSION is picked up from Makefile.inc1's VERSION, which I think is intended for CTFMERGE.    Was this intention?

Thanks,
Drew



On Mon, Jul 17, 2023, at 2:04 PM, Simon J. Gerraty wrote:
> The branch main has been updated by sjg:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=89f361f742aeae11c8b2e28eae3d015882b6c0ee <https://cgit.freebsd.org/src/commit/?id=89f361f742aeae11c8b2e28eae3d015882b6c0ee>;
> 
> commit 89f361f742aeae11c8b2e28eae3d015882b6c0ee
> Author:     Simon J. Gerraty <sjg@FreeBSD.org>
> AuthorDate: 2023-07-17 19:03:35 +0000
> Commit:     Simon J. Gerraty <sjg@FreeBSD.org>
> CommitDate: 2023-07-17 19:03:35 +0000
> 
>     kern.post.mk allow NEWVERS_{ENV,ARGS}
>     
>     Allow makefiles better control of newvers.sh env and args.
>     Also allow variable overrides on command line.
>     
>     Reviewed by:    imp, stevek
>     Sponsored by:   Juniper Networks, Inc.
>     Differential Revision:  https://reviews.freebsd.org/D41012
> ---
> sys/conf/kern.post.mk |  5 +++--
> sys/conf/newvers.sh   | 16 +++++++++++++---
> 2 files changed, 16 insertions(+), 5 deletions(-)
> 
> diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
> index c368d5f40df8..45df83e2d16b 100644
> --- a/sys/conf/kern.post.mk
> +++ b/sys/conf/kern.post.mk
> @@ -444,11 +444,12 @@ config.o env.o hints.o vers.o vnode_if.o:
> ${NORMAL_C}
> ${NORMAL_CTFCONVERT}
>  
> +NEWVERS_ENV+= MAKE="${MAKE}"
> .if ${MK_REPRODUCIBLE_BUILD} != "no"
> -REPRO_FLAG="-R"
> +NEWVERS_ARGS+= -R
> .endif
> vers.c: .NOMETA_CMP $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP:Nvers.*}
> - MAKE="${MAKE}" sh $S/conf/newvers.sh ${REPRO_FLAG} ${KERN_IDENT}
> + ${NEWVERS_ENV} sh $S/conf/newvers.sh ${NEWVERS_ARGS} ${KERN_IDENT}
>  
> vnode_if.c: $S/tools/vnode_if.awk $S/kern/vnode_if.src
> ${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -c
> diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
> index 85346b1cdc29..e21b3f5ce2e2 100644
> --- a/sys/conf/newvers.sh
> +++ b/sys/conf/newvers.sh
> @@ -58,13 +58,23 @@ BRANCH="CURRENT"
> if [ -n "${BRANCH_OVERRIDE}" ]; then
> BRANCH=${BRANCH_OVERRIDE}
> fi
> -RELEASE="${REVISION}-${BRANCH}"
> -VERSION="${TYPE} ${RELEASE}"
>  
> if [ -z "${SYSDIR}" ]; then
> -    SYSDIR=$(dirname $0)/..
> + SYSDIR=$(dirname $0)/..
> fi
>  
> +# allow random overrides
> +while :
> +do
> + case "$1" in
> + *=*) eval "$1"; shift;;
> + *) break;;
> + esac
> +done
> +
> +RELEASE="${RELEASE:-${REVISION}-${BRANCH}}"
> +VERSION="${VERSION:-${TYPE} ${RELEASE}}"
> +
> RELDATE=$(awk '/^#define[[:space:]]*__FreeBSD_version/ {print $3}' ${PARAMFILE:-${SYSDIR}/sys/param.h})
>  
> if [ -r "${SYSDIR}/../COPYRIGHT" ]; then
> 

--f9e3987d93394d2a80959c26188f6950
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><title></title><style type=3D"text/css">p.Mso=
Normal,p.MsoNoSpacing{margin:0}</style></head><body><div>Simon.<br></div=
><div><br></div><div>This changes the version strings of kernels built v=
ia the buildkernel target and adds a lot of redundancy.&nbsp; Eg:<br></d=
iv><div><br></div><pre class=3D"c-mrkdwn__pre">VERSTR changes from:
<br></pre><pre class=3D"c-mrkdwn__pre">"FreeBSD 14.0-ALPHA1 #0 main-n264=
839-91d0876a20ce-dirty: Wed Sep 13 08:17:25 EDT 2023\n    gallatin@beast=
:/usr/src/sys/amd64/compile/GENERIC"<br></pre><div><br></div><div>To:<br=
></div><div><br></div><pre class=3D"c-mrkdwn__pre">"FreeBSD 14.0-ALPHA1 =
amd64 1400094 #0 main-n264839-91d0876a20ce-dirty: Wed Sep 13 08:21:13 ED=
T 2023\n    gallatin@beast:/usr/obj/usr/src/amd64.amd64/sys/GENERIC"<br>=
</pre><div><br></div><div>Note the extra "amd64 1400094"&nbsp;&nbsp; Thi=
s screws up some of our (Netflix) tooling, as its reflected via uname -a=
<br></div><div><br></div><div>It appears that when using the buildkernel=
 target, VERSION is picked up from Makefile.inc1's VERSION, which I thin=
k is intended for CTFMERGE.&nbsp;&nbsp;&nbsp; Was this intention?<br></d=
iv><div><br></div><div>Thanks,<br></div><div>Drew<br></div><div><br></di=
v><div><br></div><div><br></div><div>On Mon, Jul 17, 2023, at 2:04 PM, S=
imon J. Gerraty wrote:<br></div><blockquote type=3D"cite" id=3D"qt" styl=
e=3D""><div>The branch main has been updated by sjg:<br></div><div><br><=
/div><div>URL:&nbsp;<a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3D=
89f361f742aeae11c8b2e28eae3d015882b6c0ee">https://cgit.FreeBSD.org/src/c=
ommit/?id=3D89f361f742aeae11c8b2e28eae3d015882b6c0ee</a><br></div><div><=
br></div><div>commit 89f361f742aeae11c8b2e28eae3d015882b6c0ee<br></div><=
div>Author:&nbsp;&nbsp;&nbsp;&nbsp; Simon J. Gerraty &lt;<a href=3D"mail=
to:sjg@FreeBSD.org">sjg@FreeBSD.org</a>&gt;<br></div><div>AuthorDate: 20=
23-07-17 19:03:35 +0000<br></div><div>Commit:&nbsp;&nbsp;&nbsp;&nbsp; Si=
mon J. Gerraty &lt;<a href=3D"mailto:sjg@FreeBSD.org">sjg@FreeBSD.org</a=
>&gt;<br></div><div>CommitDate: 2023-07-17 19:03:35 +0000<br></div><div>=
<br></div><div>&nbsp;&nbsp;&nbsp; kern.post.mk allow NEWVERS_{ENV,ARGS}<=
br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;<br></div><div>&nbsp;&nbsp;&nbsp; =
Allow makefiles better control of newvers.sh env and args.<br></div><div=
>&nbsp;&nbsp;&nbsp; Also allow variable overrides on command line.<br></=
div><div>&nbsp;&nbsp;&nbsp;&nbsp;<br></div><div>&nbsp;&nbsp;&nbsp; Revie=
wed by:&nbsp;&nbsp;&nbsp; imp, stevek<br></div><div>&nbsp;&nbsp;&nbsp; S=
ponsored by:&nbsp;&nbsp; Juniper Networks, Inc.<br></div><div>&nbsp;&nbs=
p;&nbsp; Differential Revision:&nbsp;&nbsp;<a href=3D"https://reviews.fr=
eebsd.org/D41012">https://reviews.freebsd.org/D41012</a><br></div><div>-=
--<br></div><div>sys/conf/kern.post.mk |&nbsp; 5 +++--<br></div><div>sys=
/conf/newvers.sh&nbsp;&nbsp; | 16 +++++++++++++---<br></div><div>2 files=
 changed, 16 insertions(+), 5 deletions(-)<br></div><div><br></div><div>=
diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk<br></div><div=
>index c368d5f40df8..45df83e2d16b 100644<br></div><div>--- a/sys/conf/ke=
rn.post.mk<br></div><div>+++ b/sys/conf/kern.post.mk<br></div><div>@@ -4=
44,11 +444,12 @@ config.o env.o hints.o vers.o vnode_if.o:<br></div><div=
>${NORMAL_C}<br></div><div>${NORMAL_CTFCONVERT}<br></div><div>&nbsp;<br>=
</div><div>+NEWVERS_ENV+=3D MAKE=3D"${MAKE}"<br></div><div>.if ${MK_REPR=
ODUCIBLE_BUILD} !=3D "no"<br></div><div>-REPRO_FLAG=3D"-R"<br></div><div=
>+NEWVERS_ARGS+=3D -R<br></div><div>.endif<br></div><div>vers.c: .NOMETA=
_CMP $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP:Nvers.*}<br></div><d=
iv>-	MAKE=3D"${MAKE}" sh $S/conf/newvers.sh ${REPRO_FLAG} ${KERN_IDENT}<=
br></div><div>+	${NEWVERS_ENV} sh $S/conf/newvers.sh ${NEWVERS_ARGS} ${K=
ERN_IDENT}<br></div><div>&nbsp;<br></div><div>vnode_if.c: $S/tools/vnode=
_if.awk $S/kern/vnode_if.src<br></div><div>${AWK} -f $S/tools/vnode_if.a=
wk $S/kern/vnode_if.src -c<br></div><div>diff --git a/sys/conf/newvers.s=
h b/sys/conf/newvers.sh<br></div><div>index 85346b1cdc29..e21b3f5ce2e2 1=
00644<br></div><div>--- a/sys/conf/newvers.sh<br></div><div>+++ b/sys/co=
nf/newvers.sh<br></div><div>@@ -58,13 +58,23 @@ BRANCH=3D"CURRENT"<br></=
div><div>if [ -n "${BRANCH_OVERRIDE}" ]; then<br></div><div>BRANCH=3D${B=
RANCH_OVERRIDE}<br></div><div>fi<br></div><div>-RELEASE=3D"${REVISION}-$=
{BRANCH}"<br></div><div>-VERSION=3D"${TYPE} ${RELEASE}"<br></div><div>&n=
bsp;<br></div><div>if [ -z "${SYSDIR}" ]; then<br></div><div>-&nbsp;&nbs=
p;&nbsp; SYSDIR=3D$(dirname $0)/..<br></div><div>+	SYSDIR=3D$(dirname $0=
)/..<br></div><div>fi<br></div><div>&nbsp;<br></div><div>+# allow random=
 overrides<br></div><div>+while :<br></div><div>+do<br></div><div>+	case=
 "$1" in<br></div><div>+	*=3D*) eval "$1"; shift;;<br></div><div>+	*) br=
eak;;<br></div><div>+	esac<br></div><div>+done<br></div><div>+<br></div>=
<div>+RELEASE=3D"${RELEASE:-${REVISION}-${BRANCH}}"<br></div><div>+VERSI=
ON=3D"${VERSION:-${TYPE} ${RELEASE}}"<br></div><div>+<br></div><div>RELD=
ATE=3D$(awk '/^#define[[:space:]]*__FreeBSD_version/ {print $3}' ${PARAM=
FILE:-${SYSDIR}/sys/param.h})<br></div><div>&nbsp;<br></div><div>if [ -r=
 "${SYSDIR}/../COPYRIGHT" ]; then<br></div><div><br></div></blockquote><=
div><br></div></body></html>
--f9e3987d93394d2a80959c26188f6950--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7bb4a991-060d-415e-a188-192781c1f3c0>