This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: A bug (?) in the current setup.exe 2.78.2.15
- To: Fergus <fergus at bonhard dot uklinux dot net>
- Subject: Re: A bug (?) in the current setup.exe 2.78.2.15
- From: Pavel Tsekov <ptsekov at syntrex dot com>
- Date: Fri, 02 Nov 2001 19:18:29 +0100
- CC: cygwin at cygwin dot com
- References: <001201c163a7$5d1610e0$6fc82486@medschool.dundee.ac.uk>
Fergus wrote:
>
> Robert,
>
[ snip right to the description of the problem :) ]
>
> ... except just this once: it seems to think that ash-20010827-1.tar.bz2
> provides an update to ash-20011018-1.tar.bz2, whereas the reverse is the
> case.
Ok I've tracked down the problem to calling scan_downloaded_files() in
chooser.cc and more specifically scan2() in the same file. scan2()
involves an algo which tries to determine differences between packages
listed
in setup.ini and the contents of the directory containing packages,
called
holes. It cycles throug the infoscan array of structures and based on
some rules
fills these holes - however if you have filled the infoscan array cell
for TEST
package (i.e. 6 or more digits in the version field of the package) and
left the
other two field (PREV and CURR) empty and you find a file which is with
a version
less than the current in TEST you fill CURR cell with this element:
Cycle through PREV, CURR and TEST to look for holes
Loop 1: PREV's version field is empty, "cmp" is 0 we set the gap to
PREV
Loop 2: CURR's version field is empty, "cmp" is 0 we set the gap to
CURR
Loop 3: TEST's version is not zero
Test if TEST's version is equal to the package we a currently
running
snap2() for. It's not - its greater. So we've found a hole
(CURR)
and set it to the older package.
Leave loop
So one solution which comes to me is remove the scan_downloaded_files if
there is
no setup.ini install. But since its complicated topic I'll wait for
somone elses
opinion :)
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/