Page MenuHomeFreeBSD

retrieve OS release automatically to build compiler target triple
ClosedPublic

Authored by alfredo on Mar 3 2022, 8:35 PM.
Tags
None
Referenced Files
F82053815: D34429.diff
Thu, Apr 25, 1:30 AM
Unknown Object (File)
Mon, Apr 22, 8:19 PM
Unknown Object (File)
Mon, Apr 22, 8:19 PM
Unknown Object (File)
Sun, Apr 7, 6:29 AM
Unknown Object (File)
Sat, Apr 6, 6:43 PM
Unknown Object (File)
Mar 20 2024, 12:38 AM
Unknown Object (File)
Mar 19 2024, 7:47 PM
Unknown Object (File)
Feb 16 2024, 12:56 AM

Details

Summary

Retrieve FreeBSD revision number directly from sys/conf/newvers.sh
when building the compiler target triple value, avoiding manual
intervention on every new release.

This patch was split from D19237, so added reviewers/commenters of that change

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

imp requested changes to this revision.Mar 3 2022, 8:46 PM
imp added inline comments.
share/mk/src.sys.env.mk
27

Never use sed for this. It's always wrong now that we can get the answer directly. It has proven to be historically fragile.

sh sys/conf/newvers.sh -V REVISION | cut -d= -f 2
"14.0"
This revision now requires changes to proceed.Mar 3 2022, 8:46 PM

I love this idea, btw. I hope my reaction my reaction to one small detail doesn't obscure this :)

share/mk/src.sys.env.mk
27
OS_REVISION!=eval `sh ${.CURDIR}/git/head/sys/conf/newvers.sh -V REVISION`; echo $$REVISION

works and eliminates the "" and can cope with all manner of weirdness that some downstreams do to newvers.sh.

updated with imp's suggestion

share/mk/src.sys.env.mk
30

I personally would change this to be " && echo $$REVISION || echo" in the event that $REVISION cannot be properly evaluated. Just my $0.02 USD, though.

In D34429#780080, @imp wrote:

I love this idea, btw. I hope my reaction my reaction to one small detail doesn't obscure this :)

Don't worry, luckily wasn't me the one who built that whole sed sentence, I just copied it from other places, otherwise I'd be very sad with how simple solution became now :-D

share/mk/src.sys.env.mk
27

I liked it! Used ${SRCTOP}/sys/conf/newvers.sh instead (I guess */git/head/* is your local path)

alfredo marked an inline comment as done.

Updated with gjb's suggestion

Hi @imp, are you ok with current patch?

looks good now. thanks.

This revision is now accepted and ready to land.Apr 10 2022, 11:17 PM