zirias@
Developer
So far, I was using mergemaster(8) when upgrading from source; it worked fine, and it's also described in the handbook.
Now I learned it's deprecated and will be removed soon. It might be dangerous after 13.0-RELEASE, because it relies on SVN source tags that don't exist any more with git!
For details, see PR 252417.
The recommended tool is etcupdate(8).
I immediately ran into a problem with that, trying to "bootstrap" it with
The solution is: for each build you do on your building machine, also build a tarball for etcupdate(8) like this:
This tarball can then be used on any other machine, e.g. for "bootstrapping":
Now I learned it's deprecated and will be removed soon. It might be dangerous after 13.0-RELEASE, because it relies on SVN source tags that don't exist any more with git!
For details, see PR 252417.
The recommended tool is etcupdate(8).
I immediately ran into a problem with that, trying to "bootstrap" it with
etcupdate extract
. The reason was: it doesn't play nice with /usr/obj mounted read-only. But this is probably not uncommon if you build FreeBSD on one machine and install it on several others that mount /usr/src and /usr/obj via NFS.The solution is: for each build you do on your building machine, also build a tarball for etcupdate(8) like this:
etcupdate build -B /usr/obj/etcupdate.tar.bz2
.This tarball can then be used on any other machine, e.g. for "bootstrapping":
etcupdate extract -t /usr/obj/etcupdate.tar.bz2
.