On Mon, Feb 09, 2009 at 12:59:49PM +0100, kc.ubuntu...@centrum.cz wrote: > 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
Given that I'm involved in the mentioned project (Mancoosi), I feel like replying to some of the points raised in this thread. First of all the mentioned page is reporting data from a project which predates Mancoosi, namely EDOS (a project in which I was not yet involved [1]), data that dates back 2005 or so. EDOS contributed quite a lot back to Debian, in particular the edos-debcheck toolchain which is used for QA purposes (see http://edos.debian.net) and on top of which work is in progress to try improving various part of the Debian testing and buildd infrastructure. The reported tests did not involve aptitude at all, but where limited to APT (and not specifically apt-rpm). What the tests do say is simply that APT has not a complete dependency solver, where _complete_ means intuitively something like "being able to find *a* solution whenever at least one solution does exist". Such a propriety is not *that* commonly available in state of the art dependency solvers (with SUSE's Zypp being one of the exception, together with OPIUM and Apache Maven), so it is definitely not a shame not being complete. The data reported was simply a review of the state of the art (back then) also aimed at pointing out the issues to increase sensibility about it. Actually, SUSE's Zypp descends from studies originating in EDOS so please don't use them to finger point deficiencies as they were meant to show how to improve them. Also, as observed in this thread, aptitude is way more capable than APT itself, so your claim (in the subject) that equate it to APT is inappropriately misleading. Arguably, but here we enter the more debatable area of design goals, APT should stay as it is and more capable solvers should be implemented on top of it, exactly in the spirit of aptitude. Also, just to nitpick, note that SAT solving alone is not a suitable technique to solve dependencies, as in its basic formulation a SAT answer will just tell you if a given request is satisfiable, without providing any quality assessment of the result. For instance, when you ask to install a package "p", you generally want to have a solution that minimizes the number of extra packages you install wrt "p", while a SAT solver can find for you a solution that install basically all the archive, including "p". To achieve the solutions you usually expect, you will need different techniques. What we are trying to do within Mancoosi is exactly to get a better understanding of this aspects, and way more complicate optimization criteria (e.g.: I want to minimize the installed size, or the download size, or I want to blacklist packages from maintainer "Joe Random Developer" because I don't trust him), also devising optimized algorithms for that [2]. In doing so we are also collaborating with people writing package managers, and I've already got in touch about that also with both APT and aptitude developers, even though it is too early to have code. If you want to know more about all this please have a look at the paper [3] and presentation by me and Ralf Treinen at DebConf8; the video is available in the DebConf8 video archive. Cheers. [1] I'm pointing this out not to dissociate from that project, but just to give credit where credit is due [2] Note that such algorithms in part do not exist yet, so it is not just a matter of shouting "go and implement that". [3] link to the PDF: http://upsilon.cc/~zack/research/publications/debconf8-mancoosi.pdf , -- Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7 z...@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/ Dietro un grande uomo c'è ..| . |. Et ne m'en veux pas si je te tutoie sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime
signature.asc
Description: Digital signature