[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RFC: The Future of Solving Dependency Problems in APT (SAT, CUDF)



On Tue, Jun 21, 2011 at 09:46:44PM -0700, Daniel Burrows wrote:
>   At some point, you're so late to the party that you might as well
> just barge in and pretend you meant to do it all along.  In this
> spirit:

Eh, you made my day with this comment :-)

>   Has this gone anywhere?  I took a quick peek around the current apt
> source tree and didn't see any sign of solvers.h.

Yes, it has gone somewhere, mainly after a sort of "sprint" carried on
by myself and David (who deserves all credits for the APT part),
sponsored by the Mancoosi project and completed about 1 month ago. I
take the chance of this mail to apologize for not having send a report
here before; it was planned, but I didn't manage to write it down before
this mail of yours.

For the impatient, the code is available at
<https://code.launchpad.net/~donkult/+junk/mancoosi> and the keyword to
find the right files is "EDSP" for External Dependency Solver
Protocol. The protocol itself is documented at
<http://anonscm.debian.org/loggerhead/users/zack/apt.mancoosi/annotate/head:/doc/external-dependency-solver-protocol.txt>,
although it's not entirely in sync with the code, so shout before
relying on it as a spec. With respect to what have been discussed on
this list in the past, the following major changes happened:

- the protocol is independent from CUDF, although pretty close to it
  (the reason is that we need to do some heavy changes to CUDF and we
  don't want to constraint the APT implementation to our changes)

- nonetheless, it's trivial to do conversions back and forth and we
  already have all the needed scaffolding (see below)

BTW: David, you mentioned you merged my branch with the doc, but I can't
find the .txt file in your branch above, am I missing something or it's
just too early in the morning?

I understand that the APT code is ready to be merged into the next
"merge window" of APT.

In parallel to the APT side, I've worked together with Ralf Treinen and
Pietro Abate to make CUDF-based solvers available in Debian and to
enable them to talk with APT using the EDSP protocol. A few pointers:

- at present, 3 packages in the archive now "Provides: cudf-solver" (the
  random lurker can find it with "apt-cache showpkg cudf-solver")

- in experimental, you can find the new binary package "apt-cudf". When
  installed, it will automatically bind installed CUDF solvers as
  external solvers for APT

In short, the following needs to happen before having full support for
external solvers: the "mancoosi" branch gets merged into APT trunk and
uploaded + apt-cudf gets uploaded to unstable.

On the dark side, ATM we don't have support for multi-arch, as we need
some changes in CUDF for that. Luckily, the EDSP protocol itself is
already multi-arch enabled, so we will be able to support it without
touching the APT code (hopefully).

Cheers.
-- 
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Quando anche i santi ti voltano le spalle, |  .  |. I've fans everywhere
ti resta John Fante -- V. Capossela .......| ..: |.......... -- C. Adams

Attachment: signature.asc
Description: Digital signature


Reply to: