Hi,
after updating from version 1.7.33 to version 2.8.2 the behavior of CR-LF
handling completely changed. This results in several srcipt errors etc.
Two examples:
1) using wmic together with grep
Executing "wmic process get ExecutablePath,processID,commandline /FORMAT:CSV |
od -t a" shows that each line from the output of wmic ends with CR CR LF.
That's normal and works in the same way under both cygwin versions.
Executing "wmic process get ExecutablePath,processID,commandline /FORMAT:CSV |
grep "," |od -t a" has different outputs. Under version 1.7.33 the lines ends
with LF, under version 2.8.2 the lines still ends with CR CR LF.
If you use cut to extract the last field (the processID) you will get the pure
processID (number) under version 1.7.33 but the processID followed by CR CR
(string) under version 2.8.2.
When using grep CR characters at the end of the line should usually be cut of
to make sure the $ sign can be used in regexp as end of line marker.
2) using awk and reading from DOS files
===
When reading number values from a DOS file (each line contains only a number)
using awk and writing this number into an array variable works perfectly under
version 1.7.33. But under version 2.8.2 all array variables are filled with the
number followed by a CR.
{ WebOrderID[$1] = NR; }
This issue can be solved by defining RS="\r\n" in the BEGIN section of the awk
script. But in the past it works fine without setting the record separator.
In addition we have now problems using svn under cygwin: when using a working
copy that isn't located on a local drive but on a remote (SMB) filing system it
will not recognized as working copy anymore. Error message: isn't
a valid working copy. Doing exact the same (for example "svn info") from a
machine with cygwin 1.7.33 installed everything works fine.
First I was unsure if something general has changed since version 1.7.33 that
has to be taken into account now. But after spending hours on reading mail
list, FAQ and searching the internet without finding a solution I assume, this
may be an error in cygwin. Especially because it's one of the key features of
cygwin to map CR LF <=> LF on the fly.
I've also downgraded the cygwin.dd to version 2.8.1.1 without any change in the
behavior. And it doesn't matter, if it is a fresh install of version 2.8.2 or
an update from a previous version.
Also the mount point hasn't changed
Version 1.7.33
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,noacl,posix=0,noumount,auto)
Version 2.8.2:
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,noacl,posix=0,noumount,auto)
Attached you will find the "cygcheck -sv" output from version 2.8.2 as well as
from the previously used version 1.7.33 (it's still installed on some machines).
Best Regards
Roger Krebs
Cygwin Configuration Diagnostics
Current System Time: Wed Aug 02 10:37:52 2017
Windows 2008 R2 Server Standard Ver 6.1 Build 7601 Service Pack 1
Path: C:\cygwin\usr\local\bin
C:\cygwin\bin
C:\cygwin\bin
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0
Output from C:\cygwin\bin\id.exe
UID: 112961(itse_d_operator10) GID: 100513(Domänen-Benutzer)
=100513(Domänen-Benutzer) 545(Benutzer)
544(Administratoren) 555(Remotedesktopbenutzer)
4(INTERAKTIV) 66049(KONSOLENANMELDUNG)
11(Authentifizierte Benutzer) 15(Diese Organisation)
4095(CurrentSession) 1056993(D_HAM_KoMaTo)
1054666(DE_Alle) 1064339(mediaportal-de-light)
1056937(D_CRM_Presse_Verwalter)1063234(D_HAM_SVN_User)
1057038(D_HAM_Ticket_IT) 1059959(4232 User DE SE)
1061243(D_Appl_CCBu) 1056981(D_Elektra)
1057174(D_PARMA_VERWALTER) 1071014(D_CRM_Presse_Verwalter)
1075183(D_HAM_KoMaTo) 1052553(DE_Alle)
1070980(D_PARMA_VERWALTER) 1049832(D_Elektra)
405504(Hohe Verbindlichkeitsstufe)
SysDir: C:\Windows\system32
WinDir: C:\Windows
USER = 'itse_d_operator10'
PWD = '/home/itse_d_operator10'
HOME = '/home/itse_d_operator10'
USERDOMAIN = 'SEDE'
OS = 'Windows_NT'
PROCESSOR_LEVEL = '6'
PSModulePath = 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\'
CommonProgramW6432 = 'C:\Program Files\Common Files'
SSH_CONNECTION = '10.49.141.81 57407 10.49.143.73 22'
CommonProgramFiles(x86) = 'C:\Program Files (x86)\Common Files'
FP_NO_HOST_CHECK = 'NO'
LANG = 'de_DE.UTF-8'
TZ = 'Europe/Berlin'
CommonProgramFiles = 'C:\Program Files\Common Files'
HOSTNAME = 'SDEHAMGWM11'
PUBLIC = 'C:\Users\Public