[Top] [All Lists]

coreutils-8.0 released [beta]

Subject: coreutils-8.0 released [beta]
From: Jim Meyering
Date: Tue, 06 Oct 2009 14:12:38 +0200
Newsgroups: gnu.announce
This is to announce coreutils-8.0.
We're calling this a beta release partly because rm has been
rewritten (now it uses gnulib's fts for its hierarchy traversal),
and partly because there have been so many changes in the
gnulib infrastructure involving file-system primitives.

Thanks to everyone who has been helping, especially Eric Blake,
PÃdraig Brady and OndÅej VaÅÃk.

For a summary of changes and contributors, see:;a=shortlog;h=v8.0
or run this command from a git-cloned coreutils directory:
  git shortlog v7.6..v8.0

To summarize the gnulib-related changes, run these commands
From a git-cloned coreutils directory:
  git checkout v8.0
  git submodule summary v7.6

Here are the compressed sources:   (9.8MB)   (4.1MB)

Here are the GPG detached signatures[*]:

[*] You can use either of the above signature files to verify that
the corresponding file (without the .sig suffix) is intact.  First,
be sure to download both the .sig file and the corresponding tarball.
Then, run a command like this:

  gpg --verify coreutils-8.0.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

  gpg --keyserver --recv-keys B9AB9A16

and rerun the `gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.64.57-af6c
  Automake 1.11a
  Gnulib v0.0-2697-g6f6420c


* Noteworthy changes in release 8.0 (2009-10-06) [beta]

** Bug fixes

  cp --preserve=xattr and --archive now preserve extended attributes even
  when the source file doesn't have write access.
  [bug introduced in coreutils-7.1]

  touch -t [[CC]YY]MMDDhhmm[.ss] now accepts a timestamp string ending in .60,
  to accommodate leap seconds.
  [the bug dates back to the initial implementation]

  ls --color now reverts to the color of a base file type consistently
  when the color of a more specific type is disabled.
  [bug introduced in coreutils-5.90]

  ls -LR exits with status 2, not 0, when it encounters a cycle

  ls -is is now consistent with ls -lis in ignoring values returned
  from a failed stat/lstat.  For example ls -Lis now prints "?", not "0",
  for the inode number and allocated size of a dereferenced dangling symlink.

  tail --follow --pid now avoids a race condition where data written
  just before the process dies might not have been output by tail.
  Also, tail no longer delays at all when the specified pid is not live.
  [The race was introduced in coreutils-7.5,
   and the unnecessary delay was present since textutils-1.22o]

** Portability

  On Solaris 9, many commands would mistakenly treat file/ the same as
  file.  Now, even on such a system, path resolution obeys the POSIX
  rules that a trailing slash ensures that the preceeding name is a
  directory or a symlink to a directory.

** Changes in behavior

  id no longer prints SELinux " context=..." when the POSIXLY_CORRECT
  environment variable is set.

  readlink -f now ignores a trailing slash when deciding if the
  last component (possibly via a dangling symlink) can be created,
  since mkdir will succeed in that case.

** New features

  ln now accepts the options --logical (-L) and --physical (-P),
  added by POSIX 2008.  The default behavior is -P on systems like
  GNU/Linux where link(2) creates hard links to symlinks, and -L on
  BSD systems where link(2) follows symlinks.

  stat: without -f, a command-line argument of "-" now means standard input.
  With --file-system (-f), an argument of "-" is now rejected.
  If you really must operate on a file named "-", specify it as
  "./-" or use "--" to separate options from arguments.

** Improvements

  rm: rewrite to use gnulib's fts
  This makes rm -rf significantly faster (400-500%) in some pathological
  cases, and slightly slower (20%) in at least one pathological case.

  rm -r deletes deep hierarchies more efficiently.  Before, execution time
  was quadratic in the depth of the hierarchy, now it is merely linear.
  However, this improvement is not as pronounced as might be expected for
  very deep trees, because prior to this change, for any relative name
  length longer than 8KiB, rm -r would sacrifice official conformance to
  avoid the disproportionate quadratic performance penalty.  Leading to
  another improvement:

  rm -r is now slightly more standards-conformant when operating on
  write-protected files with relative names longer than 8KiB.
<Prev in Thread] Current Thread [Next in Thread>
  • coreutils-8.0 released [beta], Jim Meyering <=