
"We have developed a new package-management tool, called Opium, that improves on current tools in two ways: Opium is complete, in that if there is a solution, Opium is guaranteed to find it, and Opium can optimize a user-provided objective function, which could for example state that smaller
packages should be preferred over larger ones. We performed a comparative study of our tool
against Debian's apt-get on 600 traces of real-world package installations. We show that Opium runs fast enough to be usable,
and that its completeness and optimality guarantees provide
concrete benefits to end users."
Member since:
2005-09-17
From the paper:
The solution isn't a better solver (although that's nice to have anyway), the solution is remove the possibility of conflicts.
Why do I need to use a massively complex algorithm to find the single version of some libfoo that works with all of the one thousand packages on my machine? What the system needs is a bit of slack. If there's a period of a few months when one program needs libfoo > 3 and another needs libfoo == 3 that shouldn't matter. Just keep two copies of libfoo on my system until the problem is fixed.
This is how Zero Install works:
http://0install.net