X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <494048E2.80903@alumni.utexas.net> Date: Wed, 10 Dec 2008 16:55:30 -0600 From: Colin Ingarfield User-Agent: Thunderbird 2.0.0.18 (X11/20081125) MIME-Version: 1.0 To: The Cygwin Mailing List Subject: Re: Public Cygwin 1.7 test starts today References: <20081210203400 DOT GA15192 AT calimero DOT vinschen DOT de> In-Reply-To: <20081210203400.GA15192@calimero.vinschen.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Corinna, I just want to take second to thank you for all the work you've done on Cygwin. Cygwin has kept me sane in Windows environments for ?? years now, and I can only guess at the amount of time you've spent on it. It's a great tool and I really appreciate it. thanks, Colin Ingarfield Austin, TX PS: Despite this praise I'm not crazy enough to help test version 1.7. I'm sure it's great though! Cheers. Corinna Vinschen wrote: > Hi all, > > > after a rather long period of time of development, we're proud to start > public testing of the upcoming new major release of Cygwin. The version > number is 1.7.0 for the current test release and will be 1.7.x with some > x yet to be chosen for the final release. As of today, the planning is > to release the final release at some point in Spring 2009. > > This new release will bring quite a few changes, some of them might > require to do accompanying changes in your environment. The most > intrusive changes are > > - No more support for Windows 95/98/Me. Cygwin 1.7 will not run on any > of these systems. We will keep the old 1.5.25 distro on sourceware > for users of these obsolete Windows versions. > > - No more mount points in the registry. Use a file /etc/fstab instead. > > - Some global $CYGWIN options have been dropped, some of them have been > converted to mount options. > > - No more managed mounts. The implementation for POSIX pathnames > colliding with forbidden filenames and characters on Windows > filesystems has changed considerably. > > At the end of this mail you will find a more or less complete list of > changes from 1.5.x to 1.7.x. During the testing phase for this release > we don't expect any behavioural change from the current state except > some behaviour turns out to be unfeasible or is plain buggy. A few (but > only a few) more features may be included within the test phase, namely > support for wide-char stdio routines, which is work in progess. > > One interesting feature for the testers is the fact that you can install > Cygwin 1.7 in parallel to another production 1.5 installation. They > don't interact with each other, provided you start the processes in > separate Windows, and you *don't* have *both* Cygwin binary paths in the > $PATH variable. This is unsupported territory. > > However, if you want to install services using the service installer > scripts around (inetd-config, ssh-host-config, etc), then keep in mind > that the scripts try to install the services under the same service name > as the former 1.5 script. Additionally, network related services will > of course try to use the same network port numbers to install themselves > as service. Bottom line: If you want to test services, make sure you > have the related 1.5-based services *stopped* before running the same > services in the 1.7 realm. > > I would like to stress that this is a *test* release. Don't use it in a > crucial production environment. Don't use it for you important personal > or work environment without making sure that you won't suffer loss of > life or money if something goes wrong by using this Cygwin 1.7 test > release. There's no guarantee that we didn't screw something up > seriously. > > If you have more than one physical or virtual Windows machine, it's the > best to install the test release on the machine you don't need for the > production Cygwin install. > > Last but not least, please > > - *read* the below list of changes for a start, so you know what we're > threatening you with, > > - *read* the new User's Guide, which you can access via > > http://cygwin.com/1.7/cygwin-ug-net/cygwin-ug-net.html > or > http://cygwin.com/1.7/cygwin-ug-net.html (one single big file) > > Though it's probably still lacking, it will explain a lot of the new > behaviour in (hopefully) better words than the old User's Guide. > > Please note that we have no new FAQ. The reason is simply that > we don't know yet what questions will be asked frequently in future. > > - After having digested the docs, ask yourself if you're willing to > help testing the next Cygwin release. If your heart and brain both > say "yes", then use > > http://cygwin.com/setup-1.7.exe > > to install the test release. Note that it will default to *upgrading* > an existing installation! If you don't want that (and I bet you > won't), make sure to change the installation directory right in the > second dialog from your old, say, C:/cygwin to, say, C:/cygwin-1.7. > > Note that this setup-1.7.exe tool also has some changes related to the > 1.5 version. The most noticable is that it is slower than the old > one. The reason is that it tries hard to create the files and > directories with POSIX-like permissions as given in the distribution > packages. > > Additionally, note that setup-1.7.exe will notice that your Cygwin > desktop shortcut (if you have one) already exists. It will not try > to create a new one in this case, and the Cygwin shortcut will still > point to the 1.5 installation. To get a matching 1.7 shortcut, just > copy your existing shortcut, rename it to, for instance, Cygwin-1.7, > and change the shortcut target path from the 1.5 distro directory to > the 1.7 distro directory. > > Did I mention that this is a *test* release and that you should make > sure that you don't screw up your existing Cygwin installation unless > you really want to? > > Thanks for reading and especially thanks for participating. I'm quite > nervous given the many many changes in 1.7, but if we live through the > next few months, I'm sure that this new Cygwin is the best Cygwin we > ever had. (ob-joke for insider: Except of b20, of course). > > Please report bugs to the mailing list cygwin AT cygwin DOT com. The usual > bug reporting guidelines apply: http://cygwin.com/problems.html > > Ok, below you'll find the list of changes since 1.5.25. > > > Have fun, > Corinna > > ---------------------------------------------------------------------- > LIST OF CHANGES > ---------------------------------------------------------------------- > > OS releated changes: > -------------------- > > - Windows 95, 98 and Me are not supported anymore. The new DLL will > not run on any of these systems. > > File Access related changes: > ---------------------------- > > - Mount points are no longer stored in the registry. Use /etc/fstab > and /etc/fstab.d/$USER instead. Mount points created with mount(1) > are only local to the current session and disappear when the last > Cygwin process in the session exits. > > - PATH_MAX is now 4096. Internally, path names can be as long as the > underlying OS can handle (32K). > > - UTF-8 filenames are supported now. So far, this requires to set > the environment variable CYGWIN to contain "codepage:utf8". but this > will likely disappear at one point. The setting of $LANG or $LC_CTYPE > will be used instead. > > - struct dirent now supports d_type, filled out with DT_REG or DT_DIR. > All other file types return as DT_UNKNOWN for performance reasons. > > - The CYGWIN environment variable options "ntsec" and "smbntsec" have > been replaced by the per-mount option "acl"/"noacl". > > - The CYGWIN environment variable option "ntea" has been removed without > substitute. > > - The CYGWIN environment variable option "check_case" has been removed > in favor of real case-sensitivity on file systems supporting it. > > - Creating filenames with special DOS characters '"', '*', ':', '<', > '>', '|' is supported. > > - Creating files with special DOS device filename components ("aux", > "nul", "prn") is supported. > > - File name are case sensitive if the OS and the underlying file system > supports it. Works on NTFS and NFS. Does not work on FAT and Samba > shares. Requires to change a registry key (see the user's guide). > Can be switched off on a per-mount base. > > - Due to the above changes, managed mounts have been removed. > > - unlink(2) and rmdir(2) try very hard to remove files/directories even > if they are currently accessed or locked. This is done by utilizing > the hidden recycle bin directories and marking the files for deletion. > > - rename(2) rewritten to be more POSIX conformant. > > - Add st_birthtim member to struct stat. > > - File locking is now advisory, not mandatory anymore. The fcntl(2) and > the new lockf(2) APIs create and maintain locks with POSIX semantics, > the flock(2) API creates and maintains locks with BSD semantics. > POSIX and BSD locks are independent of each other. > > - Implement atomic O_APPEND mode. > > - Handle NTFS native symlinks available since Vista/2008 as symlinks > (but don't create Vista/2008 symlinks due to unfortunate OS restrictions). > > - Recognize NFS shares and handle them using native mechanisms. > Recognize and create real symlinks on NFS shares. Get correct > stat(2) information and set real mode bits on open(2), mkdir(2) > and chmod(2). > > - Recognize Netapp DataOnTap drives and fix inode number handling. > > - Recognize Samba version beginning with Samba 3.0.28a using the new > extended version information negotiated with the Samba developers. > > - List servers of all accessible domains and workgroups in // instead of > just the servers in the own domain/workgroup. > > - Support Linux-like extended attributes ([fl]getxattr, [fl]listxattr, > [fl]setxattr, [fl]removexattr). > > - New file conversion API for conversion from Win32 to POSIX path and > vice versa (cygwin_conv_path, cygwin_create_path, cygwin_conv_path_list). > > - New openat family of functions: openat, faccessat, fchmodat, fchownat, > fstatat, futimesat, linkat, mkdirat, mkfifoat, mknodat, readlinkat, renameat, > symlinkat, unlinkat. > > - Other new APIs: posix_fadvise, posix_fallocate, funopen, fopencookie, > open_memstream, fmemopen, fdopendir. > > Network related changes: > ------------------------ > > - New implementation for blocking sockets and select on sockets which > is supposed to allow POSIX-compatible sharing of sockets between > threads and processes. > > - send/sendto/sendmsg now send data in 64K chunks to circumvent an > internal buffer problem in WinSock (KB 201213). > > - IPv6 support. New API getaddrinfo, getnameinfo, freeaddrinfo, > gai_strerror, in6addr_any, in6addr_loopback. On IPv6-less systems, > replacement functions are available for IPv4. On systems with IPv6 > enabled, the underlying WinSock functions are used. While I tried > hard to get the functionality as POSIXy as possible, keep in mind that > a *fully* conformant implementation of getaddrinfo and other stuff is > only available starting with Windows Vista/2008. > > - Resolver functions (res_init, res_query, res_search, res_querydomain, > res_mkquery, res_send, dn_comp, dn_expand) are now part of Cygwin. > Applications don't have to link against minires anymore. Actually, > this *is* the former libminires.a. > > - rcmd is now implemented inside of Cygwin, instead of calling the > WinSock function. This allows rsh(1) usage on Vista/2008, which > dropped this function from WinSock. > > - Define multicast structures in netinet/in.h. Note that fully > conformant multicast support is only available beginning with Vista/2008. > > - Improve get_ifconf. Redefine struct ifreq and subsequent datastructures > to be able to keep more information. Support SIOCGIFINDEX, SIOCGIFDSTADDR > and the Cygwin specific SIOCGIFFRNDLYNAM. Support real interface flags > on systems supporting them. > > - Other new APIs: bindresvport, bindresvport_sa, iruserok_sa, rcmd_af, > rresvport_af. getifaddrs, freeifaddrs, if_nametoindex, if_indextoname, > if_nameindex, if_freenameindex. > > - Add /proc/net/if_inet6. > > Device related changes: > ----------------------- > > - Reworked pipe implementation which uses overlapped IO to create > more reliable interruptible pipes and fifos. > > - The CYGWIN environment variable option "binmode" has been removed. > > - Improved fifo handling by using native Windows named pipes. > > - Detect when a stdin/stdout which looks like a pipe is really a tty. > Among other things, this allows a debugged application to recognize that > it is using the same tty as the debugger. > > - Support UTF-8 in console window. > > - Support up to 64 serial interfaces using /dev/ttyS0 - /dev/ttyS63. > > - Support up to 128 raw disk drives /dev/sda - /dev/sddx. > > - New API: posix_openpt. > > Other POSIX related changes: > ---------------------------- > > - Implement pthread_kill(thread, 0) as per POSIX. > > - New API for POSIX IPC: > Named semaphores: sem_open, sem_close, sem_unlink. > Message queues: mq_open, mq_getattr, mq_setattr, mq_notify, mq_send, > mq_timedsend, mq_receive, mq_timedreceive, mq_close, mq_unlink. > Shared memory: shm_open, shm_unlink. > > - Only declare expected functions in , don't include > from here. > > - New APIs: asnprintf, dprintf, _Exit, vasnprintf, vdprintf, confstr, > posix_madvise, posix_memalign, exp10, exp10f, pow10, pow10f, lrint, > lrintf, rint, rintf, llrint, llrintf, llrintl, lrintl, rintl insque, > remque, sys_sigabbrev, strcasestr, stpcpy, stpncpy, wcpcpy, wcpncpy, > wcstol, wcstoll, wcstoul, wcstoull, wcsxfrm. > > Security related changes: > ------------------------- > > - Getting a domain user's groups is hopefully more bulletproof now. > > - Cygwin now comes with a real LSA authentication package. This must > be manually installed by a privileged user using the /bin/cyglsa-config > script. The advantages and disadvantages are noted in > http://cygwin.com/ml/cygwin-developers/2006-11/msg00000.html > > - Cygwin now allows to store and use user passwords in a hidden area of > the registry. This is tried first when Cygwin is called by privileged > processes to switch the user context. This allows, for instance, > ssh public key sessions with full network credentials to access shares > on other machines. > > - The mkpasswd and mkgroup tools have changed behaviour and a couple of > new options to ease consistent usage in multi-machine or multi-domain > environments. > > Miscellanous: > ------------- > > - Fallout from the long path names: If the current working directory is > longer than 260 bytes, or if the current working directory is a virtual > path (like /proc, /cygdrive, //server), don't call native Win32 programs > since they don't understand these paths. > > - On the first usage of a DOS path (C:\foo, \\foo\bar), the Cygwin DLL > emits a scary warning that DOS paths shouldn't be used. There's also > the new CYGWIN=nodosfilewarning setting to disable that. > > - Allow environment of arbitrary size instead of a maximum of 32K. > > - Don't force uppercase environment when started from a non-Cygwin process. > Except for certain Windows and POSIX variables which are always uppercased, > preserve environment case. Switch back to old behaviour with the new > CYGWIN=upcaseenv setting. > > - Detect and report a missing DLL on process startup. > > - Add /proc/registry32 and /proc/registry64 paths to access 32 bit and > 64 bit registry on 64 bit systems. > > - Add the ability to distinguish registry keys and registry values with the > same name in the same registry subtree. The key is called "foo" and the > value will be called "foo%val" in this case. > > - Align /proc/cpuinfo more closly to Linux content. > > - Optimized strstr and memmem implementation. > > - Remove backwards compatibility with old signal masks (some *very* old > programs which use signal masks may no longer work correctly). > > - Numerous bug fixes. > > - Probably a couple of entirely new bugs. > > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/