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....


Reply via email to