* Bug fixes
- du would abort with a failed assertion when two conditions are
met: part of the hierarchy being traversed is moved to a higher
level in the directory tree, and there is at least one more
command line directory argument following the one containing
the moved sub-tree. [bug introduced in coreutils-5.1.0]
- join --header now skips the ordering check for the first line
even if the other file is empty. [bug introduced in
coreutils-8.5]
- rm -f no longer fails for EINVAL or EILSEQ on file systems that
reject file names invalid for that file system.
- uniq -f NUM no longer tries to process fields after end of
line. [bug introduced in coreutils-7.0]
* New features
- cp now copies sparse files efficiently on file systems with
FIEMAP support (ext4, btrfs, xfs, ocfs2). Before, it had to
read 2^20 bytes when copying a 1MiB sparse file. Now, it
copies bytes only for the non-sparse sections of a file.
Similarly, to induce a hole in the output file, it had to
detect a long sequence of zero bytes. Now, it knows precisely
where each hole in an input file is, and can reproduce them
efficiently in the output file. mv also benefits when it
resorts to copying, e.g., between file systems.
- join now supports -o 'auto' which will automatically infer the
output format from the first line in each file, to ensure the
same number of fields are output for each line.
* Changes in behavior
- join no longer reports disorder when one of the files is empty.
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=85
** 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