- 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)
- simplify IGNORE handling, always define it, even when NO_IGNORE is set,
and only use it for the targets it's meant to influence.
- make it possible to multiply-IGNORE a port, so stuff that's BROKEN and
NOT_FOR_ARCH will show up as both.
- DESCRIBE_TARGETs can die, since we no longer need special IGNORE dance
for them.
- add an IGNORE_IS_FATAL tweak, so that ignored ports can actually error out.
- reorg dump-vars to choose what to show, including new IGNORE, and COMES_WITH.
- name an explicit prepare step, which does check build dependencies and
install them (useful for build timing purposes)
- move the do-fetch test out, so that we can add pre-extract and do-extract
there eventually.