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? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat