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