Page MenuHomeFreeBSD

tools: build: add a rewrite of makeman in lua
Needs ReviewPublic

Authored by kevans on Mar 15 2023, 5:32 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 11, 11:15 PM
Unknown Object (File)
Sun, Mar 31, 12:37 PM
Unknown Object (File)
Mar 18 2024, 1:40 PM
Unknown Object (File)
Mar 12 2024, 4:49 PM
Unknown Object (File)
Mar 10 2024, 3:52 PM
Unknown Object (File)
Mar 8 2024, 3:33 PM
Unknown Object (File)
Mar 6 2024, 3:44 PM
Unknown Object (File)
Mar 6 2024, 3:04 AM

Details

Reviewers
emaste
brooks
bapt
Summary

The primary benefit of this rewrite is that it parallelizes a number of
the make(1) jobs that it needs to do. It does so with a very naive
forking model that could likely be improved, but is sufficient for
purposes. This version also doesn't assume that CWD is sane, and
instead operates relative to the directory the script resides in.

Note that this initial version is only intended to match the output of
the legacy script.

In my horribly performing dev environment, this version runs in 40s
rather than the original ~2 minutes.

On a Mt. Snow machine, this version runs in ~15s rather than the
original ~1m40s.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 50984
Build 47875: arc lint + arc unit

Event Timeline

bapt added a subscriber: bapt.

LGTM beside small comment

tools/build/options/makeman.lua
349

probably the have a nor mal if then instead of if not then would be more straight forward

This revision is now accepted and ready to land.Apr 7 2023, 8:25 AM
kevans marked an inline comment as done.

Reverse sense of if

Fix an inconsistency with makeman: some showconfig invocations ignore dupes,
others take the latest value as the final value. Notably, implied-on options
end up taking the latest value. *waves hands*

This revision now requires review to proceed.Apr 18 2023, 3:52 AM

One source of duplicate options is share/mk/* and sys/conf/* having different defaults, see e.g. 7661a2abe45cfa144f69898f8498c3cfd88cceb8

We should warn when duplicates are found