Hooking in some execution management bits. Most everything else is working. I could skip the fancy execution management, and just fork, but I want to be able to do a better job of logging and capturing output/signals. More to the point, with the bits I’ve got in place now, dust should be able to do the builds in parallel (everyone say “ooh” now).
The only impediment to this could be RPM if you use it here. RPM, while claiming to use databases, absolutely does not want more than one thing operating on a database at a time. It locks their DB files. IMO this is wrong behavior, and one reason why rpm based installs take so long … they are serialized by design, while the databases could easily allow for parallel behavior (you have a dependency graph, its not hard to partition it and sequence it properly).
More soon, with a link to the source.