Refactor depsolving code
Issue created to keep track of refactor commits required to be backported in case of additional fixes.
Refactor to remove decorator snake pit
Nested decorators 3-8 deep, sometimes with nontrivial logic inside makes it difficult to understand what's really going on inside functions. Some decorators even modify the function signature so that it is called with different arguments than the docstrings show.
Get rid of all of that. Unrolling everything made the code much easier to understand and reason about.
Replace the Pulp version of module dependency code with MBS version
Use Module Build Service code to create libsolv dependencies for modules. The code is better commented, cleaner, possibly less buggy and has had more eyes on it. It is otherwise almost identical. Some of the MBS implementation was stripped out as not necessary, so this code is closer to the FUS version.
Run createwhatprovides() more aggressively
This is probably more than necessary but it doesn't hurt anything and it's annoying to debug issues where it isn't done often enough.
Also reusing the solver instead of recreating it every attempt.
Also renamed the depsolving methods to have more accurate names.
Please register to edit this issue