delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/11/02/13:18:46

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019