Page MenuHomeFreeBSD

Makefile: replace mergemaster references with etcupdate
ClosedPublic

Authored by driesm on Oct 4 2022, 7:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Mar 22, 5:26 PM
Unknown Object (File)
Fri, Mar 22, 5:26 PM
Unknown Object (File)
Sat, Mar 9, 9:52 AM
Unknown Object (File)
Sat, Mar 9, 9:42 AM
Unknown Object (File)
Dec 25 2023, 11:59 AM
Unknown Object (File)
Dec 25 2023, 11:59 AM
Unknown Object (File)
Dec 25 2023, 11:59 AM
Unknown Object (File)
Dec 25 2023, 11:50 AM
Subscribers

Details

Summary

Similar to UDPATING and handbook changes, treat Makefile the same.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

driesm requested review of this revision.Oct 4 2022, 7:37 PM

I think this is good, but I added @jhb to make sure

Thanks! This looks good but please add a note about bootstrapping etcupdate. I always forget about etcupdate extract on new development machines.

A brief mention of 'remember to bootstrap etcupdate if necessary' before make buildworld would go a long way!

(It should go *before* make buildworld because etcupdate extract needs to be done with the source tree of the *running* system. I've been bitten multiple times by "oh rats; git checkout freebsd/release/XXX; etcupdate extract; git checkout main; make installworld and finding that installworld fails because Git changed timestamps.)

Thanks! This looks good but please add a note about bootstrapping etcupdate. I always forget about etcupdate extract on new development machines.

A brief mention of 'remember to bootstrap etcupdate if necessary' before make buildworld would go a long way!

Note that you don't need to bootstrap on machines installed from a release since about 9.0. The release media already bootstraps etcupdate so bootstrapping should mostly not be a thing on modern installs.

I'm from the opinion to keep this instruction as simple as possible.
The handbook has some extra steps for switching from mergemaster to etcupdate where an "etcupdate extract" is required.
As @jhb pointed out, bootstrapping should not be required for any recent release.

I would like to push as is. If we would add an extra note, I think UPDATING is more appropriate location then Makefile to add these edge cases.

Thoughts?

@jhb: that's odd ... etcupdate -p failed for me last week after building main on 13.1 as described in my earlier comment. Perhaps I messed something else up. I'll try to reproduce and narrow it down.

I agree with @driesm about keeping this simple. Since it looks like my problem is likely unrelated, I'm good with this being pushed as-is.

This revision is now accepted and ready to land.Oct 6 2022, 11:57 AM