On Fri, Aug 06, 2010 at 10:26:02PM +0200, Corinna Vinschen wrote: >On Aug 6 22:08, Corinna Vinschen wrote: >> On Aug 6 19:21, Andy Koppe wrote: >> > On 6 August 2010 18:09, Andy Koppe wrote: >> > > On 6 August 2010 17:00, Corinna Vinschen wrote: >> > >>> On Fri, Aug 06, 2010 at 01:25:54PM +0100, Andy Koppe wrote: >> > >>> >The dependency resolver page only adds direct >> > >>> >dependencies of packages that have been selected, not indirect ones, >> > >>> >so you end up with missing DLLs. (They do get added before the package >> > >>> >selection screen if you run setup.exe again.) >> > >> >> > >> I'm looking into it, but it's tricky for people not quite up to speed >> > >> with STL. ??Basically the elements in unmap also have to be tested for >> > >> unsatisfied dependencies. ??One problem is that unmet is a map, so, when >> > >> adding elements to unmet, there has to be some marker which allows to >> > >> recognize elements which already have been tested for dependencies, >> > >> otherwise it will be rather slow. >> > > >> > > I'm hoping this won't need to be implemented from scratch, given >> > > indirect dependencies already do work elsewhere. >> > >> > Misplaced hope, because packageversion::set_requirements, which is >> > used on the chooser page, selects packages right away, whereas on the >> > PreReq page they're first collected into a list of packages (and their >> > requirees) to display to the user. >> > >> > I'll have a go at PrereqChecker::isMet() then. >> >> I had a go at it, see below. Does it make sense? I tested this by >> selecting *only* the flac-devel package, which resulted in the following >> "Resolve Dependecies" dialog: >> >> Package: libFLAC++6 >> Required by: flac-devel >> >> Package: libFLAC8 >> Required by: flac-devel >> >> Package: libogg-devel >> Required by: flac-devel >> >> Package: libogg0 >> Required by: libogg-devel >> >> Looks good, doesn't it? Do you have another useful test for this code? > >Here's another test with only selecting the vorbis-tools package. >With the current setup from CVS: > > Package: libao4 > Required by: vorbis-tools > > Package: libFLAC8 > Required by: vorbis-tools > > Package: libkate1 > Required by: vorbis-tools > > Package: libogg0 > Required by: vorbis-tools > > Package: libspeex1 > Required by: vorbis-tools > > Package: libvorbis0 > Required by: vorbis-tools > > Package: libvorbisenc2 > Required by: vorbis-tools > > Package: libvorbisfile3 > Required by: vorbis-tools > >With my patch: > > Package: libao > Required by: libao4 > > Package: libao-devel > Required by: libao > > Package: libao4 > Required by: vorbis-tools > > Package: libaudio2 > Required by: libao4 > > Package: libaudiofile0 > Required by: libesd0 > > Package: libesd0 > Required by: libao4 > > Package: libFLAC8 > Required by: vorbis-tools > > Package: libkate > Required by: libkate1 > > Package: libkate1 > Required by: vorbis-tools > > Package: libogg0 > Required by: vorbis-tools > > Package: libspeex1 > Required by: vorbis-tools > > Package: libvorbis > Required by: libvorbis0 > > Package: libvorbis0 > Required by: vorbis-tools > > Package: libvorbisenc2 > Required by: vorbis-tools > > Package: libvorbisfile3 > Required by: vorbis-tools > > >Looks still good, doesn't it?
Yep. Andy do you agree? cgf
