APT-based tools work with the user to figure out how their system should look like after they are done installing/removing packages and their dependencies. The actual installation/removal of packages is done by dpkg as instructed by APT based on the wishes of the user.

Historically APT has a super micro-management approach to this task which hasn't aged that well over the years mostly ignoring changes in dpkg and growing into an unmaintainable mess hardly anyone can debug and everyone fears to touch – especially as more and more requirements are tacked onto it.

Proposed is the introduction of an abstraction layer similar to the "External Dependency Solver Protocol" (EDSP) which is used to let apt talk to external dependency solvers. This layer would not only allow the easier collection of the required data for debugging failures but ultimately allows the introduction of multiple (competing) ordering strategies.





  • michaelvogt@gmail.com