Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Dec 2024 14:27:22 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        bob prohaska <fbsd@www.zefox.net>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   RE: Cleaning before using WITH_META_MODE 
Message-ID:  <1C9B6B0E-1D02-4ADE-BABE-9E0238F96FBE@yahoo.com>
References:  <1C9B6B0E-1D02-4ADE-BABE-9E0238F96FBE.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
bob prohaska <fbsd_at_www.zefox.net> wrote on
Date: Wed, 11 Dec 2024 18:38:28 UTC :

> What cleaning options minimize interference with the use of =
WITH_META_MODE ?
>=20
> Occasionally buildworld stops because of a missing dependency, usually
> just re-running git pull fixes the problem. In cases where it does not
> fix the problem how should one rank the various cleaning commands, =
from
> least to most thorough? Using rm -rf /usr/obj obviously works but AIUI
> deletes the data needed by WITH_META_MODE. The cleaning commands I've
> used include
> make clean
> make cleandir run once
> make cleandir run twice
> rm -rf /usr/obj
>=20
> but it isn't obvious how they interact with META_MODE.

META_MODE produces files that include lists of file dependencies.
If a form of clean removes one of those dependency files, that
indicates needing to rebuild after the dependency has its file
re-established, just like the file being newer leads to needing
to rebuild with the newer file. (cleaning tends to be removal of
things.)

META_MODE also records what programs were executed, which leads to
updated programs causing rebuilds too --even when the updated
program is unlikely to be a functional change for the actual
activity. Think, for example, of echo being updated by an
install. The use of echo in the build likely gets the same
result for both the old and the new version.

For the initiating command(s), META_MODE records the command line
arguments as well. If the command line changes, it leads to
rebuilding with the new command.

So a question is: Are there any forms of clean that would leave a
substantial portion of material not being rebuilt via META_MODE,
especially if the clean operation is global to the build materials
instead of just localized to some sub-area of the overall build
materials? The question would stand even if all .meta files were
left in place.

I'm not so sure there is a viable optimization of the type asked
about, other than cleaning only part of the overall structure
if/where such might be viable.

> This is in the context of -current on Raspberry Pi2,-3 and -4
> if it matters.


=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1C9B6B0E-1D02-4ADE-BABE-9E0238F96FBE>