delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/10/18/11:38:27

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=Q3JSdiGsco0SzrsL
F3rg6RZ0J0jf3/kviO5XIZYEW0N5QMeg3lJwDsDffAhsbD6k50BCFPw5YfW54txs
1Od04+jYKY6gxarK0GiuPj1tj/OtO1pJoq+sqMyEh42o3cSodCf28U4VEoRwyAIo
SMWwHW1WhzkEi+SdC/xSe7nXtXg=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=sYDW2xq1Vq1oKOXF4kpnJh
+2VUI=; b=saIVtYv9+1QfIKUihptZqjqI6c2lBpb5m9FHz+uII14CX5Xwy8mU8Y
ra8pZqlBQRBjDKnFXV5aG8D7j5+5pQNy2yaWcXBc9Hw5ZgB7TyLqjoOsCIgmOlMP
tB0QlNbqBUDs02RJPYdrfOkYZSuz02h3301gQfQTCji6KZgXI7s0c=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2
X-HELO: limerock01.mail.cornell.edu
X-CornellRouted: This message has been Routed already.
Subject: Re: Error Installing Cygwin (setup-x86_64.exe & setup-x86) - No setup.ini.sig found.
To: cygwin AT cygwin DOT com
References: <CACoLpU-VJqaNv5VQo0sYfDkVLfK5wDw+Usvg29QsAS6M7BwitQ AT mail DOT gmail DOT com> <8737xawn6j DOT fsf AT Rainer DOT invalid> <56216C25 DOT 6090104 AT cornell DOT edu> <878u72eyy2 DOT fsf AT Rainer DOT invalid> <56223B5E DOT 50309 AT cornell DOT edu> <5622BA2F DOT 7040205 AT tiscali DOT co DOT uk> <87mvvg2ya8 DOT fsf AT Rainer DOT invalid> <56239C46 DOT 2040708 AT cornell DOT edu> <87a8rg2tni DOT fsf AT Rainer DOT invalid> <5623A2E0 DOT 9070800 AT cornell DOT edu>
From: Ken Brown <kbrown AT cornell DOT edu>
Message-ID: <5623BCDB.50502@cornell.edu>
Date: Sun, 18 Oct 2015 11:38:03 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <5623A2E0.9070800@cornell.edu>
X-IsSubscribed: yes

On 10/18/2015 9:47 AM, Ken Brown wrote:
> On 10/18/2015 9:28 AM, Achim Gratz wrote:
>> Ken Brown writes:
>>> Are you saying you've never tested local installs without the -m
>>> switch?
>>
>> No, I'm saying that the "-m" switch should reduce the possibility of
>> setup doing something unwanted, because it eliminates the possibility of
>> it switching into ad-hoc mode (where it searches the subdirs for
>> setup.ini and package files to full depth).
>>
>>> If so, that explains why you haven't been able to reproduce
>>> the problems that several of us have reported.  I just verified that
>>> setup does indeed correctly descend into subdirectories with the -m
>>> switch.
>>
>> That still doesn't tell me what about your mirror directories triggers
>> it to not use local mirror mode when not using that switch.  If the
>> directory structure is correct that is in theory impossible since it
>> tries mirror mode first and only if it doesn't find a useable setup file
>> that way would it fall back to ad-hoc mode.  Please run the commands in
>> my other replay to David Stacey and tell me the result.
>
> $ find -mindepth 1 -maxdepth 1 -name $arch | \
>  > xargs -I: sh -c 'for f in :/setup.{xz,bz2,ini}; \
>  > do [ -e $f ] && { echo $f ; break; } done' && \
>  > find -mindepth 2 -maxdepth 2 -name $arch | \
>  > xargs -I: sh -c 'for f in :/setup.{xz,bz2,ini}; \
>  > do [ -e $f ] && { echo $f ; break; } done'
> ./http%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f/x86/setup.ini
> ./http%3a%2f%2fsanibeltranquility.com%2fcygwin%2f/x86/setup.ini
> ./myrepo/x86/setup.xz

Just for the record, I did a git bisection, showing (unsurprisingly) that the 
first bad commit is one of the following two:

commit 18837afa64984e98476401e99dcd772970cf9736
Author: Achim Gratz <Stromeko AT Stromeko DOT DE>
Date:   Sat Jul 11 21:58:30 2015 +0200

     Refactor setup search and implement XZ compressed setup files

         * ini.cc: Construct setup_ext_list from array until we can use
         C++11 aggregate initializers.  Clean up function parenthesis.
         (decompress_ini): Refactored for use from do_local_ini and
         do_remote_ini.  Change outdated comment about setup.ini
         uncompressed size.
         (check_ini_sig): Factor out signature check.
         (fetch_remote_ini): Refactored for use from do_remote_ini.
         (do_local_ini): Iterate over search results in found_ini_list.
         Use decompress_ini and check_ini_sig.
         (do_remote_ini): Iterate over known setup file extensions from
         setup_ext_list with early-out semantics, preferring ".xz" over
         ".bz2" over ".ini" extension.  Use fetch_remote_ini and
         check_ini_sig.
         * ini.h: Remove unused macros.
         * IniParseFindVisitor.cc: Remove, the search is already done by
         SetupFindVisitor in do_from_local_dir.
         * IniParseFindVisitor.cc: Ditto.
         * Makefile.am (@SETUP AT _SOURCES): Ditto.

commit 35addac4a65a1d70ab02b8d175f71efa83cf74ba
Author: Achim Gratz <Stromeko AT Stromeko DOT DE>
Date:   Wed Jul 1 21:36:12 2015 +0200

     Correct local directory search

         * fromcwd.cc: Remove unused includes.  Add global found_ini_list
         to record the search result.
         (SetupFindVisitor): Make setup.{ini,bz2,xz} known and provide bool
         private variables to record whether we found them.  Another bool
         inidir to indicate whether we are currently inside a directory
         where setup.ini files should exist.
         (SetupFindVisitor::visitFile): When inidir is true, check if a
         setup file with one of the known extensions was found and set the
         corresponding bool variables.
             (SetupFindVisitor::visitDirectory): Set inidir when appropriate.
         Recurse into directories only if they are potential mirror dirs,
         based on level. Truncate search and recurse into inidir.  Record
         any setup files in found_ini_list while preferring ".xz" over
         ".bz2" over ".ini" extension.
         (SetupFindVisitor::operator bool): Return true when found_ini_list
         is non-empty.
         (do_from_local_dir): Restrict search to either a single mirror
         hierarchy or multiple mirror hierarchy; setup files directly in
         local directory or mixed hierarchies are no longer recognized.
         The setup files must be present in an architecture dependent
         directory of "x86/" or "x86_64/", either in the local directory
         for single mirror or one level down for multiple mirrors.

     This patch already finds setup.xz files, but the code to deal with
     them will be in a later patch.  The current code re-does the search
     and ignores the results from here.

setup didn't build after 35addac, so I can't pin it down further. 
Unfortunately, those two commits seem to involve fairly substantial changes.

As test case for the bisection, I used step 4 of the recipe I posted in 
https://www.cygwin.com/ml/cygwin/2015-10/msg00267.html.

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


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