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>