Page MenuHomeFreeBSD

retrieve OS release automatically to build compiler target triple

Authored by alfredo on Mar 3 2022, 8:35 PM.



Retrieve FreeBSD revision number directly from sys/conf/
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

rG FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

imp requested changes to this revision.Mar 3 2022, 8:46 PM
imp added inline comments.

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/ -V REVISION | cut -d= -f 2
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 :)

OS_REVISION!=eval `sh ${.CURDIR}/git/head/sys/conf/ -V REVISION`; echo $$REVISION

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

updated with imp's suggestion


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


I liked it! Used ${SRCTOP}/sys/conf/ 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