Re: "etcupdate extract" -- Failed to build new tree.

From: Marek Zarychta <zarychtam_at_plan-b.pwste.edu.pl>
Date: Tue, 04 Nov 2025 13:42:22 UTC
W dniu 3.11.2025 o 23:43, Thomas Schweikle pisze:
> Followed your idea:
>
> # make buildworld
> # make buildkernel
> # mergemaster
> # etcupdate extract
> Failed to build new tree.
>
> It is broken. It only works if you unpack installation from CD, DVD or 
> file. In all other cases it breaks. etcupdate has a "henn and egg" 
> problem. If you build from sources it wont work. Regardless at which 
> position you'll try to "etcupdate extract". It only works if you 
> unpacked "/etc" from CD, DVD, or file. If it was cloned by "git clone 
> https://github.com/freebsd/freebsd-src.git /usr/src" followed by "git 
> checkout" or not it will break. It will even break if you first build 
> world and or not kernel. It goes haywire if you just wipe sources, and 
> start from scratch.
> etcupdate needs something not there, if you build "/usr/src" by "git 
> clone https://github.com/freebsd/freebsd-src.git /usr/src", then 
> building world, and kernel but it is there if you unpack sources from 
> tarball.
>
Hello Thomas,

the user experience is crucial for the FreeBSD community. We should not 
abandon users who are continuously upgrading from FreeBSD 5.0-RELEASE to 
FreeBSD 15.0-STABLE, but debugging in such environments can be 
difficult. My guess is that something nonstandard in your make.conf or 
src.conf is preventing etcupdate from working correctly on that system. 
Please examine and audit these files carefully.

To clarify, during the transition from mergemaster to etcupdate, it's 
better to run etcupdate multiple times, even more than required, since 
it can sometimes behave unpredictably, generating conflicts - especially 
if there are old files left in /var/db/etcupdate but you attempt to 
restart the migration from mergemaster to etcupdate. If 
/var/db/etcupdate/ does not exist before the step "etcupdate extract", 
the transition process should be much smoother and more straightforward.

Cheers
Marek