whereintheworld
—
print summary of make world logs
The whereintheworld
command is a simple
filter that reads the output of a make world and outputs only the important
status lines, skipping all the compilation commands. The result is a terse
summary of where the compilation is at now.
whereintheworld
can be run against an
existing file or it can simply read from stdin. It
will continue reading from the pipe or the file
until EOF at which point it will print out the few last lines of the
log.
whereintheworld
expects the build log to
be in a certain format. In particular, it recognizes lines starting with
repeating dashes as ''section delimiters''. Lines starting with
''>>>'' will be considered as the names of the sections. Lines
starting with ''===>'' are considered to be modules being build in the
section, and will be printed on screen, but always on the same line so that
they don't make the screen scroll endlessly.
See the EXAMPLES section for
output samples.
whereintheworld
is written in Perl and
therefore will need an installed
perl(1)
interpreter to run. It has been tested on 5.00503 and 5.6.1.
- /usr/src/world.out
whereintheworld
will first try to open this file
if started without argument. If missing, it will read stdin.
The most simple incantation would be:
whereintheworld
A more typical usage of the
whereintheworld
command:
make world 2>&1 | tee
/var/log/build.log | whereintheworld
If you lost this terminal for one reason or another, the display
can be restarted, with a little pipe magic:
(cat build.log && tail -f
build.log ) | whereintheworld
The live output will look something like this:
--------------------------------------------------------------
>>> Rebuilding the temporary build tree
--------------------------------------------------------------
>>> stage 1: bootstrap tools
--------------------------------------------------------------
===> gnu/usr.bin/groff/font/devlatin1
with the last line changing as a new module is compiled.
Should be self-explanatory.
The whereintheworld
command has been
written to parse make world logs for FreeBSD 3.x,
but it should work with about any version, provided the
FreeBSD folks do not change the output format too
much.
The whereintheworld
manual page example
first appeared in worldtools 1.2.
This manual page was written by The
Anarcat ⟨anarcat@anarcat.ath.cx⟩. The
whereintheworld
command was written by
Bill Fenner ⟨fenner@freebsd.org⟩ in
January 2000 and was modified by
The Anarcat ⟨anarcat@anarcat.ath.cx⟩ to
output modules without scrolling.
The whereintheworld
command is written in
perl(1)
and therefore cannot be included in the base FreeBSD
system.