On Fri, 2024-03-01 at 13:27 -0600, Jason Tibbitts wrote:
Adam Williamson adamwill@fedoraproject.org writes:
Honestly, we could really use more automation here, but it's a fairly hard thing to do *reliably* and there just isn't anybody specifically tasked with it so it doesn't happen.
So sure, we could use something but it doesn't have to start out as some complex fully automatic system. (Would be nice, but...)
Can we agree that we'd be at least half of the way there if we just had a well defined way to:
Know what package depend on the one you're updating
Easily bump and chain-build all of that in a side tag
Surely there's a reopquery or fedrq command line that will find at least most of what needs to be rebuilt. It doesn't have to be absolutely perfect but it can't be that hard to get close. I know there's a distinction between build and runtime dependencies and rich/conditional dependencies complicate things a bit, but those much smarter than I am must have already figured out how to get something that's at least somewhat useful.
Once you have the package list, maybe it needs some kind of sorting before you can just bump and chain-build things, but I think in many cases it doesn't. So, yes, a 100% tool would be really hard but the 80% tool really shouldn't be that bad, and almost any tool would really help people out.
Yeah, for sure, that's why I'm trying to nibble around the edges by updating the docs to strongly encourage chain builds, document using fedpkg chain-build on a side tag, and hopefully get fedpkg chain-build enhanced so it can create the side tag and the final update automatically. If we can get that, then I can make the docs explain how to use it.
ISTR there've been several recent discussions of complex dep chains on this very list where people have floated candidates for repoquery/fedrq commands...if there's one we're pretty confident is The Best, we can definitely plumb that into the docs at least (plumbing it all the way into fedpkg might be a step too far, though).