** Bug fixes
cp -u no longer does unnecessary copying merely because the source
has finer-grained time stamps than the destination.
od now prints floating-point numbers without losing information, and
it no longer omits spaces between floating-point columns in some cases.
sort -u with at least two threads could attempt to read through a
corrupted pointer. [bug introduced in coreutils-8.6]
sort with at least two threads and with blocked output would busy-loop
(spinlock) all threads, often using 100% of available CPU cycles to
do no work. I.e., "sort < big-file | less" could waste a lot of power.
[bug introduced in coreutils-8.6]
sort with at least two threads no longer segfaults due to use of pointers
into the stack of an expired thread. [bug introduced in coreutils-8.6]
sort --compress no longer mishandles subprocesses' exit statuses,
no longer hangs indefinitely due to a bug in waiting for subprocesses,
and no longer generates many more than NMERGE subprocesses.
sort -m -o f f ... f no longer dumps core when file descriptors are limited.
csplit no longer corrupts heap when writing more than 999 files,
nor does it leak memory for every chunk of input processed
[the bugs were present in the initial implementation]
tail -F once again notices changes in a currently unavailable
remote directory [bug introduced in coreutils-7.5]
** Changes in behavior
sort will not create more than 8 threads by default due to diminishing
performance gains. Also the --parallel option is no longer restricted
to the number of available processors.
cp --attributes-only now completely overrides --reflink.
Previously a reflink was needlessly attempted.
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=77
o bugfixes
* du no longer multiply counts a file that is a directory or whose
link count is 1.
* du -H and -L now consistently count pointed-to files instead of
symbolic links, and correctly diagnose dangling symlinks.
* du --ignore=D now ignores directory D even when that directory is
found to be part of a directory cycle.
* split now diagnoses read errors rather than silently exiting.
* tac would perform a double-free when given an input line longer
than 16KiB.
* tail -F once again notices changes in a currently unavailable
directory, and works around a Linux kernel bug where inotify runs
out of resources.
* tr now consistently handles case conversion character classes.
o New features
* cp now accepts the --attributes-only option to not copy file data.
* du recognizes -d N as equivalent to --max-depth=N
* sort now accepts the --debug option, to highlight the part of the
line significant in the sort, and warns about questionable options.
* sort now supports -d, -f, -i, -R, and -V in any combination.
* stat now accepts the %m format directive to output the mount point
for a file. It also accepts the %w and %W format directives for
outputting the birth time of a file, if one is available.
o Changes in behavior
* df now consistently prints the device name for a bind mounted file,
rather than its aliased target.
* du now uses less than half as much memory when operating on trees
with many hard-linked files.
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=18
Bug fixes
* cp and mv once again support preserving extended attributes.
* cp now preserves "capabilities" when also preserving file ownership.7
* ls --color once again honors the 'NORMAL' dircolors directive.
[bug introduced in coreutils-6.11]
* sort -M now handles abbreviated months that are aligned using
blanks in the locale database. Also locales with 8 bit characters
are handled correctly, including multi byte locales with the caveat
that multi byte characters are matched case sensitively.
* sort again handles obsolescent key formats (+POS -POS) correctly.
Previously if -POS was specified, 1 field too many was used in the
sort. [bug introduced in coreutils-7.2]
New features
* join now accepts the --header option, to treat the first line of
each file as a header line to be joined and printed
unconditionally.
* timeout now accepts the --kill-after option which sends a kill
signal to the monitored command if it's still running the specified
duration after the initial signal was sent.
* who: the "+/-" --mesg (-T) indicator of whether a user/tty is
accepting messages could be incorrectly listed as "+", when in
fact, the user was not accepting messages (mesg no). Before, who
would examine only the permission bits, and not consider the group
of the TTY device file. Thus, if a login tty's group would change
somehow e.g., to "root", that would make it unwritable (via
write(1)) by normal users, in spite of whatever the permission bits
might imply. Now, when configured using the
--with-tty-group[=NAME] option, who also compares the group of the
TTY device with NAME (or "tty" if no group name is specified).
Changes in behavior
* ls --color no longer emits the final 3-byte color-resetting escape
sequence when it would be a no-op.
* join -t '' no longer emits an error and instead operates on each
line as a whole (even if they contain NUL characters).
For other changes since 7.1 see NEWS.
- Split-up coreutils-%%{version}.diff as far as possible.
- Prefix all patches with coreutils-.
- All patches have the .patch suffix.
- Use the i18n patch from Archlinux as it fixes at least one test
suite failure.
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=9