EuroBSDCon 2025

Dpb: one protocol to build them all
2025-09-27 , Gray Hall

One long-standing issue in package buildings is the handling of parallel builds.
I've designed a simple network protocol (build-control) that allows real-time scaling of make/ninja processes job control.

Contrary to gmake's "jobserver" paradigm, build-control assumes that the end-user is in control and can tweak each build's job count in real time.

Make-like builds will react rather quickly, because usual compilations only last seconds.

This allows cluster schedulers a level of control that can't be achieved through automated means.

Moreover, it also extends to pervasive computing. I will present several use-cases besides dpb that can benefit from outside sources besides the coarse-grain heuristics of job-control servers, in any case where arbitrating between build sources with extra information will give you an obvious advantage

Long-time architect of the whole ports/package management systems in OpenBSD