Page MenuHomeFreeBSD

bsd.subdir.mk: Drop broken optimisation for realinstall parallelisation
ClosedPublic

Authored by jrtc27 on Feb 2 2024, 1:41 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Nov 16, 12:53 AM
Unknown Object (File)
Thu, Nov 14, 8:58 PM
Unknown Object (File)
Wed, Nov 6, 2:32 PM
Unknown Object (File)
Wed, Nov 6, 2:32 PM
Unknown Object (File)
Wed, Nov 6, 2:32 PM
Unknown Object (File)
Tue, Nov 5, 2:02 AM
Unknown Object (File)
Fri, Oct 25, 1:28 PM
Unknown Object (File)
Tue, Oct 22, 10:58 PM
Subscribers

Details

Summary

Not all of the tree is happy for realinstall to be done in parallel. In
particular, Makefile.inc1 uses .WAIT to force etc to be installed after
earlier subdirectories, since etc calls into share/man's makedb to run
makewhatis on the tree and needs all manpages to have been installed.
Also, libexec/Makefile doesn't set SUBDIR_PARALLEL, and the link from
ld-elf32.1 to ld-elf.1 relies on rtld-elf having been installed before
rtld-elf32, otherwise creating the link will fail.

In general, core behavioural differences like this between NO_ROOT and
"normal" builds are also dangerous and confusing.

If this optimisation is deemed important, it should be reintroduced in a
more limited and robust manner that doesn't break the above situations.
Until then value correctness over slight efficiency gains on high core
count machines, the same machines where you're more likely to encounter
issues from this optimisation.

This reverts commits cd19ecdbdc87 ("Similar to r296013 for NO_ROOT,
force SUBDIR_PARALLEL for buildworld WORLDTMP staging.") and
b9c6f3168112 ("Add more STANDALONE_SUBDIR_TARGETS.").

Found by: CheriBSD Jenkins
Fixes: cd19ecdbdc87 ("Similar to r296013 for NO_ROOT, force SUBDIR_PARALLEL for buildworld WORLDTMP staging.")
Fixes: b9c6f3168112 ("Add more STANDALONE_SUBDIR_TARGETS.")
MFC after: 1 week

Diff Detail

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