- avoid logging incomplete builds.
- put stuff in more sane directories
- avoid exiting early
- create unique machine objects and use them
- allow for a script at init/auto ncpu determination
- global build size in /tmp for a given host.
- better terminal handling.
move the logs/locks yet again: those are dpb logs, so they belong in
logs dir (note the s). Use one single option (-L) to move both.
remove old -t mode, use -t/-T for ssh/display timeouts
Change the "mem" option to "parse size file", dependent on show-size.
- give more responsibility to tasks, so that they can time themselves without
any higher level support
- record errors the opposite way, so that more recent errors show up first
- better terminal display: use fullwidth, clamp to terminal height
- less logsize fuzz, always trim preparation stages
- dpb's pid - dependent ssh socket names, so that 2 dpb can talk to the same machine.
- pid display for dpb itself, and ssh masters.
will replace old dpb once we're satisfied it works.
some features:
- no more waiting, starts building right away, the dependencies discovery
process is just another job,
- monitor display that makes it easy to know when jobs get stuck, or machines
get down.
- loads of logs,
- locks that stay around in case of error, and that you can remove when
the error has been fixed (dpb picks it up),
- smart choice of which package to build,
- can take into account previous build times,
- builds on machines of differing speed, offloading "lighter" jobs to slower
boxes.
(again, ports is still locked for most people)
- better at handling progress meter incomplete lines and sanitizing them
before output
- less greedy about maintaining a context, let post-error messages stuff
end up in the default.log, instead of seeing huge swaths of entering directory
after errors.
- -s silent option, for use when we see the output but don't need to duplicate
it.
After work with NicM, portslogger is useable with tmux. From within tmux,
just run something like:
tmux pipe-pane 'perl /usr/ports/infrastructure/build/portslogger -s /usr/ports/log'
to log all ports building activity...
store the .la file path in the library object for later use
fix a bug where we lost some of the command line arguments
this makes more stuff build again and improves static linking