[PATCH] Stop automatic dependency selection on setup.exe chooser screen

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Fri Aug 6 20:37:00 GMT 2010


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



More information about the Cygwin-apps mailing list