Refactor #5068
closedRefactor depsolving code
0%
Description
Issue created to keep track of refactor commits required to be backported in case of additional fixes.
Related issues
Added by dalley over 5 years ago
Updated by dalley over 5 years ago
- Blocks Issue #5063: Module defaults need to be considered and copied automatically during recursive dependency solving added
Updated by dalley over 5 years ago
- Blocked by Refactor #4923: Document and refactor depsolving code added
Updated by dalley over 5 years ago
The issue that this issue has a "blocked by" relationship to was merged into 2.20, but will need to be cherry picked into prior releases (2.18, 2.19) during backports.
Added by dalley over 5 years ago
Revision 5e3996e7 | View on GitHub
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.
Added by dalley over 5 years ago
Revision b07c62d3 | View on GitHub
Simplify DB loading code
.only() is better for us than .excludes()
Added by dalley over 5 years ago
Revision 443c7bf5 | View on GitHub
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.
Added by dalley over 5 years ago
Revision 4521b78f | View on GitHub
Address PR review feedback
Wanted to rebase but it got nasty
Updated by dalley over 5 years ago
- Status changed from NEW to MODIFIED
- Assignee set to dalley
- Platform Release set to master
Added by dalley over 5 years ago
Revision 5be74efc | View on GitHub
Small refactor
Get rid of a small single-purpose function and replace with a loop. Move other single-purpose functions into their caller locations.
Added by dalley over 5 years ago
Revision a99114df | View on GitHub
Fix KeyError
Epoch doesn't always exist but we still have to use it.
Added by dalley over 5 years ago
Revision d4ff5204 | View on GitHub
Add an "ignore_missing" parameter to the depsolver
Assist with debugging so that the solvable faking behavior can be disabled easily.
Added by dalley over 5 years ago
Revision 02b9411e | View on GitHub
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.
Added by dalley over 5 years ago
Revision e1edc3de | View on GitHub
Refactor the Solver() handling of target repos
Libsolv only allows one repo at a time to be "installed" so we should reflect that in the API.
Updated by dalley over 5 years ago
- Status changed from MODIFIED to POST
This PR also - moving back to POST so that the commits will associate.
Updated by dkliban@redhat.com over 5 years ago
- Sprint changed from Sprint 55 to Sprint 56
Updated by dalley over 5 years ago
- Blocks deleted (Issue #5063: Module defaults need to be considered and copied automatically during recursive dependency solving)
Updated by dalley over 5 years ago
- Blocks Issue #5063: Module defaults need to be considered and copied automatically during recursive dependency solving added
Updated by dalley about 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Refactor depsolving part 2 (necessary for bugfix)
The scope of UnitSolvableMapping needs to be reduced for reasons discussed on the PR. It makes sense to keep this separate from the bugfix to reduce noise.
re: #4962 https://pulp.plan.io/issues/4962