Linked by Thom Holwerda on Mon 4th Jun 2007 16:38 UTC, submitted by anonymous
Benchmarks "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."
Thread beginning with comment 245270
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: Solving the wrong problem
by Tom5 on Mon 4th Jun 2007 20:41 UTC in reply to "RE[2]: Solving the wrong problem"
Member since:

I would argue that OPIUM is much simpler than APT in the way it solves dependencies.

Simpler, but with the same problems.

As I understand it, your success criteria is that the new package is installed and a minimum of other packages are removed. So, if I ask OPIUM to install "abiword" and it removes "gimp" in the process then that is a successful (and optimal) installation as far as the paper is concerned.

To a user, that probably looks more like failure! The real optimal solution is to install abiword without uninstalling anything.

Reply Parent Score: 2

christucker Member since:

OPIUM is optimal within the bounds of the packaging system. If the Abiword package says it conflicts with the gimp package then we can't install Abiword on a system with Gimp. I agree that to the user this looks like a failure, but it's a failure independent of the algorithm used to install software: it's a failure in the packaging of Abiword and Gimp, or a failure in the packaging system. One thing OPIUM can do that APT can't, though, is say something like: "I don't consider it a solution if I have to remove something that the user explicitly installed (i.e. didn't come in as a dependency)". In general, we can guide the solver in any way we like to prefer removing certain packages in the case where packages have to be removed. Ideally this situation (need to remove packages) would never occur, but given in both of the major packaging formats we do encounter this problem it's valuable to address it.

Reply Parent Score: 2

deanlinkous Member since:

Cant you place a hold or possibly pin packages with apt/aptitude and then those will not be removed. Now getting past that may be tricky.

I am also unsure how much room there is to "guide the solver" in solutions. Sure you can choose a different MTA or browser but if gstreamer wants libxine1.4 then you are getting libxine1.4

I would like to see opium in action - hard to say how it will work just by someone telling me about it. Or maybe, some examples that I can try and prove to myself that apt is actually adding/removing stuff incorrectly?

Reply Parent Score: 2