Apt ordering code improvements
Mentor: MichaelVogt / Apt team
Summary: Improve the code that order the unpack/configure of the deb packages
- C++, libapt
Description: The ordering code in libapt is responsible for ordering the installation of the debs. It ensures that packages are unpacked/configured in the right order so that dependencies are satisfied etc. Currently it organizes the ordering into big batches. It would be good to be able to instead order according to various constrains. Orderings like "order-for-minimal amounts of dpkg invocations", "order for minimal amount of broken packages at any point during the install". This includes code cleanup and writing a regression testsuite around the ordering code to ensure the new code works well and keeps working.
As a bonus this ordering change should prepare to have download and install in parallel by making it possible to identify minimal batches that are downloaded and when a batch is complete it can be feed to the installer (dpkg) while the download continues with the next "batch" that can be installed together.