# cd /usr# git clone https://github.com/opnsense/tools# cd tools# make update dvd VERSION=23.7
tools /usr/tools 23.7_1 5616784d9 mastersrc /usr/src 23.7_6 6cf2e77cb stable/23.7ports /usr/ports 23.7_81 e9b5a0ed7 masterplugins /usr/plugins 23.7 f183c06d8 stable/23.7core /usr/core 23.7_15 0ff09cab7 stable/23.7
VERSION is an override that offers multiple interpretations depending on which build step is being invoked.
And here comes the important bit which is sadly undocumented because I don't personally use it
After that you stay away from update and VERSION use until the correct version has been built.
make update rewind dvd VERSION=23.7
So rewind seems to be the only build step where VERSION is actually interpreted as a Git tag?
Which makes me curious what your process is. Tag the latest commits in the Git branches, then immediately build the images before any other commits are being made?
I get staying away from update because it doesn't care about Git tags and would pull the branch heads again. But what's wrong with running make dvd VERSION=23.7 after rewinding? This seems to work fine for me:Code: [Select]make update rewind dvd VERSION=23.7
Yes, I do have the benefit that I'm the one tagging so my Git repos are mostly the top commits anyway.
Looking at your command: maybe we should fold "rewind" into "update" when VERSION is explicitly set?
The composite targets "distribution" and "factory" do offer some insight in how VERSION is intended to be used with images to set the correct file name.
root@freebsd:/usr/tools # make update VERSION=23.7.1[...]root@freebsd:/usr/tools # make infotools /usr/tools 23.7.1 d83d6ab91 mastersrc /usr/src 23.7 f223233ee stable/23.7ports /usr/ports 23.7.1 e220eb52d masterplugins /usr/plugins 23.7.1 cc4ed826f stable/23.7core /usr/core 23.7.1 2c6483500 stable/23.7