- update to 9.3:
Bug fixes:
* cp --reflink=auto (the default), mv, and install
will again fall back to a standard copy in more cases.
Previously copies could fail with permission errors on
more restricted systems like android or containers etc.
[bug introduced in coreutils-9.2]
* cp --recursive --backup will again operate correctly.
Previousy it may have issued "File exists" errors when
it failed to appropriately rename files being replaced.
[bug introduced in coreutils-9.2]
* date --file and dircolors will now diagnose a failure to read a file.
Previously they would have silently ignored the failure.
[This bug was present in "the beginning".]
* md5sum --check again correctly prints the status of each file checked.
Previously the status for files was printed as 'OK' once any file had passed.
This also applies to cksum, sha*sum, and b2sum.
[bug introduced in coreutils-9.2]
* wc will now diagnose if any total counts have overflowed.
[This bug was present in "the beginning".]
* `wc -c` will again correctly update the read offset of inputs.
Previously it deduced the size of inputs while leaving the offset unchanged.
[bug introduced in coreutils-8.27]
* Coreutils programs no longer fail for timestamps past the year 2038
on obsolete configurations with 32-bit signed time_t, because the
build procedure now rejects these configurations.
[This bug was present in "the beginning".]
Changes in behavior:
* 'cp -n' and 'mv -n' now issue an error diagnostic if skipping a file,
to correspond with -n inducing a nonzero exit status as of coreutils 9.2.
Similarly 'cp -v' and 'mv -v' will output a message for each file skipped
due to -n, -i, or -u.
New features:
* cp and mv now support --update=none to always skip existing files
in the destination, while not affecting the exit status.
This is equivalent to the --no-clobber behavior from before v9.2.
- drop fix-reflink-fallback.patch (upstream).
- add coreutils-tests-skip-cpuinfo-replaced.patch: avoid FP test failure.
OBS-URL: https://build.opensuse.org/request/show/1080971
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=350
base64-encoded checksums. It also accepts/checks such
checksums.
* cksum now accepts the --raw option to output a raw binary
checksum. No file name or other information is output in
this mode.
* cp, mv, and install now accept the --debug option to
print details on how a file is being copied.
* factor now accepts the --exponents (-h) option to print
factors in the form p^e, rather than repeating the prime p, e
times.
* ls now supports the --time=modification option, to explicitly
select the default mtime timestamp for display and sorting.
* mv now supports the --no-copy option, which causes it to fail
when asked to move a file to a different file system.
* split now accepts options like '-n SIZE' that exceed machine
integer range, when they can be implemented as if they were
infinity.
* split -n now accepts piped input even when not in round-robin
mode, by first copying input to a temporary file to determine its
size.
* wc now accepts the --total={auto,never,always,only} option
to give explicit control over when the total is output.
* 'cp --reflink=always A B' no longer leaves behind a newly
created empty file B merely because copy-on-write clones are not
supported.
* 'cp -n' and 'mv -n' now exit with nonzero status if they skip
their action because the destination exists, and likewise for 'cp
-i', 'ln -i', and 'mv -i' when the user declines. (POSIX
specifies this for 'cp -i' and 'mv -i'.)
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=345
* 'comm --output-delimiter="" --total' now delimits columns
in the total line with the NUL character, consistent with
NUL column delimiters in the rest of the output.
Previously no delimiters were used for the total line in
this case.
* 'cp -p' no longer has a security hole when cloning into a
dangling symbolic link on macOS 10.12 and later.
- drop gnulib-simple-backup-fix.patch (upstream)
- drop coreutils-tests-workaround-make-fdleak.patch (obsolete)
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=344
directory; broken in 9.1. See https://bugs.gnu.org/55029
- update to 9.1:
* chmod -R no longer exits with error status when encountering symlinks.
All files would be processed correctly, but the exit status was incorrect.
* If 'cp -Z A B' checks B's status and some other process then removes B,
cp no longer creates B with a too-generous SELinux security context
before adjusting it to the correct value.
* 'cp --preserve=ownership A B' no longer ignores the umask when creating B.
Also, 'cp --preserve-xattr A B' is less likely to temporarily chmod u+w B.
* 'id xyz' now uses the name 'xyz' to determine groups, instead of xyz's uid.
* 'ls -v' and 'sort -V' no longer mishandle corner cases like "a..a" vs "a.+"
or lines containing NULs. Their behavior now matches the documentation
for file names like ".m4" that consist entirely of an extension,
and the documentation has been clarified for unusual cases.
* 'mv -T --backup=numbered A B/' no longer miscalculates the backup number
for B when A is a directory, possibly inflooping.
* cat now uses the copy_file_range syscall if available, when doing
simple copies between regular files. This may be more efficient, by avoiding
user space copies, and possibly employing copy offloading or reflinking.
* chown and chroot now warn about usages like "chown root.root f",
which have the nonstandard and long-obsolete "." separator that
causes problems on platforms where user names contain ".".
Applications should use ":" instead of ".".
* cksum no longer allows abbreviated algorithm names,
so that forward compatibility and robustness is improved.
* date +'%-N' now suppresses excess trailing digits, instead of always
padding them with zeros to 9 digits. It uses clock_getres and
clock_gettime to infer the clock resolution.
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=328
* chmod -R no longer exits with error status when encountering symlinks.
All files would be processed correctly, but the exit status was incorrect.
* If 'cp -Z A B' checks B's status and some other process then removes B,
cp no longer creates B with a too-generous SELinux security context
before adjusting it to the correct value.
* 'cp --preserve=ownership A B' no longer ignores the umask when creating B.
Also, 'cp --preserve-xattr A B' is less likely to temporarily chmod u+w B.
* 'id xyz' now uses the name 'xyz' to determine groups, instead of xyz's uid.
* 'ls -v' and 'sort -V' no longer mishandle corner cases like "a..a" vs "a.+"
or lines containing NULs. Their behavior now matches the documentation
for file names like ".m4" that consist entirely of an extension,
and the documentation has been clarified for unusual cases.
* 'mv -T --backup=numbered A B/' no longer miscalculates the backup number
for B when A is a directory, possibly inflooping.
* cat now uses the copy_file_range syscall if available, when doing
simple copies between regular files. This may be more efficient, by avoiding
user space copies, and possibly employing copy offloading or reflinking.
* chown and chroot now warn about usages like "chown root.root f",
which have the nonstandard and long-obsolete "." separator that
causes problems on platforms where user names contain ".".
Applications should use ":" instead of ".".
* cksum no longer allows abbreviated algorithm names,
so that forward compatibility and robustness is improved.
* date +'%-N' now suppresses excess trailing digits, instead of always
padding them with zeros to 9 digits. It uses clock_getres and
clock_gettime to infer the clock resolution.
* dd conv=fsync now synchronizes output even after a write error,
and similarly for dd conv=fdatasync.
* dd now counts bytes instead of blocks if a block count ends in "B".
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=325
- Update to 8.32 (see NEWS).
- Remove patches which are included in the new upstream version now:
* coreutils-gnulib-disable-test-float.patch
* coreutils-ls-restore-8.31-behavior-on-removed-dirs.patch
* coreutils-tests-fix-FP-in-ls-stat-free-color.patch
* gnulib-test-avoid-FP-perror-strerror.patch
- coreutils-i18n.patch: Refresh patch. Also patch 'tests/Coreutils.pm' used
by perl-based tests to allow longer test names ... which the i18n tests with
their "-mb" suffix have.
- coreutils-chmod-fix-exit-status-ign-symlinks.patch: Add upstream patch to
fix a regression with the exit code of chmod introduced in 9.0.
- coreutils-skip-tests-rm-ext3-perf.patch: Add patch to skip the test
'tests/rm/ext3-perf.sh' temporarily as it hangs on OBS.
- coreutils.spec:
* Version: bump version.
* Remove the above removed patches.
* Reference the above new patches.
OBS-URL: https://build.opensuse.org/request/show/922533
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=322
- Update to 8.32:
* Noteworthy changes in release 8.32 (2020-03-05) [stable]
** Bug fixes
cp now copies /dev/fd/N correctly on platforms like Solaris where
it is a character-special file whose minor device number is N.
[bug introduced in fileutils-4.1.6]
dd conv=fdatasync no longer reports a "Bad file descriptor" error
when fdatasync is interrupted, and dd now retries interrupted calls
to close, fdatasync, fstat and fsync instead of incorrectly
reporting an "Interrupted system call" error.
[bugs introduced in coreutils-6.0]
df now correctly parses the /proc/self/mountinfo file for unusual entries
like ones with '\r' in a field value ("mount -t tmpfs tmpfs /foo$'\r'bar"),
when the source field is empty ('mount -t tmpfs "" /mnt'), and when the
filesystem type contains characters like a blank which need escaping.
[bugs introduced in coreutils-8.24 with the introduction of reading
the /proc/self/mountinfo file]
factor again outputs immediately when stdout is a tty but stdin is not.
[bug introduced in coreutils-8.24]
ln works again on old systems without O_DIRECTORY support (like Solaris 10),
and on systems where symlink ("x", ".") fails with errno == EINVAL
(like Solaris 10 and Solaris 11).
[bug introduced in coreutils-8.31]
rmdir --ignore-fail-on-non-empty now works correctly for directories
that fail to be removed due to permission issues. Previously the exit status
was reversed, failing for non empty and succeeding for empty directories.
[bug introduced in coreutils-6.11]
'shuf -r -n 0 file' no longer mistakenly reads from standard input.
[bug introduced with the --repeat feature in coreutils-8.22]
split no longer reports a "output file suffixes exhausted" error
when the specified number of files is evenly divisible by 10, 16, 26,
for --numeric, --hex, or default alphabetic suffixes respectively.
[bug introduced in coreutils-8.24]
seq no longer prints an extra line under certain circumstances (such as
'seq -f "%g " 1000000 1000000').
[bug introduced in coreutils-6.10]
** Changes in behavior
Several programs now check that numbers end properly. For example,
'du -d 1x' now reports an error instead of silently ignoring the 'x'.
Affected programs and options include du -d, expr's numeric operands
on non-GMP builds, install -g and -o, ls's TABSIZE environment
variable, mknod b and c, ptx -g and -w, shuf -n, and sort --batch-size
and --parallel.
date now parses military time zones in accordance with common usage:
"A" to "M" are equivalent to UTC+1 to UTC+12
"N" to "Y" are equivalent to UTC-1 to UTC-12
"Z" is "zulu" time (UTC).
For example, 'date -d "09:00B" is now equivalent to 9am in UTC+2 time zone.
Previously, military time zones were parsed according to the obsolete
rfc822, with their value negated (e.g., "B" was equivalent to UTC-2).
[The old behavior was introduced in sh-utils 2.0.15 ca. 1999, predating
coreutils package.]
ls issues an error message on a removed directory, on GNU/Linux systems.
Previously no error and no entries were output, and so indistinguishable
from an empty directory, with default ls options.
uniq no longer uses strcoll() to determine string equivalence,
and so will operate more efficiently and consistently.
** New Features
ls now supports the --time=birth option to display and sort by
file creation time, where available.
od --skip-bytes now can use lseek even if the input is not a regular
file, greatly improving performance in some cases.
stat(1) supports a new --cached= option, used on systems with statx(2)
to control cache coherency of file system attributes,
useful on network file systems.
** Improvements
stat and ls now use the statx() system call where available, which can
operate more efficiently by only retrieving requested attributes.
stat and tail now know about the "binderfs", "dma-buf-fs", "erofs",
"ppc-cmm-fs", and "z3fold" file systems.
stat -f -c%T now reports the file system type, and tail -f uses inotify.
** Build-related
gzip-compressed tarballs are distributed once again
- Refresh patches:
* coreutils-disable_tests.patch
* coreutils-getaddrinfo.patch
* coreutils-i18n.patch
* coreutils-invalid-ids.patch
* coreutils-remove_hostname_documentation.patch
* coreutils-remove_kill_documentation.patch
* coreutils-skip-gnulib-test-tls.patch
* coreutils-tests-shorten-extreme-factor-tests.patch
- coreutils-i18n.patch:
* uniq: remove collation handling as required by newer POSIX; see
- https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=8e81d44b5
- https://www.austingroupbugs.net/view.php?id=963
- coreutils-ls-restore-8.31-behavior-on-removed-dirs.patch:
* Add patch for 'ls' to restore 8.31 behavior on removed directories.
- coreutils.spec:
* Version: bump version.
* %check: re-enable regular 'make check' for non-multibuild package.
* reference the above new patch.
- coreutils.keyring:
* Update from upstream (Savannah).
OBS-URL: https://build.opensuse.org/request/show/783998
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=305
- Update to 8.30
- Refresh patches (line number changes only)
- coreutils.spec:
* (License): osc changed the value from "GPL-3.0+" to "GPL-3.0-or-later".
* (build): Make sure that parse-datetime.{c,y} ends up in debuginfo (rh#1555079).
- coreutils-i18n.patch:
* src/exand.c,src/unexpand.c: Avoid -Wcomment warning.
* src/cut.c (cut_characters_or_cut_bytes_no_split): Change idx from size_t
to uintmax_t type to avoid a regression on i586, armv7l and ppc.
Compare upstream, non-MB commit:
https://git.sv.gnu.org/cgit/coreutils.git/commit/?id=d1a754c8272
(cut_fields_mb): Likewise for field_idx.
* tests/misc/cut.pl: Remove downstream tweaks as upstream MB tests are
working since a while.
- coreutils.keyring: Update Assaf Gordon's GPG public key.
OBS-URL: https://build.opensuse.org/request/show/620563
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=293