[PATCH] Stop automatic dependency selection on setup.exe chooser screen
Corinna Vinschen
corinna-cygwin@cygwin.com
Fri Aug 6 20:26:00 GMT 2010
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
More information about the Cygwin-apps
mailing list