Mail Archives: cygwin/2017/03/02/12:28:33
--------------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 -