[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 Wed, Jun 22, 2011 at 09:42, Stefano Zacchiroli <zack@debian.org> wrote:
> On Tue, Jun 21, 2011 at 09:46:44PM -0700, Daniel Burrows wrote:
>>   Has this gone anywhere?  I took a quick peek around the current apt
>> source tree and didn't see any sign of solvers.h.

It depends. In regards to solver.h its not done so far.

What Stefano described can be considered a very low-level interface
which is "perfectly" hidden in the old stuff, so that all the frontends
currently using the internal resolver can switch to use an external with
no code change as it still looks like as the internal resolver did the work.

solver.h would be way more general but currently it would be designing an
interface for a running target. As Stefano said CUDF isn't stable^W
feature-complete so far and it isn't exactly clear what external solvers
will need, what will be optional and what can be dropped completely.
The key concept of APT regarding a candidate-version is seriously
flawed if some solvers are concerned for example, so best of all do
not calculate it if nobody needs it, but what else is optional?
CUDF is optional, but how to expose APT's mmap cleanly?
And we haven't yet answered questions like how to work with
interactive solver (like the one in aptitude) at all…


Lets assume Daniel asked because he is interested in making the aptitude
solver available as an external solver: Easy! (Maybe?)
You can do something similar to what APT does for his internal solver:
http://bazaar.launchpad.net/~donkult/apt/experimental/view/head:/cmdline/apt-internal-solver.cc
(missing is preferences and autobit so far through, so it's not complete)
Its a bit slow to convert MMap to EDSP and back, but it is quiet interesting
for testing at least and binary transfer hard-depends on solver.h …

If you want to support EDSP in aptitude to use external resolver, too,
you might get along with using at least parts of edsp.{cc,h}, but i
don't know the aptitude code to provide a good answer to that.


> 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?

Not your fault, i wasn't too clear about that…
I moved on to lp:~donkult/apt/experimental
which bundles a few more more or less unfinished & (un)related abi-breaks
(in a now again seriously outdated branch regarding to debian-sid…
 time oh time, where are you?)
But yes, mancoosi-stuff is absolutely on the agenda for the next
abi break, but nobody has an serious ETA then this will happen.


> - 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

btw: Sounds good. Will try that later. :)


Best regards

David Kalnischkies


Reply to: