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

