2006-12-19 00:15:28 +01:00
|
|
|
#
|
Accepting request 1163997 from home:berny:branches:Base:System
- Update to 9.5:
Bug fixes:
* chmod -R now avoids a race where an attacker may replace a traversed file
with a symlink, causing chmod to operate on an unintended file.
[This bug was present in "the beginning".]
* cp, mv, and install no longer issue spurious diagnostics like "failed
to preserve ownership" when copying to GNU/Linux CIFS file systems.
They do this by working around some Linux CIFS bugs.
* cp --no-preserve=mode will correctly maintain set-group-ID bits
for created directories. Previously on systems that didn't support ACLs,
cp would have reset the set-group-ID bit on created directories.
[bug introduced in coreutils-8.20]
* join and uniq now support multi-byte characters better.
For example, 'join -tX' now works even if X is a multi-byte character,
and both programs now treat multi-byte characters like U+3000
IDEOGRAPHIC SPACE as blanks if the current locale treats them so.
* numfmt options like --suffix no longer have an arbitrary 127-byte limit.
[bug introduced with numfmt in coreutils-8.21]
* mktemp with --suffix now better diagnoses templates with too few X's.
Previously it conflated the insignificant --suffix in the error.
[bug introduced in coreutils-8.1]
* sort again handles thousands grouping characters in single-byte locales
where the grouping character is greater than CHAR_MAX. For e.g. signed
character platforms with a 0xA0 (aka  ) grouping character.
[bug introduced in coreutils-9.1]
* split --line-bytes with a mixture of very long and short lines
no longer overwrites the heap (CVE-2024-0684).
[bug introduced in coreutils-9.2]
* tail no longer mishandles input from files in /proc and /sys file systems,
on systems with a page size larger than the stdio BUFSIZ.
[This bug was present in "the beginning".]
* timeout avoids a narrow race condition, where it might kill arbitrary
processes after a failed process fork.
[bug introduced with timeout in coreutils-7.0]
* timeout avoids a narrow race condition, where it might fail to
kill monitored processes immediately after forking them.
[bug introduced with timeout in coreutils-7.0]
* wc no longer fails to count unprintable characters as parts of words.
[bug introduced in textutils-2.1]
Changes in behavior:
* base32 and base64 no longer require padding when decoding.
Previously an error was given for non padded encoded data.
* base32 and base64 have improved detection of corrupted encodings.
Previously encodings with non zero padding bits were accepted.
* basenc --base16 -d now supports lower case hexadecimal characters.
Previously an error was given for lower case hex digits.
* cp --no-clobber, and mv -n no longer exit with failure status if
existing files are encountered in the destination. Instead they revert
to the behavior from before v9.2, silently skipping existing files.
* ls --dired now implies long format output without hyperlinks enabled,
and will take precedence over previously specified formats or hyperlink
mode.
* numfmt will accept lowercase 'k' to indicate Kilo or Kibi units on input,
and uses lowercase 'k' when outputting such units in '--to=si' mode.
* pinky no longer tries to canonicalize the user's login location by default,
rather requiring the new --lookup option to enable this often slow feature.
* wc no longer ignores encoding errors when counting words.
Instead, it treats them as non white space.
New features:
* chgrp now accepts the --from=OWNER:GROUP option to restrict changes to files
with matching current OWNER and/or GROUP, as already supported by chown(1).
* chmod adds support for -h, -H,-L,-P, and --dereference options, providing
more control over symlink handling. This supports more secure handling of
CLI arguments, and is more consistent with chown, and chmod on other
systems.
* cp now accepts the --keep-directory-symlink option (like tar), to preserve
and follow existing symlinks to directories in the destination.
* cp and mv now accept the --update=none-fail option, which is similar
to the --no-clobber option, except that existing files are diagnosed,
and the command exits with failure status if existing files.
The -n,--no-clobber option is best avoided due to platform differences.
* env now accepts the -a,--argv0 option to override the zeroth argument
of the command being executed.
* mv now accepts an --exchange option, which causes the source and
destination to be exchanged. It should be combined with
--no-target-directory (-T) if the destination is a directory.
The exchange is atomic if source and destination are on a single
file system that supports atomic exchange; --exchange is not yet
supported in other situations.
* od now supports printing IEEE half precision floating point with -t fH,
or brain 16 bit floating point with -t fB, where supported by the compiler.
* tail now supports following multiple processes, with repeated --pid options.
Improvements:
* cp,mv,install,cat,split now read and write a minimum of 256KiB at a time.
This was previously 128KiB and increasing to 256KiB was seen to increase
throughput by 10-20% when reading cached files on modern systems.
* env,kill,timeout now support unnamed signals. kill(1) for example now
supports sending such signals, and env(1) will list them appropriately.
* SELinux operations in file copy operations are now more efficient,
avoiding unneeded MCS/MLS label translation.
* sort no longer dynamically links to libcrypto unless -R is used.
This decreases startup overhead in the typical case.
* wc is now much faster in single-byte locales and somewhat faster in
multi-byte locales.
- coreutils-9.4.split-CVE-2024-0684.patch: Remove now-upstream patch.
- gnulib-readutmp-under-gdm.patch: Likewise.
- gnulib-readutmp.patch: Likewise.
- coreutils-i18n.patch: Remove multi-byte patches for join and uniq, as the
upstream version now handles those tests.
Pull in gnulib module mbchar manually, as it is a dependency of mbfile,
but dropped out of the upstream dependency chain.
- coreutils-misc.patch: Remove change for gnulib-tests/test-isnanl.h.
- coreutils-fix-gnulib-time_r-tests.patch: Add upstream gnulib patch to skip
French test if TZ='Europe/Paris' does not work.
OBS-URL: https://build.opensuse.org/request/show/1163997
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=362
2024-04-02 17:30:19 +02:00
|
|
|
# spec file for package coreutils
|
2006-12-19 00:15:28 +01:00
|
|
|
#
|
2024-01-23 10:45:29 +01:00
|
|
|
# Copyright (c) 2024 SUSE LLC
|
2006-12-19 00:15:28 +01:00
|
|
|
#
|
2008-08-21 22:24:17 +02:00
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
2019-03-11 09:24:43 +01:00
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
2006-12-19 00:15:28 +01:00
|
|
|
#
|
|
|
|
|
|
|
|
|
2020-02-03 16:23:39 +01:00
|
|
|
# there are more fancy ways to define a package name using magic
|
|
|
|
# macros but OBS and the bots that rely on parser information from
|
|
|
|
# OBS can't deal with all of them
|
- gnulib-simple-backup-fix.patch: Add patch to make simple backups in correct
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
2022-04-26 10:21:31 +02:00
|
|
|
%global flavor @BUILD_FLAVOR@%{nil}
|
2022-08-01 23:17:24 +02:00
|
|
|
%if "%{flavor}" == "single"
|
|
|
|
%global psuffix -single
|
|
|
|
%elif "%{flavor}" == "testsuite"
|
|
|
|
%global psuffix -testsuite
|
2023-09-04 09:48:00 +02:00
|
|
|
%elif "%{flavor}" == "systemd"
|
|
|
|
%global psuffix -systemd
|
- gnulib-simple-backup-fix.patch: Add patch to make simple backups in correct
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
2022-04-26 10:21:31 +02:00
|
|
|
%else
|
2022-08-01 23:17:24 +02:00
|
|
|
%global psuffix %{nil}
|
2020-01-20 15:48:17 +01:00
|
|
|
%endif
|
2022-08-01 23:17:24 +02:00
|
|
|
Name: coreutils%{?psuffix}
|
Accepting request 1163997 from home:berny:branches:Base:System
- Update to 9.5:
Bug fixes:
* chmod -R now avoids a race where an attacker may replace a traversed file
with a symlink, causing chmod to operate on an unintended file.
[This bug was present in "the beginning".]
* cp, mv, and install no longer issue spurious diagnostics like "failed
to preserve ownership" when copying to GNU/Linux CIFS file systems.
They do this by working around some Linux CIFS bugs.
* cp --no-preserve=mode will correctly maintain set-group-ID bits
for created directories. Previously on systems that didn't support ACLs,
cp would have reset the set-group-ID bit on created directories.
[bug introduced in coreutils-8.20]
* join and uniq now support multi-byte characters better.
For example, 'join -tX' now works even if X is a multi-byte character,
and both programs now treat multi-byte characters like U+3000
IDEOGRAPHIC SPACE as blanks if the current locale treats them so.
* numfmt options like --suffix no longer have an arbitrary 127-byte limit.
[bug introduced with numfmt in coreutils-8.21]
* mktemp with --suffix now better diagnoses templates with too few X's.
Previously it conflated the insignificant --suffix in the error.
[bug introduced in coreutils-8.1]
* sort again handles thousands grouping characters in single-byte locales
where the grouping character is greater than CHAR_MAX. For e.g. signed
character platforms with a 0xA0 (aka  ) grouping character.
[bug introduced in coreutils-9.1]
* split --line-bytes with a mixture of very long and short lines
no longer overwrites the heap (CVE-2024-0684).
[bug introduced in coreutils-9.2]
* tail no longer mishandles input from files in /proc and /sys file systems,
on systems with a page size larger than the stdio BUFSIZ.
[This bug was present in "the beginning".]
* timeout avoids a narrow race condition, where it might kill arbitrary
processes after a failed process fork.
[bug introduced with timeout in coreutils-7.0]
* timeout avoids a narrow race condition, where it might fail to
kill monitored processes immediately after forking them.
[bug introduced with timeout in coreutils-7.0]
* wc no longer fails to count unprintable characters as parts of words.
[bug introduced in textutils-2.1]
Changes in behavior:
* base32 and base64 no longer require padding when decoding.
Previously an error was given for non padded encoded data.
* base32 and base64 have improved detection of corrupted encodings.
Previously encodings with non zero padding bits were accepted.
* basenc --base16 -d now supports lower case hexadecimal characters.
Previously an error was given for lower case hex digits.
* cp --no-clobber, and mv -n no longer exit with failure status if
existing files are encountered in the destination. Instead they revert
to the behavior from before v9.2, silently skipping existing files.
* ls --dired now implies long format output without hyperlinks enabled,
and will take precedence over previously specified formats or hyperlink
mode.
* numfmt will accept lowercase 'k' to indicate Kilo or Kibi units on input,
and uses lowercase 'k' when outputting such units in '--to=si' mode.
* pinky no longer tries to canonicalize the user's login location by default,
rather requiring the new --lookup option to enable this often slow feature.
* wc no longer ignores encoding errors when counting words.
Instead, it treats them as non white space.
New features:
* chgrp now accepts the --from=OWNER:GROUP option to restrict changes to files
with matching current OWNER and/or GROUP, as already supported by chown(1).
* chmod adds support for -h, -H,-L,-P, and --dereference options, providing
more control over symlink handling. This supports more secure handling of
CLI arguments, and is more consistent with chown, and chmod on other
systems.
* cp now accepts the --keep-directory-symlink option (like tar), to preserve
and follow existing symlinks to directories in the destination.
* cp and mv now accept the --update=none-fail option, which is similar
to the --no-clobber option, except that existing files are diagnosed,
and the command exits with failure status if existing files.
The -n,--no-clobber option is best avoided due to platform differences.
* env now accepts the -a,--argv0 option to override the zeroth argument
of the command being executed.
* mv now accepts an --exchange option, which causes the source and
destination to be exchanged. It should be combined with
--no-target-directory (-T) if the destination is a directory.
The exchange is atomic if source and destination are on a single
file system that supports atomic exchange; --exchange is not yet
supported in other situations.
* od now supports printing IEEE half precision floating point with -t fH,
or brain 16 bit floating point with -t fB, where supported by the compiler.
* tail now supports following multiple processes, with repeated --pid options.
Improvements:
* cp,mv,install,cat,split now read and write a minimum of 256KiB at a time.
This was previously 128KiB and increasing to 256KiB was seen to increase
throughput by 10-20% when reading cached files on modern systems.
* env,kill,timeout now support unnamed signals. kill(1) for example now
supports sending such signals, and env(1) will list them appropriately.
* SELinux operations in file copy operations are now more efficient,
avoiding unneeded MCS/MLS label translation.
* sort no longer dynamically links to libcrypto unless -R is used.
This decreases startup overhead in the typical case.
* wc is now much faster in single-byte locales and somewhat faster in
multi-byte locales.
- coreutils-9.4.split-CVE-2024-0684.patch: Remove now-upstream patch.
- gnulib-readutmp-under-gdm.patch: Likewise.
- gnulib-readutmp.patch: Likewise.
- coreutils-i18n.patch: Remove multi-byte patches for join and uniq, as the
upstream version now handles those tests.
Pull in gnulib module mbchar manually, as it is a dependency of mbfile,
but dropped out of the upstream dependency chain.
- coreutils-misc.patch: Remove change for gnulib-tests/test-isnanl.h.
- coreutils-fix-gnulib-time_r-tests.patch: Add upstream gnulib patch to skip
French test if TZ='Europe/Paris' does not work.
OBS-URL: https://build.opensuse.org/request/show/1163997
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=362
2024-04-02 17:30:19 +02:00
|
|
|
Version: 9.5
|
2021-10-01 22:16:39 +02:00
|
|
|
Release: 0
|
2008-04-12 20:53:18 +02:00
|
|
|
Summary: GNU Core Utilities
|
2018-07-04 08:11:55 +02:00
|
|
|
License: GPL-3.0-or-later
|
2006-12-19 00:15:28 +01:00
|
|
|
Group: System/Base
|
2020-01-20 16:04:23 +01:00
|
|
|
URL: https://www.gnu.org/software/coreutils/
|
2021-10-01 22:16:39 +02:00
|
|
|
Source0: https://ftp.gnu.org/gnu/coreutils/coreutils-%{version}.tar.xz
|
|
|
|
Source1: https://ftp.gnu.org/gnu/coreutils/coreutils-%{version}.tar.xz.sig
|
|
|
|
Source2: https://savannah.gnu.org/project/release-gpgkeys.php?group=coreutils&download=1&file=./coreutils.keyring
|
|
|
|
Source3: baselibs.conf
|
|
|
|
Patch1: coreutils-remove_hostname_documentation.patch
|
|
|
|
Patch3: coreutils-remove_kill_documentation.patch
|
|
|
|
Patch4: coreutils-i18n.patch
|
|
|
|
Patch8: coreutils-sysinfo.patch
|
|
|
|
# OBS / RPMLINT require /usr/bin/timeout to be built with the -fpie option.
|
|
|
|
Patch100: coreutils-build-timeout-as-pie.patch
|
|
|
|
# There is no network in the build root so make the test succeed
|
|
|
|
Patch112: coreutils-getaddrinfo.patch
|
|
|
|
# Assorted fixes
|
|
|
|
Patch113: coreutils-misc.patch
|
|
|
|
# Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
|
|
|
|
# a glibc issue in mkstemp.
|
|
|
|
Patch300: coreutils-skip-some-sort-tests-on-ppc.patch
|
|
|
|
Patch301: coreutils-skip-gnulib-test-tls.patch
|
|
|
|
# tests: shorten extreme-expensive factor tests
|
|
|
|
Patch303: coreutils-tests-shorten-extreme-factor-tests.patch
|
|
|
|
# Stop using Python 2.x
|
|
|
|
Patch304: coreutils-use-python3.patch
|
|
|
|
Patch500: coreutils-disable_tests.patch
|
|
|
|
Patch501: coreutils-test_without_valgrind.patch
|
- gnulib-simple-backup-fix.patch: Add patch to make simple backups in correct
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
2022-04-26 10:21:31 +02:00
|
|
|
# Downstream patch to skip a test failing on OBS.
|
2021-10-01 22:16:39 +02:00
|
|
|
# tests: skip tests/rm/ext3-perf.sh temporarily as it hangs on OBS.
|
|
|
|
Patch810: coreutils-skip-tests-rm-ext3-perf.patch
|
* cksum now accepts the --base64 (-b) option to print
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
2023-03-21 22:33:58 +01:00
|
|
|
Patch900: coreutils-tests-workaround-make-fdleak.patch
|
Accepting request 1163997 from home:berny:branches:Base:System
- Update to 9.5:
Bug fixes:
* chmod -R now avoids a race where an attacker may replace a traversed file
with a symlink, causing chmod to operate on an unintended file.
[This bug was present in "the beginning".]
* cp, mv, and install no longer issue spurious diagnostics like "failed
to preserve ownership" when copying to GNU/Linux CIFS file systems.
They do this by working around some Linux CIFS bugs.
* cp --no-preserve=mode will correctly maintain set-group-ID bits
for created directories. Previously on systems that didn't support ACLs,
cp would have reset the set-group-ID bit on created directories.
[bug introduced in coreutils-8.20]
* join and uniq now support multi-byte characters better.
For example, 'join -tX' now works even if X is a multi-byte character,
and both programs now treat multi-byte characters like U+3000
IDEOGRAPHIC SPACE as blanks if the current locale treats them so.
* numfmt options like --suffix no longer have an arbitrary 127-byte limit.
[bug introduced with numfmt in coreutils-8.21]
* mktemp with --suffix now better diagnoses templates with too few X's.
Previously it conflated the insignificant --suffix in the error.
[bug introduced in coreutils-8.1]
* sort again handles thousands grouping characters in single-byte locales
where the grouping character is greater than CHAR_MAX. For e.g. signed
character platforms with a 0xA0 (aka  ) grouping character.
[bug introduced in coreutils-9.1]
* split --line-bytes with a mixture of very long and short lines
no longer overwrites the heap (CVE-2024-0684).
[bug introduced in coreutils-9.2]
* tail no longer mishandles input from files in /proc and /sys file systems,
on systems with a page size larger than the stdio BUFSIZ.
[This bug was present in "the beginning".]
* timeout avoids a narrow race condition, where it might kill arbitrary
processes after a failed process fork.
[bug introduced with timeout in coreutils-7.0]
* timeout avoids a narrow race condition, where it might fail to
kill monitored processes immediately after forking them.
[bug introduced with timeout in coreutils-7.0]
* wc no longer fails to count unprintable characters as parts of words.
[bug introduced in textutils-2.1]
Changes in behavior:
* base32 and base64 no longer require padding when decoding.
Previously an error was given for non padded encoded data.
* base32 and base64 have improved detection of corrupted encodings.
Previously encodings with non zero padding bits were accepted.
* basenc --base16 -d now supports lower case hexadecimal characters.
Previously an error was given for lower case hex digits.
* cp --no-clobber, and mv -n no longer exit with failure status if
existing files are encountered in the destination. Instead they revert
to the behavior from before v9.2, silently skipping existing files.
* ls --dired now implies long format output without hyperlinks enabled,
and will take precedence over previously specified formats or hyperlink
mode.
* numfmt will accept lowercase 'k' to indicate Kilo or Kibi units on input,
and uses lowercase 'k' when outputting such units in '--to=si' mode.
* pinky no longer tries to canonicalize the user's login location by default,
rather requiring the new --lookup option to enable this often slow feature.
* wc no longer ignores encoding errors when counting words.
Instead, it treats them as non white space.
New features:
* chgrp now accepts the --from=OWNER:GROUP option to restrict changes to files
with matching current OWNER and/or GROUP, as already supported by chown(1).
* chmod adds support for -h, -H,-L,-P, and --dereference options, providing
more control over symlink handling. This supports more secure handling of
CLI arguments, and is more consistent with chown, and chmod on other
systems.
* cp now accepts the --keep-directory-symlink option (like tar), to preserve
and follow existing symlinks to directories in the destination.
* cp and mv now accept the --update=none-fail option, which is similar
to the --no-clobber option, except that existing files are diagnosed,
and the command exits with failure status if existing files.
The -n,--no-clobber option is best avoided due to platform differences.
* env now accepts the -a,--argv0 option to override the zeroth argument
of the command being executed.
* mv now accepts an --exchange option, which causes the source and
destination to be exchanged. It should be combined with
--no-target-directory (-T) if the destination is a directory.
The exchange is atomic if source and destination are on a single
file system that supports atomic exchange; --exchange is not yet
supported in other situations.
* od now supports printing IEEE half precision floating point with -t fH,
or brain 16 bit floating point with -t fB, where supported by the compiler.
* tail now supports following multiple processes, with repeated --pid options.
Improvements:
* cp,mv,install,cat,split now read and write a minimum of 256KiB at a time.
This was previously 128KiB and increasing to 256KiB was seen to increase
throughput by 10-20% when reading cached files on modern systems.
* env,kill,timeout now support unnamed signals. kill(1) for example now
supports sending such signals, and env(1) will list them appropriately.
* SELinux operations in file copy operations are now more efficient,
avoiding unneeded MCS/MLS label translation.
* sort no longer dynamically links to libcrypto unless -R is used.
This decreases startup overhead in the typical case.
* wc is now much faster in single-byte locales and somewhat faster in
multi-byte locales.
- coreutils-9.4.split-CVE-2024-0684.patch: Remove now-upstream patch.
- gnulib-readutmp-under-gdm.patch: Likewise.
- gnulib-readutmp.patch: Likewise.
- coreutils-i18n.patch: Remove multi-byte patches for join and uniq, as the
upstream version now handles those tests.
Pull in gnulib module mbchar manually, as it is a dependency of mbfile,
but dropped out of the upstream dependency chain.
- coreutils-misc.patch: Remove change for gnulib-tests/test-isnanl.h.
- coreutils-fix-gnulib-time_r-tests.patch: Add upstream gnulib patch to skip
French test if TZ='Europe/Paris' does not work.
OBS-URL: https://build.opensuse.org/request/show/1163997
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=362
2024-04-02 17:30:19 +02:00
|
|
|
# Upstream gnulib patch for coreutils-9.5.
|
|
|
|
Patch920: coreutils-fix-gnulib-time_r-tests.patch
|
2012-02-20 11:57:43 +01:00
|
|
|
BuildRequires: automake
|
2012-05-16 13:08:03 +02:00
|
|
|
BuildRequires: gmp-devel
|
2022-08-02 13:36:28 +02:00
|
|
|
BuildRequires: hostname
|
2012-02-20 11:57:43 +01:00
|
|
|
BuildRequires: libacl-devel
|
2013-06-17 13:20:05 +02:00
|
|
|
BuildRequires: libattr-devel
|
2012-02-20 11:57:43 +01:00
|
|
|
BuildRequires: libcap-devel
|
|
|
|
BuildRequires: libselinux-devel
|
2013-01-27 09:16:43 +01:00
|
|
|
BuildRequires: makeinfo
|
2013-01-16 20:09:57 +01:00
|
|
|
BuildRequires: perl
|
2013-04-08 14:07:25 +02:00
|
|
|
BuildRequires: xz
|
2023-09-04 09:48:00 +02:00
|
|
|
%if "%{name}" == "coreutils-systemd"
|
|
|
|
BuildRequires: pkgconfig(libsystemd)
|
|
|
|
%endif
|
2021-10-01 22:16:39 +02:00
|
|
|
%if 0%{?suse_version} > 1320
|
2015-03-26 14:30:45 +01:00
|
|
|
BuildRequires: gcc-PIE
|
|
|
|
%endif
|
2012-11-08 13:16:12 +01:00
|
|
|
%if "%{name}" == "coreutils-testsuite"
|
2013-01-16 20:09:57 +01:00
|
|
|
BuildRequires: acl
|
2012-11-08 13:16:12 +01:00
|
|
|
BuildRequires: gdb
|
|
|
|
BuildRequires: perl-Expect
|
2020-05-04 10:05:56 +02:00
|
|
|
BuildRequires: python3
|
|
|
|
BuildRequires: python3-pyinotify
|
2013-01-16 20:09:57 +01:00
|
|
|
BuildRequires: strace
|
2016-12-03 00:04:18 +01:00
|
|
|
BuildRequires: timezone
|
2017-09-06 14:24:32 +02:00
|
|
|
# Some tests need the 'bin' user.
|
|
|
|
BuildRequires: user(bin)
|
2021-10-01 22:16:39 +02:00
|
|
|
%ifarch %{ix86} x86_64 ppc ppc64 s390x armv7l armv7hl
|
2013-01-16 20:09:57 +01:00
|
|
|
BuildRequires: valgrind
|
2012-11-08 13:16:12 +01:00
|
|
|
%endif
|
2013-12-08 19:30:51 +01:00
|
|
|
%endif
|
2020-01-20 16:04:23 +01:00
|
|
|
%if "%{name}" == "coreutils" || "%{name}" == "coreutils-single"
|
2012-04-13 16:10:22 +02:00
|
|
|
Provides: fileutils = %{version}
|
|
|
|
Provides: mktemp = %{version}
|
|
|
|
Provides: sh-utils = %{version}
|
2013-04-08 14:07:25 +02:00
|
|
|
Provides: stat = %{version}
|
2012-04-13 16:10:22 +02:00
|
|
|
Provides: textutils = %{version}
|
2020-01-20 15:48:17 +01:00
|
|
|
%if "%{name}" == "coreutils-single"
|
|
|
|
Conflicts: coreutils
|
|
|
|
Provides: coreutils = %{version}-%{release}
|
|
|
|
%endif
|
2013-04-08 14:07:25 +02:00
|
|
|
%endif
|
2023-09-04 09:48:00 +02:00
|
|
|
%if "%{name}" == "coreutils-systemd"
|
|
|
|
Provides: coreutils:%{_bindir}/who
|
|
|
|
Requires: coreutils = %{version}
|
|
|
|
%endif
|
2013-04-08 14:07:25 +02:00
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2006-12-19 00:15:28 +01:00
|
|
|
%description
|
2013-04-08 14:07:25 +02:00
|
|
|
These are the GNU core utilities. This package is the union of
|
|
|
|
the GNU fileutils, sh-utils, and textutils packages.
|
|
|
|
|
2019-03-11 09:24:43 +01:00
|
|
|
[ arch b2sum base32 base64 basename basenc 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 groups head hostid id install join
|
2013-04-08 14:07:25 +02:00
|
|
|
link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup
|
|
|
|
nproc numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink
|
|
|
|
realpath rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum
|
|
|
|
shred shuf sleep sort split stat stdbuf stty sum sync tac tail tee test
|
|
|
|
timeout touch tr true truncate tsort tty uname unexpand uniq unlink
|
|
|
|
uptime users vdir wc who whoami yes
|
|
|
|
|
2020-01-20 15:48:17 +01:00
|
|
|
%package doc
|
|
|
|
Summary: Documentation for the GNU Core Utilities
|
|
|
|
Group: Documentation/Man
|
2021-05-01 08:41:37 +02:00
|
|
|
Supplements: (coreutils and patterns-base-documentation)
|
2021-10-01 21:34:37 +02:00
|
|
|
Supplements: (coreutils-single and patterns-base-documentation)
|
2021-10-01 22:16:39 +02:00
|
|
|
Provides: coreutils:%{_infodir}/coreutils.info.gz
|
2020-01-20 15:48:17 +01:00
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description doc
|
|
|
|
This package contains the documentation for the GNU Core Utilities.
|
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2008-02-19 02:19:47 +01:00
|
|
|
%lang_package
|
2021-04-29 09:01:08 +02:00
|
|
|
|
2006-12-19 00:15:28 +01:00
|
|
|
%prep
|
2012-11-06 13:27:41 +01:00
|
|
|
%setup -q -n coreutils-%{version}
|
2024-03-01 13:32:08 +01:00
|
|
|
%patch -P 4 -p1
|
|
|
|
%patch -P 1
|
|
|
|
%patch -P 3
|
|
|
|
%patch -P 8
|
2013-04-08 14:07:25 +02:00
|
|
|
#
|
2021-10-01 22:16:39 +02:00
|
|
|
%if 0%{?suse_version} <= 1320
|
2024-03-01 13:32:08 +01:00
|
|
|
%patch -P 100
|
2015-03-26 14:30:45 +01:00
|
|
|
%endif
|
2024-03-01 13:32:08 +01:00
|
|
|
%patch -P 112
|
|
|
|
%patch -P 113
|
2011-04-28 18:07:08 +02:00
|
|
|
|
2024-03-01 13:32:08 +01:00
|
|
|
%patch -P 300
|
2014-01-09 03:21:45 +01:00
|
|
|
|
2021-10-01 22:16:39 +02:00
|
|
|
%ifarch %{ix86} x86_64 ppc ppc64
|
2024-03-01 13:32:08 +01:00
|
|
|
%patch -P 301
|
2014-01-09 03:21:45 +01:00
|
|
|
%endif
|
|
|
|
|
2024-03-01 13:32:08 +01:00
|
|
|
%patch -P 303
|
|
|
|
%patch -P 304
|
|
|
|
%patch -P 500
|
|
|
|
%patch -P 501
|
2015-03-09 07:53:43 +01:00
|
|
|
|
2024-03-01 13:32:08 +01:00
|
|
|
%patch -P 810
|
|
|
|
%patch -P 900
|
Accepting request 1163997 from home:berny:branches:Base:System
- Update to 9.5:
Bug fixes:
* chmod -R now avoids a race where an attacker may replace a traversed file
with a symlink, causing chmod to operate on an unintended file.
[This bug was present in "the beginning".]
* cp, mv, and install no longer issue spurious diagnostics like "failed
to preserve ownership" when copying to GNU/Linux CIFS file systems.
They do this by working around some Linux CIFS bugs.
* cp --no-preserve=mode will correctly maintain set-group-ID bits
for created directories. Previously on systems that didn't support ACLs,
cp would have reset the set-group-ID bit on created directories.
[bug introduced in coreutils-8.20]
* join and uniq now support multi-byte characters better.
For example, 'join -tX' now works even if X is a multi-byte character,
and both programs now treat multi-byte characters like U+3000
IDEOGRAPHIC SPACE as blanks if the current locale treats them so.
* numfmt options like --suffix no longer have an arbitrary 127-byte limit.
[bug introduced with numfmt in coreutils-8.21]
* mktemp with --suffix now better diagnoses templates with too few X's.
Previously it conflated the insignificant --suffix in the error.
[bug introduced in coreutils-8.1]
* sort again handles thousands grouping characters in single-byte locales
where the grouping character is greater than CHAR_MAX. For e.g. signed
character platforms with a 0xA0 (aka  ) grouping character.
[bug introduced in coreutils-9.1]
* split --line-bytes with a mixture of very long and short lines
no longer overwrites the heap (CVE-2024-0684).
[bug introduced in coreutils-9.2]
* tail no longer mishandles input from files in /proc and /sys file systems,
on systems with a page size larger than the stdio BUFSIZ.
[This bug was present in "the beginning".]
* timeout avoids a narrow race condition, where it might kill arbitrary
processes after a failed process fork.
[bug introduced with timeout in coreutils-7.0]
* timeout avoids a narrow race condition, where it might fail to
kill monitored processes immediately after forking them.
[bug introduced with timeout in coreutils-7.0]
* wc no longer fails to count unprintable characters as parts of words.
[bug introduced in textutils-2.1]
Changes in behavior:
* base32 and base64 no longer require padding when decoding.
Previously an error was given for non padded encoded data.
* base32 and base64 have improved detection of corrupted encodings.
Previously encodings with non zero padding bits were accepted.
* basenc --base16 -d now supports lower case hexadecimal characters.
Previously an error was given for lower case hex digits.
* cp --no-clobber, and mv -n no longer exit with failure status if
existing files are encountered in the destination. Instead they revert
to the behavior from before v9.2, silently skipping existing files.
* ls --dired now implies long format output without hyperlinks enabled,
and will take precedence over previously specified formats or hyperlink
mode.
* numfmt will accept lowercase 'k' to indicate Kilo or Kibi units on input,
and uses lowercase 'k' when outputting such units in '--to=si' mode.
* pinky no longer tries to canonicalize the user's login location by default,
rather requiring the new --lookup option to enable this often slow feature.
* wc no longer ignores encoding errors when counting words.
Instead, it treats them as non white space.
New features:
* chgrp now accepts the --from=OWNER:GROUP option to restrict changes to files
with matching current OWNER and/or GROUP, as already supported by chown(1).
* chmod adds support for -h, -H,-L,-P, and --dereference options, providing
more control over symlink handling. This supports more secure handling of
CLI arguments, and is more consistent with chown, and chmod on other
systems.
* cp now accepts the --keep-directory-symlink option (like tar), to preserve
and follow existing symlinks to directories in the destination.
* cp and mv now accept the --update=none-fail option, which is similar
to the --no-clobber option, except that existing files are diagnosed,
and the command exits with failure status if existing files.
The -n,--no-clobber option is best avoided due to platform differences.
* env now accepts the -a,--argv0 option to override the zeroth argument
of the command being executed.
* mv now accepts an --exchange option, which causes the source and
destination to be exchanged. It should be combined with
--no-target-directory (-T) if the destination is a directory.
The exchange is atomic if source and destination are on a single
file system that supports atomic exchange; --exchange is not yet
supported in other situations.
* od now supports printing IEEE half precision floating point with -t fH,
or brain 16 bit floating point with -t fB, where supported by the compiler.
* tail now supports following multiple processes, with repeated --pid options.
Improvements:
* cp,mv,install,cat,split now read and write a minimum of 256KiB at a time.
This was previously 128KiB and increasing to 256KiB was seen to increase
throughput by 10-20% when reading cached files on modern systems.
* env,kill,timeout now support unnamed signals. kill(1) for example now
supports sending such signals, and env(1) will list them appropriately.
* SELinux operations in file copy operations are now more efficient,
avoiding unneeded MCS/MLS label translation.
* sort no longer dynamically links to libcrypto unless -R is used.
This decreases startup overhead in the typical case.
* wc is now much faster in single-byte locales and somewhat faster in
multi-byte locales.
- coreutils-9.4.split-CVE-2024-0684.patch: Remove now-upstream patch.
- gnulib-readutmp-under-gdm.patch: Likewise.
- gnulib-readutmp.patch: Likewise.
- coreutils-i18n.patch: Remove multi-byte patches for join and uniq, as the
upstream version now handles those tests.
Pull in gnulib module mbchar manually, as it is a dependency of mbfile,
but dropped out of the upstream dependency chain.
- coreutils-misc.patch: Remove change for gnulib-tests/test-isnanl.h.
- coreutils-fix-gnulib-time_r-tests.patch: Add upstream gnulib patch to skip
French test if TZ='Europe/Paris' does not work.
OBS-URL: https://build.opensuse.org/request/show/1163997
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=362
2024-04-02 17:30:19 +02:00
|
|
|
%patch -P 920
|
2020-08-31 12:45:26 +02:00
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2006-12-19 00:15:28 +01:00
|
|
|
%build
|
2021-10-01 22:16:39 +02:00
|
|
|
%if 0%{?suse_version} >= 1200
|
2010-07-19 14:13:47 +02:00
|
|
|
AUTOPOINT=true autoreconf -fi
|
2013-01-10 21:37:13 +01:00
|
|
|
%endif
|
2021-10-01 22:16:39 +02:00
|
|
|
export CFLAGS="%{optflags}"
|
2013-04-08 14:07:25 +02:00
|
|
|
%configure --libexecdir=%{_libdir} \
|
|
|
|
--enable-install-program=arch \
|
2020-01-20 15:48:17 +01:00
|
|
|
--enable-no-install-program=kill \
|
|
|
|
%if "%{name}" == "coreutils-single"
|
|
|
|
--enable-single-binary \
|
|
|
|
--without-openssl \
|
|
|
|
--without-gmp \
|
2023-09-04 09:48:00 +02:00
|
|
|
%endif
|
|
|
|
%if "%{name}" == "coreutils-systemd"
|
|
|
|
--enable-systemd \
|
2020-01-20 15:48:17 +01:00
|
|
|
%endif
|
2013-04-08 14:07:25 +02:00
|
|
|
DEFAULT_POSIX2_VERSION=200112 \
|
|
|
|
alternative=199209
|
- Update to 8.14. Changes since 8.12:
Bug fixes:
- ls --dereference no longer outputs erroneous "argetm" strings for
dangling symlinks when an 'ln=target' entry is in $LS_COLORS.
[bug introduced in fileutils-4.0]
- ls -lL symlink once again properly prints "+" when the referent has
an ACL. [bug introduced in coreutils-8.13]
- sort -g no longer infloops for certain inputs containing NaNs [bug
introduced in coreutils-8.5]
- chown and chgrp with the -v --from= options, now output the correct
owner. I.E. for skipped files, the original ownership is output,
not the new one. [bug introduced in sh-utils-2.0g]
- cp -r could mistakenly change the permissions of an existing
destination directory. [bug introduced in coreutils-6.8]
- cp -u -p would fail to preserve one hard link for each up-to-date
copy of a src-hard-linked name in the destination tree. I.e., if
s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s
dst" would copy s/b to dst/s/b rather than simply linking dst/s/b
to dst/s/a. [This bug appears to have been present in "the
beginning".]
- fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use
memory proportional to the number of entries in each directory they
process. Before, rm -rf 4-million-entry-directory would consume
about 1GiB of memory. Now, it uses less than 30MB, no matter how
many entries there are. [this bug was inherent in the use of fts:
thus, for rm the bug was introduced in coreutils-8.0. The prior
implementation of rm did not use as much memory. du, chmod, chgrp
and chown started using fts in 6.0. chcon was added in
coreutils-6.9.91 with fts support. ]
- pr -T no longer ignores a specified LAST_PAGE to stop at. [bug
introduced in textutils-1.19q]
- printf '%d' '"' no longer accesses out-of-bounds memory in the
diagnostic. [bug introduced in sh-utils-1.16]
- split --number l/... no longer creates extraneous files in certain
cases. [bug introduced in coreutils-8.8]
- timeout now sends signals to commands that create their own process
group. timeout is no longer confused when starting off with a
child process. [bugs introduced in coreutils-7.0]
- unexpand -a now aligns correctly when there are spaces spanning a
tabstop, followed by a tab. In that case a space was dropped,
causing misalignment. We also now ensure that a space never
precedes a tab. [bug introduced in coreutils-5.3.0]
New features:
- date now accepts ISO 8601 date-time strings with "T" as the
separator. It has long parsed dates like "2004-02-29 16:21:42"
with a space between the date and time strings. Now it also parses
"2004-02-29T16:21:42" and fractional-second and time-zone-annotated
variants like "2004-02-29T16:21:42.333-07:00"
- md5sum accepts the new --strict option. With --check, it makes the
tool exit non-zero for any invalid input line, rather than just warning.
This also affects sha1sum, sha224sum, sha384sum and sha512sum.
- split accepts a new --filter=CMD option. With it, split filters
output through CMD. CMD may use the $FILE environment variable,
which is set to the nominal output file name for each invocation of
CMD. For example, to split a file into 3 approximately equal
parts, which are then compressed:
split -n3 --filter='xz > $FILE.xz' big
Note the use of single quotes, not double quotes. That creates
files named xaa.xz, xab.xz and xac.xz.
- timeout accepts a new --foreground option, to support commands not
started directly from a shell prompt, where the command is
interactive or needs to receive signals initiated from the
terminal.
Improvements:
- md5sum --check now supports the -r format from the corresponding
BSD tool. This also affects sha1sum, sha224sum, sha384sum and
sha512sum.
- pwd now works also on systems without openat. On such systems, pwd
would fail when run from a directory whose absolute name contained
more than PATH_MAX / 3 components. The df, stat and readlink
programs are also affected due to their use of the canonicalize_*
functions.
- join --check-order now prints "join: FILE:LINE_NUMBER: bad_line"
for an unsorted input, rather than e.g., "join: file 1 is not in
sorted order".
- shuf outputs small subsets of large permutations much more
efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer
exhausts memory.
- stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system
types.
- timeout now supports sub-second timeouts.
Changes in behavior:
- chmod, chown and chgrp now output the original attributes in
messages, when -v or -c specified.
- cp -au (where --preserve=links is implicit) may now replace newer
files in the destination, to mirror hard links from the source.
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
2011-10-14 12:07:06 +02:00
|
|
|
|
2021-10-01 22:16:39 +02:00
|
|
|
%make_build -C po update-po
|
2013-04-08 14:07:25 +02:00
|
|
|
|
|
|
|
# Regenerate manpages
|
|
|
|
touch man/*.x
|
|
|
|
|
2021-10-01 22:16:39 +02:00
|
|
|
%make_build all
|
2008-04-12 20:53:18 +02:00
|
|
|
|
2018-07-04 08:11:55 +02:00
|
|
|
# make sure that parse-datetime.{c,y} ends up in debuginfo (rh#1555079)
|
|
|
|
ln -v lib/parse-datetime.{c,y} .
|
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2012-11-08 13:16:12 +01:00
|
|
|
%check
|
2013-01-16 20:09:57 +01:00
|
|
|
%if "%{name}" == "coreutils-testsuite"
|
2013-04-08 14:07:25 +02:00
|
|
|
# Make our multi-byte test for sort executable
|
|
|
|
chmod a+x tests/misc/sort-mb-tests.sh
|
2013-01-16 20:09:57 +01:00
|
|
|
# Avoid parallel make, because otherwise some timeout based tests like
|
|
|
|
# rm/ext3-perf may fail due to high CPU or IO load.
|
2023-03-28 15:21:09 +02:00
|
|
|
%make_build -j1 check-very-expensive VERBOSE=yes \
|
2013-04-08 14:07:25 +02:00
|
|
|
&& install -d -m 755 %{buildroot}%{_docdir}/%{name} \
|
|
|
|
&& xz -c tests/test-suite.log \
|
|
|
|
> %{buildroot}%{_docdir}/%{name}/test-suite.log.xz
|
Accepting request 783998 from home:berny:branches:Base:System
- 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
2020-03-18 12:50:56 +01:00
|
|
|
%else
|
|
|
|
# Run the shorter check otherwise.
|
2022-10-27 09:56:22 +02:00
|
|
|
%make_build check VERBOSE=yes
|
2012-11-08 13:16:12 +01:00
|
|
|
%endif
|
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2006-12-19 00:15:28 +01:00
|
|
|
%install
|
2020-01-20 15:48:17 +01:00
|
|
|
%if "%{name}" == "coreutils" || "%{name}" == "coreutils-single"
|
2021-10-01 22:16:39 +02:00
|
|
|
make install DESTDIR=%{buildroot} pkglibexecdir=%{_libdir}/%{name}
|
|
|
|
|
- Update to 8.6:
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
2010-11-11 18:25:53 +01:00
|
|
|
echo '.so man1/test.1' > %{buildroot}/%{_mandir}/man1/\[.1
|
2020-01-20 15:48:17 +01:00
|
|
|
%if "%{name}" == "coreutils"
|
2013-01-10 21:37:13 +01:00
|
|
|
%find_lang coreutils
|
2020-01-20 15:48:17 +01:00
|
|
|
# add LC_TIME directories to lang package
|
|
|
|
awk '/LC_TIME/ {a=$2; gsub(/\/[^\/]+\.mo/,"", a); print "%%dir", a} {print}' < coreutils.lang > tmp
|
|
|
|
mv tmp coreutils.lang
|
|
|
|
%else
|
|
|
|
rm -rf %{buildroot}%{_mandir}
|
|
|
|
rm -rf %{buildroot}%{_infodir}
|
|
|
|
rm -rf %{buildroot}%{_datadir}/locale
|
|
|
|
> coreutils.lang
|
|
|
|
%endif
|
2013-01-16 20:09:57 +01:00
|
|
|
%endif
|
2023-09-04 09:48:00 +02:00
|
|
|
%if "%{name}" == "coreutils-systemd"
|
|
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
|
|
install src/{pinky,uptime,users,who} %{buildroot}%{_bindir}/
|
|
|
|
%endif
|
2006-12-19 00:15:28 +01:00
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2006-12-19 00:15:28 +01:00
|
|
|
%post
|
2020-01-20 15:48:17 +01:00
|
|
|
%if "%{name}" == "coreutils" || "%{name}" == "coreutils-single"
|
2015-04-08 12:01:26 +02:00
|
|
|
%{?regenerate_initrd_post}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# ================================================
|
|
|
|
%posttrans
|
2020-01-20 15:48:17 +01:00
|
|
|
%if "%{name}" == "coreutils" || "%{name}" == "coreutils-single"
|
2015-04-08 12:01:26 +02:00
|
|
|
%{?regenerate_initrd_posttrans}
|
2013-04-08 14:07:25 +02:00
|
|
|
%endif
|
2006-12-19 00:15:28 +01:00
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2012-02-20 11:57:43 +01:00
|
|
|
%files
|
2020-01-20 15:48:17 +01:00
|
|
|
%if "%{name}" == "coreutils" || "%{name}" == "coreutils-single"
|
2013-01-16 20:09:57 +01:00
|
|
|
|
2018-02-26 11:32:45 +01:00
|
|
|
%license COPYING
|
|
|
|
%doc NEWS README THANKS
|
2023-09-04 09:48:00 +02:00
|
|
|
%exclude %{_bindir}/pinky
|
|
|
|
%exclude %{_bindir}/uptime
|
|
|
|
%exclude %{_bindir}/users
|
|
|
|
%exclude %{_bindir}/who
|
2006-12-19 00:15:28 +01:00
|
|
|
%{_bindir}/*
|
2010-07-19 14:13:47 +02:00
|
|
|
%{_libdir}/%{name}
|
2006-12-19 00:15:28 +01:00
|
|
|
|
2020-01-20 15:48:17 +01:00
|
|
|
%if "%{name}" == "coreutils"
|
2013-01-10 21:37:13 +01:00
|
|
|
%files lang -f coreutils.lang
|
2008-02-19 02:19:47 +01:00
|
|
|
|
2020-01-20 15:48:17 +01:00
|
|
|
%files doc
|
2021-10-01 22:16:39 +02:00
|
|
|
%{_infodir}/coreutils.info*.gz
|
|
|
|
%{_mandir}/man1/*.1%{?ext_man}
|
2020-01-20 15:48:17 +01:00
|
|
|
%endif
|
|
|
|
|
2023-09-04 09:48:00 +02:00
|
|
|
%elif "%{name}" == "coreutils-systemd"
|
|
|
|
%license COPYING
|
|
|
|
%doc NEWS README THANKS
|
|
|
|
%{_bindir}/pinky
|
|
|
|
%{_bindir}/uptime
|
|
|
|
%{_bindir}/users
|
|
|
|
%{_bindir}/who
|
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
%else
|
|
|
|
|
|
|
|
# test-suite
|
|
|
|
%dir %{_docdir}/%{name}
|
|
|
|
%doc %{_docdir}/%{name}/test-suite.log.xz
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# ================================================
|
|
|
|
|
2007-02-25 12:10:30 +01:00
|
|
|
%changelog
|