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

Re: pkgProblemResolver



On Sat, 5 Dec 1998, Havoc Pennington wrote:

> Can someone give me a quick summary of what pkgProblemResolver is for in 
> DoInstall() in apt-get? Protect(), InstallProtect(), Resolve()? 

pkgProblemResolver is the really clever and evil class that resolves
problems :> Basically you can simply create it with a cache object and
call resolve() and it will either return false or everything will be fixed
in the 'best way possible'. ResolveByKeep does the same but it does not
install or remove, it only works when things were OK at some point.

The protect functions prevent the problem resolver from deinstalling
packages to install or installing packages to remove. It will fail rather
than 

> Also, if I MarkInstall(i, false); and then InstBroken() == true, 
> I want to give the user the option to MarkInstall(i, true); right? 
> Is there some way to show a preview of changes MarkInstall(i,true) 
> will make?

I think the best thing to do is to always call MarkInstall(,true), that
way you don't get the irritating dselect mode screens. You can always see
what MarkInstall will do by expanding the tree and watching what changes.
It only effects first level depends.

Jason


Reply to: