delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/12/10/17:56:50

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 <colini AT alumni DOT utexas DOT net>
User-Agent: Thunderbird 2.0.0.18 (X11/20081125)
MIME-Version: 1.0
To: The Cygwin Mailing List <cygwin AT cygwin DOT com>
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>
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

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 <strings.h>, don't include <string.h>
>   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/

- Raw text -


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