illuria’s ProfilerX runs on LureOS, which is our custom operating system based on FreeBSD.
To update the operating system we rely on two tools, pkg(8)
for packages and freebsd-update
for the base.
Initially, I’ve setup our poudriere and package repo in the FreeBSD way, so our URL looks like /FreeBSD:13:amd64/devel
and /FreeBSD:13:amd64/prod
. This is done by expanding the ${ABI}
variable, similar to what FreeBSD does in FreeBSD.conf
.
Initially, this worked fine, but now that there’s a new FreeBSD out there (13.2), I didn’t want to put the new packages in the old URL, but rather have a URL for each major.minor version. This is mostly for the enterprises who take their time to upgrade software.
Turns out the easiest way to do this is (after reading the pkg.conf(5)
manual page) is to use the VERSION_MAJOR
and VERSION_MINOR
variables.
The new LureOS will use /${ABI}/${VERSION_MINOR}/repo
, which will expand to /FreeBSD:13:amd64/1/devel
, making it easier for us to extend life after a new release.
That’s all folks…