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:
http://www.mancoosi.org/edos/manager.html
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:
http://duncan.mac-vicar.com/blog/archives/309
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....