www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2017/03/02/12:28:33

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:references:to:from:reply-to:message-id
:date:mime-version:in-reply-to:content-type; q=dns; s=default; b=
KEUIj1WeFQ494Vy2Egj939qga8xfkpbtFj1bh/tHzvryYd15dWYE2OzBOOsSlm/L
uIYNXZvqQ+X49wURBQeg3EO//aR3BlaR4XwlJRuzyCD2t8ceSR3gwRfSX9RMYQXb
Cit2DLJxYpcJLaZCZADfbvXplHYVD37sNIcOJgioXGA=
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:references:to:from:reply-to:message-id
:date:mime-version:in-reply-to:content-type; s=default; bh=8ZtLN
zP0/TmPzKU/BJP/Os8FB3A=; b=v0TzVpARsS+MSi8kilK/RvVkaENiEUmCZhJaM
NGbIsqCoXAfFLEk9f07mQd1Nav+tL6mUhEO5nT27MGUCKrRctD3ibLTnDSrMkj1q
wUwH9eLfGpyJ6lf8SjLKwNpoU4h74PLKQjmw7j2ueaXLWP+I5Uw2V5+wWZ9wmqUH
96rBfY=
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=0.4 required=5.0 tests=AWL,BAYES_20,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=H*R:D*ca, ranging, crons, ASCII
X-HELO: smtp-out-so.shaw.ca
X-Authority-Analysis: v=2.2 cv=W+NIbVek c=1 sm=1 tr=0 a=WqCeCkldcEjBO3QZneQsCg==:117 a=WqCeCkldcEjBO3QZneQsCg==:17 a=eIhxMilvRf8A:10 a=r77TgQKjGQsHNAKrUKIA:9 a=0tyBXaeHwgPmBxYG9sUA:9 a=QEXdDO2ut3YA:10 a=QDJd8P9Fd7bAx3PITGoA:9 a=Ld372NDzu18A:10
Subject: Re: [ANNOUNCEMENT] Updated: dash-0.5.9.1-1
References: <485AF0C5-7E1B-49AA-BE3E-C3717DA3268B AT solidrocksystems DOT com> <58b811b2 DOT 261d9d0a DOT 7c759 DOT 299d AT mx DOT google DOT com> <db63a27c-a322-7fce-1a94-a1371d387c50 AT gmail DOT com> <acb13acc-28e8-c508-1b55-c88d404f9c1b AT redhat DOT com>
To: cygwin AT cygwin DOT com
From: Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
Reply-To: Brian DOT Inglis AT SystematicSw DOT ab DOT ca
Message-ID: <8c9fefe1-a377-9188-62ac-ef960b639b75@SystematicSw.ab.ca>
Date: Thu, 2 Mar 2017 10:28:12 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
MIME-Version: 1.0
In-Reply-To: <acb13acc-28e8-c508-1b55-c88d404f9c1b@redhat.com>
X-CMAE-Envelope: MS4wfCsux6qpLHd90WbbOiCZX47oYJ2y4ordM7eHoTdbhRkDRXwoDImBitE2pxo2Mr0HqzeKLF9ae1qrSEFe9bv+TXci+NqsyzgxWqEwKy8Hr66HSOL/Meuv jUC7jype0xzoS7+SK992IWlPoVMTlio/FpTe1O2ohsheDda/QiJej80TyfGGVlmjMcplp2opx/mONg==
X-IsSubscribed: yes

--------------44DD7E19D5DC8D4D1A538F38
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On 2017-03-02 07:29, Eric Blake wrote:
> On 03/02/2017 07:36 AM, Marco Atzeri wrote:
>> On 02/03/2017 13:36, Steven Penny wrote:
>>> On Wed, 1 Mar 2017 23:31:24, Vince Rice wrote:
>>>> Then you haven't been paying attention. And I didn't even
>>>> attempt to make an argument one way or the other, except to say
>>>> stop arguing. The horse is dead.
>>>
>>> Perhaps you could link to a constructive, concrete idea against
>>> the change that someone has made besides Eric. Even better, you
>>> could post your own constructive idea; surely you havent emailed
>>> twice now with nothing constructive to add?
>>
>> He was constructive, but you seems biased in understanding the answer.
> 
> To reiterate my answer in different terms:
> 
> If you can convince Fedora to switch /bin/sh to dash, then I will
> immediately follow in Cygwin.  Until then, I'm worried that there are
> enough scripts in the wild that use bashisms and will therefore break if
> /bin/sh is not bash, even though that number has reduced somewhat since
> Debian made their switch.  Trying to make Cygwin the guinea pig, instead
> of Fedora, is going about it backwards (you WANT the change to be done
> in a place where there is plenty of manpower to deal with the fallout,
> and Fedora has more manpower than Cygwin).

I can see distros like *BSD or Debian making decisions like that or 
systemd, but not vendors like RH or Canonical: too little upside with 
too much downside for paying customers.

> I'm still toying with the idea of doing a test release of both bash
> and dash that flips /bin/sh between them; but I'm still stuck on the
> problem that a user MUST upgrade (or downgrade) both packages in
> tandem, or else risk being left without a /bin/sh at all. Help would
> be appreciated in figuring out the problem (telling me that "dash is
> faster than bash" is not help, nor is telling me that "portable shell
> scripts don't care if /bin/sh is bash or dash" - I already know those
> points. What I don't know is how many non-portable scripts are out
> there, so how much breakage would I be causing by forcing those
> non-portable scripts to deal with their non-portability, and how to
> minimize the even-worse breakage of an upgrade scenario that leaves
> no /bin/sh at all).

summary of checkbashisms -f run on 140 POSIX shell scripts as 
identified by file in my Cygwin 64 /bin/ with 784 packages (about 20% 
of cygwin-pkg-maint, 8% of setup.ini) installed, 70 possible issues 
(some from wrapped scripts because of -f): 
     14 /bin/cronbug
      7 /bin/procmail-config
      5 /bin/ca-legacy
      4 /bin/pcdovtoppm
      3 /bin/ppmshadow
      3 /bin/ppmfade
      3 /bin/fig2ps2tex
      3 /bin/bzgrep
      2 /bin/ppmrainbow
      2 /bin/pnmquant
      2 /bin/pnmflip
      2 /bin/install-catalog
      1 /bin/zgrep
      1 /bin/zdiff
      1 /bin/xzdiff
      1 /bin/updatedb
      1 /bin/texi2dvi
      1 /bin/ppmquant
      1 /bin/pnmquantall
      1 /bin/pic2graph
      1 /bin/pgmcrater
      1 /bin/pdfroff
      1 /bin/messagebus-config
      1 /bin/gzexe
      1 /bin/grap2graph
      1 /bin/gettextize
      1 /bin/gettext.sh
      1 /bin/eqn2graph
      1 /bin/clisp-link
      1 /bin/ccmakedep
      1 /bin/autopoint
      1 /bin/autoconf-2.69

with diagnostics (some from wrapped scripts because of -f):
     16 echo -e
     12 '((' should be '$(('
      7 alternative test command ([[ foo ]] should be [ foo ])
      7 $RANDOM
      6 unsafe echo with backslash
      5 'function' is useless
      4 type
      4 bash arrays, ${name[0|*|@]}
      3 ${parm/?/pat[/str]}
      3 $_
      1 should be '.', not 'source'
      1 $BASH_SOMETHING
      1 $(OS|MACH)TYPE

So about 20% of packages have scripts installed, with potential issues 
ranging from 5-12*70 == 350-840.
Some potential fixes are obvious from my sample (attached, hopefully 
as inline text which will pass thru the filters): 

- change these scripts to shebang #!/bin/bash 
- replace echo -e with printf in most cases
- replace [[ ... ]] with [ ... ] or case if patterns are used 
- strip leading function 
- use  mktemp to eliminate $RANDOM

but most require judgement in application.

Generated scripts like libtool{,ize} may require complex patches submitted 
upstream to fix what may be sh dependent code generation or execution; not 
included in the attached sample, as file categorized these as:
/bin/libtool:    POSIX shell script, ASCII text executable, with very long lines, with escape sequences
/bin/libtoolize: POSIX shell script, ASCII text executable, with very long lines, with escape sequences

> Hmm, maybe I could create a NEW package, 'sh', which packages /bin/sh as
> however I want it (probably bash to begin with, to at least give people
> time to upgrade and pick up the packaging change before also having to
> deal with any shell changing). New releases of both bash and dash would
> depend on the new package, to guarantee that if you upgrade one shell,
> you pick up the dependency.  And by not having /bin/sh in either the
> bash or dash package, then we would at least avoid the current situation
> where upgrading/downgrading in the wrong order could leave a user
> without /bin/sh at all.  You might still be in a situation where the
> wrong version of the 'sh' package leaves you with an outdated version of
> a shell, or the wrong flavor in relation to the current distro choice,
> but that's less of a problem than having no /bin/sh at all.  In fact,
> having a separate 'sh' package may make it even easier to pick which
> shell flavor you prefer (if I always keep the 'curr' and 'test' versions
> pointed to different shells, then you make the choice of which sh flavor
> you want by which version you install).

Smart idea: just a postinstall dash script dependent on the prereq shell, 
ln curr bash->sh, test dash->sh, and respective man 1 page.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

--------------44DD7E19D5DC8D4D1A538F38
Content-Type: text/plain; charset=UTF-8;
 name="root-bin-shell-posix-bashisms.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="root-bin-shell-posix-bashisms.txt"

cG9zc2libGUgYmFzaGlzbSBpbiAvYmluL2F1dG9jb25mLTIuNjkgbGluZSA1
NSAoJEJBU0hfU09NRVRISU5HKToKaWYgdGVzdCAteiAiJEJBU0hfVkVSU0lP
TiRaU0hfVkVSU0lPTiIgXAogICAgJiYgKHRlc3QgIlhgcHJpbnQgLXIgLS0g
JGFzX2VjaG9gIiA9ICJYJGFzX2VjaG8iKSAyPi9kZXYvbnVsbDsgdGhlbgpl
cnJvcjogL2Jpbi9hdXRvY29uZi0yLjY5OiBVbnRlcm1pbmF0ZWQgcXVvdGVk
IHN0cmluZyBmb3VuZCwgRU9GIHJlYWNoZWQuIFdhbnRlZDogPCc+LCBvcGVu
ZWQgaW4gbGluZSA0MjkKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL2F1dG9w
b2ludCBsaW5lIDU3ICgkUkFORE9NKToKICAgIHRtcD0kVE1QRElSL2d0JCQt
JFJBTkRPTQpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vYnpncmVwIGxpbmUg
NjYgKCR7cGFybS8/L3BhdFsvc3RyXX0pOgogICAgaj0ke2kvL1xcL1xcXFx9
CnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9iemdyZXAgbGluZSA2NyAoJHtw
YXJtLz8vcGF0Wy9zdHJdfSk6CiAgICBqPSR7ai8vfC9cXHx9CnBvc3NpYmxl
IGJhc2hpc20gaW4gL2Jpbi9iemdyZXAgbGluZSA2OCAoJHtwYXJtLz8vcGF0
Wy9zdHJdfSk6CiAgICBqPSR7ai8vJi9cXCZ9CnBvc3NpYmxlIGJhc2hpc20g
aW4gL2Jpbi9jYS1sZWdhY3kgbGluZSA2MSAoYWx0ZXJuYXRpdmUgdGVzdCBj
b21tYW5kIChbWyBmb28gXV0gc2hvdWxkIGJlIFsgZm9vIF0pKToKaWYgW1sg
JCMgLWVxIDAgXV07IHRoZW4KcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL2Nh
LWxlZ2FjeSBsaW5lIDY3IChhbHRlcm5hdGl2ZSB0ZXN0IGNvbW1hbmQgKFtb
IGZvbyBdXSBzaG91bGQgYmUgWyBmb28gXSkpOgppZiBbWyAiJDEiID0gImlu
c3RhbGwiIF1dOyB0aGVuCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9jYS1s
ZWdhY3kgbGluZSA3MiAoYWx0ZXJuYXRpdmUgdGVzdCBjb21tYW5kIChbWyBm
b28gXV0gc2hvdWxkIGJlIFsgZm9vIF0pKToKaWYgW1sgIiQxIiA9ICJkZWZh
dWx0IiBdXTsgdGhlbgpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vY2EtbGVn
YWN5IGxpbmUgNzYgKGFsdGVybmF0aXZlIHRlc3QgY29tbWFuZCAoW1sgZm9v
IF1dIHNob3VsZCBiZSBbIGZvbyBdKSk6CmlmIFtbICIkMSIgPSAiZGlzYWJs
ZSIgXV07IHRoZW4KcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL2NhLWxlZ2Fj
eSBsaW5lIDgxIChhbHRlcm5hdGl2ZSB0ZXN0IGNvbW1hbmQgKFtbIGZvbyBd
XSBzaG91bGQgYmUgWyBmb28gXSkpOgppZiBbWyAiJDEiID0gImNoZWNrIiBd
XTsgdGhlbgpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vY2NtYWtlZGVwIGxp
bmUgNDQgKHVuc2FmZSBlY2hvIHdpdGggYmFja3NsYXNoKToKZWNobyAiIFxj
IiA+ICRDUFBDTUQKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL2NsaXNwLWxp
bmsgbGluZSAxMzMgKCRSQU5ET00pOgogICAgdG1wPSRUTVBESVIvZ3QkJC0k
UkFORE9NCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9jcm9uYnVnIGxpbmUg
MjAgKGVjaG8gLWUpOgogICAgICBlY2hvIC1lICJRdWl0dGluZy5cbiIKcG9z
c2libGUgYmFzaGlzbSBpbiAvYmluL2Nyb25idWcgbGluZSA0NiAoZWNobyAt
ZSk6CmVjaG8gLWUgIlxuVGhlIHJlcG9ydCBpcyB3cml0dGVuIHRvIHRoZSBm
aWxlIC4vY3JvbmJ1Zy50eHQiCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9j
cm9uYnVnIGxpbmUgNTAgKGVjaG8gLWUpOgplY2hvIC1lICJcbkN1cnJlbnQg
dmVyc2lvbiIKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL2Nyb25idWcgbGlu
ZSA1MyAoZWNobyAtZSk6CmVjaG8gLWUgIlxuUnVubmluZyBjcm9uczoiCnBv
c3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9jcm9uYnVnIGxpbmUgNTYgKGVjaG8g
LWUpOgplY2hvIC1lICJcblNlbmRtYWlsOiIKcG9zc2libGUgYmFzaGlzbSBp
biAvYmluL2Nyb25idWcgbGluZSA1OSAoZWNobyAtZSk6CmVjaG8gLWUgIlxu
Q3JvbnRhYnM6Igpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vY3JvbmJ1ZyBs
aW5lIDY1IChlY2hvIC1lKToKZWNobyAtZSAiXG5jcm9uLmxvZzoiCnBvc3Np
YmxlIGJhc2hpc20gaW4gL2Jpbi9jcm9uYnVnIGxpbmUgNjggKGVjaG8gLWUp
OgplY2hvIC1lICJcbmNyb24ucGlkOiIKcG9zc2libGUgYmFzaGlzbSBpbiAv
YmluL2Nyb25idWcgbGluZSA3MSAoZWNobyAtZSk6CmVjaG8gLWUgIlxuQ3Jv
bnRhYjoiCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9jcm9uYnVnIGxpbmUg
NzUgKGVjaG8gLWUpOgogIGVjaG8gLWUgIlxuU3lzbG9nIHJ1bm5pbmciCnBv
c3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9jcm9uYnVnIGxpbmUgNzcgKGVjaG8g
LWUpOgogIGVjaG8gLWUgIlxuV2luZG93cyBBcHBsaWNhdGlvbiBFdmVudHMg
bG9nOiIKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL2Nyb25idWcgbGluZSA4
MSAoZWNobyAtZSk6CmVjaG8gLWUgIlxuQ3lnY2hlY2s6Igpwb3NzaWJsZSBi
YXNoaXNtIGluIC9iaW4vY3JvbmJ1ZyBsaW5lIDg3IChlY2hvIC1lKToKCWVj
aG8gLWUgIlxuV0FSTklORzogVGhlIFdpbmRvd3MgYXBwbGljYXRpb24gbG9n
IGNvbnRhaW5zIGNyb24iCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9jcm9u
YnVnIGxpbmUgOTIgKGVjaG8gLWUpOgoJZWNobyAtZSAiXG5XQVJOSU5HOiBZ
b3UgaGF2ZSBtdWx0aXBsZSBjeWd3aW4uZGxsIGluIHlvdXIgUEFUSC4iCnBv
c3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9lcW4yZ3JhcGggbGluZSA2OCAoJFJB
TkRPTSk6CiAgICB0bXA9JGQvZXFuMmdyYXBoJCQtJFJBTkRPTQpwb3NzaWJs
ZSBiYXNoaXNtIGluIC9iaW4vZmlnMnBzMnRleCBsaW5lIDE4ICh1bnNhZmUg
ZWNobyB3aXRoIGJhY2tzbGFzaCk6CmVjaG8gIiAgXHZib3ggdG8gJHt5c3B9
aW57Igpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vZmlnMnBzMnRleCBsaW5l
IDE5ICh1bnNhZmUgZWNobyB3aXRoIGJhY2tzbGFzaCk6CmVjaG8gIiAgICBc
dmZpbGwiCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9maWcycHMydGV4IGxp
bmUgMjIgKHVuc2FmZSBlY2hvIHdpdGggYmFja3NsYXNoKToKZWNobyAiICBc
dnNwYWNley1cYmFzZWxpbmVza2lwfSIKcG9zc2libGUgYmFzaGlzbSBpbiAv
YmluL2dldHRleHQuc2ggbGluZSAyMCAodW5zYWZlIGVjaG8gd2l0aCBiYWNr
c2xhc2gpOgppZiB0ZXN0ICJYYChlY2hvICdcdCcpIDI+L2Rldi9udWxsYCIg
PSAnWFx0JzsgdGhlbgpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vZ2V0dGV4
dGl6ZSBsaW5lIDU3ICgkUkFORE9NKToKICAgIHRtcD0kVE1QRElSL2d0JCQt
JFJBTkRPTQpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vZ3JhcDJncmFwaCBs
aW5lIDY0ICgkUkFORE9NKToKICAgIHRtcD0kZC9ncmFwMmdyYXBoJCQtJFJB
TkRPTQpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vZ3pleGUgbGluZSAxMTgg
KHR5cGUpOgogICAgdHlwZSBta3RlbXAgPi9kZXYvbnVsbCAyPiYxCmVycm9y
OiAvYmluL2lnYXdrOiBVbnRlcm1pbmF0ZWQgcXVvdGVkIHN0cmluZyBmb3Vu
ZCwgRU9GIHJlYWNoZWQuIFdhbnRlZDogPCc+LCBvcGVuZWQgaW4gbGluZSA4
MApwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vaW5zdGFsbC1jYXRhbG9nIGxp
bmUgOTEgKGVjaG8gLWUpOgogIGVjaG8gLWUgJFNHTUxfSEVMUF9NRVNTQUdF
ID4mMgpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vaW5zdGFsbC1jYXRhbG9n
IGxpbmUgMTE0IChlY2hvIC1lKToKICBlY2hvIC1lICRTR01MX0hFTFBfTUVT
U0FHRSA+JjIKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL21lc3NhZ2VidXMt
Y29uZmlnIGxpbmUgMjYgKHNob3VsZCBiZSAnLicsIG5vdCAnc291cmNlJyk6
CnNvdXJjZSAke0NTSUhfU0NSSVBUfQpwb3NzaWJsZSBiYXNoaXNtIGluIC9i
aW4vcGNkb3Z0b3BwbSBsaW5lIDEzNyAoYmFzaCBhcnJheXMsICR7bmFtZVsw
fCp8QF19KToKICAgICAgICBpZiBbICIke2Rlc2NyaXB0aW9uWzRdfSIgLWxl
ICRzaXplIC1hIFwKICAgICAgICAgICAgICIke2Rlc2NyaXB0aW9uWzZdfSIg
LWxlICRzaXplIF0gOyB0aGVuCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9w
Y2RvdnRvcHBtIGxpbmUgMTYyIChiYXNoIGFycmF5cywgJHtuYW1lWzB8KnxA
XX0pOgogICAgd2lkdGg9JCgoICR3aWR0aCArICR7ZGVzY3JpcHRpb25bNF19
ICkpCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wY2RvdnRvcHBtIGxpbmUg
MTg1IChiYXNoIGFycmF5cywgJHtuYW1lWzB8KnxAXX0pOgppZiBbICR7I2lt
YWdlZmlsZXNbKl19IC1ndCAwIF0gOyB0aGVuCnBvc3NpYmxlIGJhc2hpc20g
aW4gL2Jpbi9wY2RvdnRvcHBtIGxpbmUgMTk4IChiYXNoIGFycmF5cywgJHtu
YW1lWzB8KnxAXX0pOgppZiBbICR7I3Jvd2ZpbGVzWypdfSA9IDEgXTsgdGhl
bgpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vcGRmcm9mZiBsaW5lIDQyNSAo
dW5zYWZlIGVjaG8gd2l0aCBiYWNrc2xhc2gpOgogIGNhc2UgYGVjaG8gInRl
c3RpbmdcYyI7IGVjaG8gMSwyLDNgLGBlY2hvIC1uIHRlc3Rpbmc7IGVjaG8g
MSwyLDNgIGluCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wZ21jcmF0ZXIg
bGluZSA0NSAoJygoJyBzaG91bGQgYmUgJyQoKCcpOgogICAgaWYgKGRlZmlu
ZWQoJGFyZzEpICYmICgoJGFyZzEgZXEgIi0tdmVyc2lvbiIpIHx8ICgkYXJn
MSBlcSAiLXZlcnNpb24iKSkpIHsKcG9zc2libGUgYmFzaGlzbSBpbiAvYmlu
L3BpYzJncmFwaCBsaW5lIDc4ICgkUkFORE9NKToKICAgIHRtcD0kZC9waWMy
Z3JhcGgkJC0kUkFORE9NCnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wbm1m
bGlwIGxpbmUgNzYgKCRfKToKICAgICAgICAgICAgcHVzaChAbWlzY09wdGlv
bnMsICRfKTsKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL3BubWZsaXAgbGlu
ZSA4NSAoJF8pOgogICAgICAgICAgICAkaW5maWxlID0gJF87CnBvc3NpYmxl
IGJhc2hpc20gaW4gL2Jpbi9wbm1xdWFudCBsaW5lIDUyICgnKCgnIHNob3Vs
ZCBiZSAnJCgoJyk6CiAgICBpZiAoZGVmaW5lZCgkYXJnMSkgJiYgKCgkYXJn
MSBlcSAiLS12ZXJzaW9uIikgfHwgKCRhcmcxIGVxICItdmVyc2lvbiIpKSkg
ewpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vcG5tcXVhbnQgbGluZSAxODMg
KCRfKToKICAgICAgICAgICAgICAgIHByaW50KCRpbkZoICRfKTsKcG9zc2li
bGUgYmFzaGlzbSBpbiAvYmluL3BubXF1YW50YWxsIGxpbmUgNzAgKCcoKCcg
c2hvdWxkIGJlICckKCgnKToKICAgIGlmIChkZWZpbmVkKCRhcmcxKSAmJiAo
KCRhcmcxIGVxICItLXZlcnNpb24iKSB8fCAoJGFyZzEgZXEgIi12ZXJzaW9u
IikpKSB7CnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wcG1mYWRlIGxpbmUg
NTAgKCcoKCcgc2hvdWxkIGJlICckKCgnKToKICAgIGlmIChkZWZpbmVkKCRh
cmcxKSAmJiAoKCRhcmcxIGVxICItLXZlcnNpb24iKSB8fCAoJGFyZzEgZXEg
Ii12ZXJzaW9uIikpKSB7CnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wcG1m
YWRlIGxpbmUgMTM2ICgnKCgnIHNob3VsZCBiZSAnJCgoJyk6CiAgICBpZiAo
KGBwbm1maWxlICRmaXJzdF9maWxlYCA9fiBte1xiKFxkKylcc2J5XHMoXGQr
KX0gKSkgeyAKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL3BwbWZhZGUgbGlu
ZSAxNDMgKCcoKCcgc2hvdWxkIGJlICckKCgnKToKICAgIGlmICgoYHBubWZp
bGUgJGxhc3RfZmlsZWAgPX4gbXtcYihcZCspXHNieVxzKFxkKyl9ICkpIHsg
CnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wcG1xdWFudCBsaW5lIDQzICgn
KCgnIHNob3VsZCBiZSAnJCgoJyk6CiAgICBpZiAoZGVmaW5lZCgkYXJnMSkg
JiYgKCgkYXJnMSBlcSAiLS12ZXJzaW9uIikgfHwgKCRhcmcxIGVxICItdmVy
c2lvbiIpKSkgewpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vcHBtcmFpbmJv
dyBsaW5lIDQxICgnKCgnIHNob3VsZCBiZSAnJCgoJyk6CiAgICBpZiAoZGVm
aW5lZCgkYXJnMSkgJiYgKCgkYXJnMSBlcSAiLS12ZXJzaW9uIikgfHwgKCRh
cmcxIGVxICItdmVyc2lvbiIpKSkgewpwb3NzaWJsZSBiYXNoaXNtIGluIC9i
aW4vcHBtcmFpbmJvdyBsaW5lIDExNCAoJygoJyBzaG91bGQgYmUgJyQoKCcp
OgogICAgbXkgJHcgPSBpbnQoKCR3aWR0aFJlbWFpbmluZy0xKS8oQGNvbG9y
bGlzdC0xKSkrMTsKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL3BwbXNoYWRv
dyBsaW5lIDY1ICgnKCgnIHNob3VsZCBiZSAnJCgoJyk6CiAgICBpZiAoZGVm
aW5lZCgkYXJnMSkgJiYgKCgkYXJnMSBlcSAiLS12ZXJzaW9uIikgfHwgKCRh
cmcxIGVxICItdmVyc2lvbiIpKSkgewpwb3NzaWJsZSBiYXNoaXNtIGluIC9i
aW4vcHBtc2hhZG93IGxpbmUgMTI3ICgnKCgnIHNob3VsZCBiZSAnJCgoJyk6
CiAgICBpZiAoKHN1YnN0cigkYXJnLCAwLCAxKSBlcSAnLScpICYmIChsZW5n
dGgoJGFyZykgPiAxKSkgewpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vcHBt
c2hhZG93IGxpbmUgMTM1ICgnKCgnIHNob3VsZCBiZSAnJCgoJyk6CiAgICAg
ICAgICAgIGlmICgoJGNvbnZvbHZlIDwgMTEpICYmICgoJGNvbnZvbHZlICYg
MSkgPT0gMCkpIHsKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL3Byb2NtYWls
LWNvbmZpZyBsaW5lIDcgKCdmdW5jdGlvbicgaXMgdXNlbGVzcyk6CmZ1bmN0
aW9uIHN5bnRheCB7CnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wcm9jbWFp
bC1jb25maWcgbGluZSAxOSAoJ2Z1bmN0aW9uJyBpcyB1c2VsZXNzKToKZnVu
Y3Rpb24gd2VsY29tZSB7CnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wcm9j
bWFpbC1jb25maWcgbGluZSAzNiAoJ2Z1bmN0aW9uJyBpcyB1c2VsZXNzKToK
ZnVuY3Rpb24gZ3JvdXBhZGQgewpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4v
cHJvY21haWwtY29uZmlnIGxpbmUgMzcgKGFsdGVybmF0aXZlIHRlc3QgY29t
bWFuZCAoW1sgZm9vIF1dIHNob3VsZCBiZSBbIGZvbyBdKSk6CglpZiBbWyBg
Z2V0ZW50IGdyb3VwICIkMSJgIF1dOyB0aGVuCnBvc3NpYmxlIGJhc2hpc20g
aW4gL2Jpbi9wcm9jbWFpbC1jb25maWcgbGluZSA1MCAoJ2Z1bmN0aW9uJyBp
cyB1c2VsZXNzKToKZnVuY3Rpb24gc2V0X2dyb3VwIHsKcG9zc2libGUgYmFz
aGlzbSBpbiAvYmluL3Byb2NtYWlsLWNvbmZpZyBsaW5lIDUxIChhbHRlcm5h
dGl2ZSB0ZXN0IGNvbW1hbmQgKFtbIGZvbyBdXSBzaG91bGQgYmUgWyBmb28g
XSkpOgoJaWYgISBbWyBgZ2V0ZW50IGdyb3VwICIkMSJgIF1dOyB0aGVuCnBv
c3NpYmxlIGJhc2hpc20gaW4gL2Jpbi9wcm9jbWFpbC1jb25maWcgbGluZSA4
OCAoJ2Z1bmN0aW9uJyBpcyB1c2VsZXNzKToKZnVuY3Rpb24gZG9fc2V0Z2lk
IHsKZXJyb3I6IC9iaW4vc3FsaXRlM19hbmFseXplcjogVW50ZXJtaW5hdGVk
IHF1b3RlZCBzdHJpbmcgZm91bmQsIEVPRiByZWFjaGVkLiBXYW50ZWQ6IDwn
Piwgb3BlbmVkIGluIGxpbmUgMjc5CnBvc3NpYmxlIGJhc2hpc20gaW4gL2Jp
bi90ZXhpMmR2aSBsaW5lIDk2ICgkKE9TfE1BQ0gpVFlQRSk6CmlmIHRlc3Qg
LW4gIiRDT01TUEVDJENvbVNwZWMiIFwKICAgJiYgTVNZU1RFTT0kT1NUWVBF
IHVuYW1lIHwgJEVHUkVQIC1pdiAnY3lnd2lufG1zeXMnID4vZGV2L251bGw7
IHRoZW4KZXJyb3I6IC9iaW4vdGV4aTJkdmk6IFVudGVybWluYXRlZCBxdW90
ZWQgc3RyaW5nIGZvdW5kLCBFT0YgcmVhY2hlZC4gV2FudGVkOiA8Ij4sIG9w
ZW5lZCBpbiBsaW5lIDE4MjMKcG9zc2libGUgYmFzaGlzbSBpbiAvYmluL3Vw
ZGF0ZWRiIGxpbmUgMjM2ICgkUkFORE9NKToKICAgICAgICB0bXA9IiRUTVBE
SVIiL3VwZGF0ZWRiIiQkIi0iJHtSQU5ET006LX0ke3RzfSIKcG9zc2libGUg
YmFzaGlzbSBpbiAvYmluL3h6ZGlmZiBsaW5lIDE0MiAodHlwZSk6CiAgICAg
ICAgICAgIGlmIHR5cGUgbWt0ZW1wID4vZGV2L251bGwgMj4mMTsgdGhlbgpl
cnJvcjogL2Jpbi94emdyZXA6IFVudGVybWluYXRlZCBxdW90ZWQgc3RyaW5n
IGZvdW5kLCBFT0YgcmVhY2hlZC4gV2FudGVkOiA8Jz4sIG9wZW5lZCBpbiBs
aW5lIDE4OQpwb3NzaWJsZSBiYXNoaXNtIGluIC9iaW4vemRpZmYgbGluZSAx
MTkgKHR5cGUpOgogICAgICAgICAgICAgICAgICAgICAgICBpZiB0eXBlIG1r
dGVtcCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KcG9zc2libGUgYmFzaGlzbSBp
biAvYmluL3pncmVwIGxpbmUgMTM2ICh0eXBlKToKICAgICAgaWYgdHlwZSBt
a3RlbXAgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCmVycm9yOiAvYmluL3pncmVw
OiBVbnRlcm1pbmF0ZWQgcXVvdGVkIHN0cmluZyBmb3VuZCwgRU9GIHJlYWNo
ZWQuIFdhbnRlZDogPCc+LCBvcGVuZWQgaW4gbGluZSAyMjMK


--------------44DD7E19D5DC8D4D1A538F38
Content-Type: text/plain; charset=us-ascii


--
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
--------------44DD7E19D5DC8D4D1A538F38--

- Raw text -


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