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 |