| delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
| List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
| List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
| Sender: | cygwin-owner AT sources DOT redhat DOT com |
| Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
| Message-ID: | <3BE2E375.EB32B4E4@syntrex.com> |
| Date: | Fri, 02 Nov 2001 19:18:29 +0100 |
| From: | Pavel Tsekov <ptsekov AT syntrex DOT com> |
| X-Mailer: | Mozilla 4.76 [en] (X11; U; Linux 2.4.2-2 i686) |
| X-Accept-Language: | en |
| MIME-Version: | 1.0 |
| To: | Fergus <fergus AT bonhard DOT uklinux DOT net> |
| CC: | cygwin AT cygwin DOT com |
| Subject: | Re: A bug (?) in the current setup.exe 2.78.2.15 |
| References: | <001201c163a7$5d1610e0$6fc82486 AT medschool DOT dundee DOT ac DOT 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/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |