This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ANNOUNCEMENT] Updated: coreutils-6.10-1

Hash: SHA1

A new release of coreutils, 6.10-1, has been promoted to current (it had
been available as experimental).  This means 6.9-5 is now the previous

This is a new stable upstream release.  It adds a few new utilities: arch
performs a subset of uname to increase portability of older scripts,
mktemp allows secure creation of temporary files and directories, and
chcon and runcon exist to mirror Linux security context utilities
(although cygwin does not yet support the concept, so the cygwin versions
don't do anything).

This release obsoletes the mktemp package; you should upgrade both
packages at the same time or do coreutils second, to ensure that you still
have a mktemp program.

This release obsoletes the arch program that was previously available in
the util-linux package; if you used util-linux 2.12 or earlier, you should
upgrade both packages at the same time or do coreutils second, to ensure
that you still have an arch program.

To double-check, you can run 'cygcheck -c coreutils mktemp util-linux'; if
any of them show up as incomplete, rerun setup.exe and select 'reinstall'
for the affected package.

I've attached a list of changes since 6.9.  See also the upstream
documentation in /usr/share/doc/coreutils-6.10/.

GNU coreutils provides a collection of commonly used utilities essential
to a standard POSIX environment.  It comprises the former textutils,
sh-utils, and fileutils packages.  The following executables are included:

[ arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit cut date dd df dir dircolors dirname du echo env expand expr factor
false fmt fold gkill groups head hostid hostname id install join link ln
logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup od paste
pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon seq
sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort
split stat stty su sum sync tac tail tee test touch tr true tsort tty
uname unexpand uniq unlink users vdir wc who whoami yes

To update your installation, click on the "Install Cygwin now" link on the web page.  This downloads setup.exe to your system.
Save it and run setup, answer the questions, then look for 'coreutils' in
the 'Base' category (it should already be selected).

Note that downloads from (aka aren't
allowed due to bandwidth limitations.  This means that you will need to
find a mirror which has this update, please choose the one nearest to you:

If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.

- --
Eric Blake
volunteer cygwin coreutils maintainer

To unsubscribe to the cygwin-announce mailing list, look at the
"List-Unsubscribe: " tag in the email header of this message.  Send email
to the address specified there.  It will be in the format:

If you need more information on unsubscribing, start reading here:

Please read *all* of the information on unsubscribing that is available
starting at this URL.
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at
Comment: Using GnuPG with Mozilla -

* Noteworthy changes in release 6.10 (2008-01-22) [stable]

** Bug fixes

  Fix a non-portable use of sed in
  [bug introduced in coreutils-6.9.92]

* Noteworthy changes in release 6.9.92 (2008-01-12) [beta]

** Bug fixes

  cp --parents no longer uses uninitialized memory when restoring the
  permissions of a just-created destination directory.
  [bug introduced in coreutils-6.9.90]

  tr's case conversion would fail in a locale with differing numbers
  of lower case and upper case characters.  E.g., this would fail:
  env LC_CTYPE=en_US.ISO-8859-1 tr '[:upper:]' '[:lower:]'
  [bug introduced in coreutils-6.9.90]

** Improvements

  "touch -d now writable-but-owned-by-someone-else" now succeeds
  whenever that same command would succeed without "-d now".
  Before, it would work fine with no -d option, yet it would
  fail with the ostensibly-equivalent "-d now".

* Noteworthy changes in release 6.9.91 (2007-12-15) [beta]

** Bug fixes

  "ls -l" would not output "+" on SELinux hosts unless -Z was also given.

  "rm" would fail to unlink a non-directory when run in an environment
  in which the user running rm is capable of unlinking a directory.
  [bug introduced in coreutils-6.9]

* Noteworthy changes in release 6.9.90 (2007-12-01) [beta]

** New programs

  arch: equivalent to uname -m, not installed by default
  But don't install this program on Solaris systems.

  chcon: change the SELinux security context of a file

  mktemp: create a temporary file or directory (or names)

  runcon: run a program in a different SELinux security context

** Programs no longer installed by default

  hostname, su

** Changes in behavior

  cp, by default, refuses to copy through a dangling destination symlink
  Set POSIXLY_CORRECT if you require the old, risk-prone behavior.

  pr -F no longer suppresses the footer or the first two blank lines in
  the header.  This is for compatibility with BSD and POSIX.

  tr now warns about an unescaped backslash at end of string.
  The tr from coreutils-5.2.1 and earlier would fail for such usage,
  and Solaris' tr ignores that final byte.

** New features

  Add SELinux support, based on the patch from Fedora:
  * cp accepts new --preserve=context option.
  * "cp -a" works with SELinux:
  Now, cp -a attempts to preserve context, but failure to do so does
  not change cp's exit status.  However "cp --preserve=context" is
  similar, but failure *does* cause cp to exit with nonzero status.
  * install accepts new "-Z, --context=C" option.
  * id accepts new "-Z" option.
  * stat honors the new %C format directive: SELinux security context string
  * ls accepts a slightly modified -Z option.
  * ls: contrary to Fedora version, does not accept --lcontext and --scontext

  cp -p tries to preserve the GID of a file even if preserving the UID
  is not possible.

  uniq accepts a new option: --zero-terminated (-z).  As with the sort
  option of the same name, this makes uniq consume and produce
  NUL-terminated lines rather than newline-terminated lines.

  wc no longer warns about character decoding errors in multibyte locales.
  This means for example that "wc /bin/sh" now produces normal output
  (though the word count will have no real meaning) rather than many
  error messages.

** New build options

  By default, "make install" no longer attempts to install (or even build) su.
  To change that, use ./configure --enable-install-program=su.
  If you also want to install the new "arch" program, do this:
  ./configure --enable-install-program=arch,su.

  You can inhibit the compilation and installation of selected programs
  at configure time.  For example, to avoid installing "hostname" and
  "uptime", use ./configure --enable-no-install-program=hostname,uptime
  Note: currently, "make check" passes, even when arch and su are not
  built (that's the new default).  However, if you inhibit the building
  and installation of other programs, don't be surprised if some parts
  of "make check" fail.

** Remove deprecated options

  df no longer accepts the --kilobytes option.
  du no longer accepts the --kilobytes or --megabytes options.
  ls no longer accepts the --kilobytes option.
  ptx longer accepts the --copyright option.
  who no longer accepts -i or --idle.

** Improved robustness

  ln -f can no longer silently clobber a just-created hard link.
  In some cases, ln could be seen as being responsible for data loss.
  For example, given directories a, b, c, and files a/f and b/f, we
  should be able to do this safely: ln -f a/f b/f c && rm -f a/f b/f
  However, before this change, ln would succeed, and thus cause the
  loss of the contents of a/f.

  stty no longer silently accepts certain invalid hex values
  in its 35-colon commmand-line argument

** Bug fixes

  chmod no longer ignores a dangling symlink.  Now, chmod fails
  with a diagnostic saying that it cannot operate on such a file.
  [bug introduced in coreutils-5.1.0]

  cp attempts to read a regular file, even if stat says it is empty.
  Before, "cp /proc/cpuinfo c" would create an empty file when the kernel
  reports stat.st_size == 0, while "cat /proc/cpuinfo > c" would "work",
  and create a nonempty one. [bug introduced in coreutils-6.0]

  cp --parents no longer mishandles symlinks to directories in file
  name components in the source, e.g., "cp --parents symlink/a/b d"
  no longer fails.  Also, 'cp' no longer considers a destination
  symlink to be the same as the referenced file when copying links
  or making backups.  For example, if SYM is a symlink to FILE,
  "cp -l FILE SYM" now reports an error instead of silently doing
  nothing.  The behavior of 'cp' is now better documented when the
  destination is a symlink.

  "cp -i --update older newer" no longer prompts; same for mv

  "cp -i" now detects read errors on standard input, and no longer consumes
  too much seekable input; same for ln, install, mv, and rm.

  cut now diagnoses a range starting with zero (e.g., -f 0-2) as invalid;
  before, it would treat it as if it started with 1 (-f 1-2).

  "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-"

  cut now diagnoses the '-' in "cut -f -" as an invalid range, rather
  than interpreting it as the unlimited range, "1-".

  date -d now accepts strings of the form e.g., 'YYYYMMDD +N days',
  in addition to the usual 'YYYYMMDD N days'.

  du -s now includes the size of any stat'able-but-inaccessible directory
  in the total size.

  du (without -s) prints whatever it knows of the size of an inaccessible
  directory.  Before, du would print nothing for such a directory.

  ls -x DIR would sometimes output the wrong string in place of the
  first entry.  [introduced in coreutils-6.8]

  ls --color would mistakenly color a dangling symlink as if it were
  a regular symlink.  This would happen only when the dangling symlink
  was not a command-line argument and in a directory with d_type support.
  [introduced in coreutils-6.0]

  ls --color, (with a custom LS_COLORS envvar value including the
  ln=target attribute) would mistakenly output the string "target"
  before the name of each symlink.  [introduced in coreutils-6.0]

  od's --skip (-j) option now works even when the kernel says that a
  nonempty regular file has stat.st_size = 0.  This happens at least
  with files in /proc and linux-2.6.22.

  "od -j L FILE" had a bug: when the number of bytes to skip, L, is exactly
  the same as the length of FILE, od would skip *no* bytes.  When the number
  of bytes to skip is exactly the sum of the lengths of the first N files,
  od would skip only the first N-1 files. [introduced in textutils-2.0.9]

  ./printf %.10000000f 1 could get an internal ENOMEM error and generate
  no output, yet erroneously exit with status 0.  Now it diagnoses the error
  and exits with nonzero status.  [present in initial implementation]

  seq no longer mishandles obvious cases like "seq 0 0.000001 0.000003",
  so workarounds like "seq 0 0.000001 0.0000031" are no longer needed.

  seq would mistakenly reject some valid format strings containing %%,
  and would mistakenly accept some invalid ones. e.g., %g%% and %%g, resp.

  "seq .1 .1" would mistakenly generate no output on some systems

  Obsolete sort usage with an invalid ordering-option character, e.g.,
  "env _POSIX2_VERSION=199209 sort +1x" no longer makes sort free an
  invalid pointer [introduced in coreutils-6.5]

  sorting very long lines (relative to the amount of available memory)
  no longer provokes unaligned memory access

  split --line-bytes=N (-C N) no longer creates an empty file
  [this bug is present at least as far back as textutils-1.22 (Jan, 1997)]

  tr -c no longer aborts when translating with Set2 larger than the
  complement of Set1.  [present in the original version, in 1992]

  tr no longer rejects an unmatched [:lower:] or [:upper:] in SET1.
  [present in the original version]

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]