On Wed, Dec 16, 2020 at 03:56:25PM -0500, Neal Gompa wrote:
...snip...
> > What I'd really like would be a "test mass
rebuild" process, where a
> > prospective package is uploaded and everything that depends on it is
> > automatically rebuilt (ideally after creating the dependency graph so
> > each individual package doesn't get rebuilt until its dependencies are
> > finished building).
> >
> > Creating the dependency graph by hand is fairly tedious, but maybe I'm
> > missing an automated way. The point of creating that graph is to avoid
> > wasting time and power doing and redoing builds that will fail until
> > something else has been built (which is the problem with mock's
> > --chain command, if I understand correctly).
> >
> > Once I have that graph, I use Make to control the process, because it
> > handles the dependency graph, as well as parallelism, and not
> > rebuilding things unnecessarily.
>
> Yeah, all this ^
>
So I've written tools for doing this, and Igor has written tools for
doing this, but it seems like people think that this is "impossible"
and so the effort goes nowhere despite several PoCs.
If we're interested in this again for real this time, I could try to
dig out my old code for it, but we might be better off just pulling
out Koschei's code and turning it into something that Koji's
chain-build command and Mock's --chain option use to sort through
package sets and build them correctly.
Can you expand on which 'this' you mean? Getting the build
order/dependency graph? Or a tool to use that to rebuild everything and
tell you what failed? or ?
I don't think you can ever be 100% on dependency graph/build order,
because there's sometimes bootstraps or loops in there. :(
Anyhow I would love to be able to locally build a new library and run
'fedpkg does-it-blend foo.src.rpm' and have it tell me exaclty what
other packages that breaks.
kevin