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

Re: RFC interaction with external dependency solver: Debian-CUDF



On Fri, Dec 11, 2009 at 08:10:22PM +0200, Eugene V. Lyubimkin wrote:
> While I still disagree with the most arguments for the "diff" format, I should
> state that maybe I'd be better for me to write several dozes of code lines
> than having two different DUDF output formats, especially when the one
> preferred by me is non-default, so it will be a nice candidate for ignorance
> or implementing in the last place.

Well, thanks a lot for this. It will indeed makes things easier.

Let me say a few more word on the initial architecture I've in mind
(that will also partly answer to your other question). In the Mancoosi
project we already have some solvers that currently speak CUDF 2.0 (to
be more precise: we currently have the solvers, I'm confident in having
them speak CUDF 2.0 properly by mid-January).

To let you, package manager developers, play with them I'll write a
pipeline component (in the *nix sense) that reads Debian-CUDF and write
CUDF 2.0 (to feed solvers with input) and vice versa (to feed package
managers with result).

Note that the solvers we have are probably not yet ready wrt all that's
needed for real use (for instance the optimization part, which is needed
to sanely implement pinning will not be possible yet), but will enable
various cool things:

- check that our communication protocol is appropriate
- let package managers that still lack a proper solver (e.g. APT2) have
  one to test other package manager features

> You also just "leaked" the info that some external resolvers are
> available.  What is internal output format for them?

I'm not sure I understand what you mean with "internal output
format". Some of them are pure SAT solvers, some other are PBO (a-la
minisat+), some use constraint programming, so the internal format
varies quite a lot among them. For Mancoosi needs we will have all of
them output "new state" style packages, so I count in providing the
translation among that and the diff in the pipeline component I've
mentioned above.

Of course, I do not consider as reasonable to have such a complex
pipeline in the final deployment of any package manager for
Debian/Ubuntu. Once we are satisfied with a specific package manager, we
can have it speak it directly the Debian-CUDF format, avoiding the
additional pipeline component.

Cheers.

-- 
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{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

Attachment: signature.asc
Description: Digital signature


Reply to: