Commit graph

1 commit

Author SHA1 Message Date
Kyle Evans
0090096e52 build: introduce the notion of a build epoch
Idea and file format shamelessly stolen from CheriBSD, but reimplemented
in terms of the standard FreeBSD build system.  We'll use this in some
events that call for a deeper cleansing, typically reserved for
situations where the dependencies are too complicated to unwind.  This
notably does not preclude us from doing separate cleansing of world for
specific src.conf(5) knob changes that would require a rebuild.

In the FreeBSD version, we either stamp the OBJTOP we're cleaning
(bootstrap or the full OBJDIR) with the current epoch and bail out for
unstamped objdirs, or we compare and either `rm -rf` or `cleandir` as
necessary.

Reviewed by:	brooks, des
Differential Revision:	https://reviews.freebsd.org/D51848
2025-08-14 23:43:42 -05:00