Page MenuHomeFreeBSD

srcpv: Add a progress bar for buildworld and buildkernel
AcceptedPublic

Authored by dteske on Fri, Sep 4, 7:57 PM.
Tags
None
Referenced Files
F173692394: D59425.id187780.diff
Sun, Sep 27, 6:42 PM
F173590454: D59425.id187780.diff
Sun, Sep 27, 1:07 AM
F173588781: D59425.id186981.diff
Sun, Sep 27, 12:52 AM
Unknown Object (File)
Sat, Sep 26, 4:24 PM
Unknown Object (File)
Fri, Sep 25, 12:50 AM
Unknown Object (File)
Thu, Sep 24, 11:55 AM
Unknown Object (File)
Thu, Sep 24, 4:39 AM
Unknown Object (File)
Tue, Sep 22, 11:02 AM

Details

Reviewers
adrian
des
manu
emaste
bdrewery
bcr
Group Reviewers
manpages
Summary

srcpv(1) follows a running buildworld or buildkernel and shows its
progress with bsdpv(1). It reads the output of make(1) from a file,
FIFO, or stdin (-f), or snoops the terminal running the build with
watch(8) (-w). The build itself is untouched and need not be started
in any special way; the bar can be attached before, during, or after
it begins.

Progress is measured against a schedule derived from the tree rather
than a count of directories: Makefile.inc1 supplies the stages,
library lists, compat passes, and SUBDIR list for buildworld, and
config(8) plus sys/modules supply the kernel objects and modules for
each kernel in KERNCONF. Every unit is weighted by the objects it is
expected to produce, so the bar moves in proportion to the work
remaining. The schedule is cached and rebuilt when the makefiles that
shape it change.

This is the first consumer of bsdpv(1) that is neither a dialog nor a
transfer view. It lives in tools/tools with the other helpers that
watch a build, and is installed locally rather than with the world.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77030
Build 73913: arc lint + arc unit

Event Timeline

dteske requested review of this revision.Fri, Sep 4, 7:57 PM

Small fix for object detection on builds without -j

I'm thinking of moving these to tools/ or tools/tools/ as I'm not sure it brings much value to have them available in usr.bin/ -- absent any feedback on that, I'll just forge ahead to usr.bin/ as planned. Just spit-balling an idea that popped into my head.

I'm thinking of moving these to tools/ or tools/tools/ as I'm not sure it brings much value to have them available in usr.bin/ -- absent any feedback on that, I'll just forge ahead to usr.bin/ as planned. Just spit-balling an idea that popped into my head.

Yes please. This type of stuff is always in tools/tools/.

dteske removed a reviewer: pkgbase.
bcr added a subscriber: bcr.

Man page looks good to me. Excited to see the tool in action.

This revision is now accepted and ready to land.Sun, Sep 27, 7:41 AM