I would like to ask you a little bit controversal question. As a user I miss a package manager based on powerfull dependency solver. Using APT in DEB-based distributions, I can easilly create some kind of problem, APT is unable to solve. This is because the APT is the worst dependency solver almost ever invented. Proof can be found here:
As a SUSE user, I'm used to work with Zypper/Libzypp package managementm using SAT solver. Since Opensuse 11.0, Libzypp is the best, fastest and te most powerfool tool to solve dependenies ever used in Linux distribution.
If you look at the comparison i posted above, you can se that APT is worse than Urpmi and SMART - which was the best dependency solver in that comparison. Zypper mentioned above, is a ittle bit better than smart:
I made some personal test, to compare the solver capabilities myself. I add KDE 4.2 repository to SUSE and Ubuntu, and made an upgrade from 4.1.3 to 4.2. After that i disabled KDE 4.2 repositories and delete one of the KDE 4.2 packages. This lead to inconsistent state, because KDE 4.2 repository was unavailable to repaire the dependency. The solution is obvious. Donwgrade somepackages back to KDE 4.1.3, to make dependencies OK because all 4.1.3 packages are available.
For APT (ubuntu), it was totaly imposible to find that existing solution. It gave it up because of broken dependencies. No parameters like "-f" worked. After that, I tried SMART, which solved the problem immediatelly. As I posted above, Smart has far better dependency solver.
After that, I made the same situation using Zypper/Opensuse. It immediately found that existing solution as the fastest and with minimum changes, but offered me some other possibilities.
So. APT is totally incapable to solve dependency problems and from mathematical point of view find only only obvious predictable solution. If it does not available, or package dependencies are written badly, it ends without solution.
Smart is far more better and Zypper is the best. In addition, both SMART and Zypper has ability to manage repositories and keys, which APT is unable. (you have to dit souces.list manualy)
Is there any chance to implement better solvers to APT/Aptitude, chagne them to multiplatform and far better SMART or porting the best Zypper tool from Opensuse?
Just an Idea....