Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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 X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.2-2 i686) X-Accept-Language: en MIME-Version: 1.0 To: Fergus 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> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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/