2006-12-19 00:15:28 +01:00
|
|
|
#
|
2011-01-14 14:58:48 +01:00
|
|
|
# spec file for package coreutils
|
2006-12-19 00:15:28 +01:00
|
|
|
#
|
2013-01-10 21:37:13 +01:00
|
|
|
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
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.
|
|
|
|
|
2006-12-19 00:15:28 +01:00
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
Name: coreutils
|
2008-04-12 20:53:18 +02:00
|
|
|
Summary: GNU Core Utilities
|
2011-12-02 10:05:55 +01:00
|
|
|
License: GPL-3.0+
|
2006-12-19 00:15:28 +01:00
|
|
|
Group: System/Base
|
2013-04-08 14:07:25 +02:00
|
|
|
Url: http://www.gnu.org/software/coreutils/
|
|
|
|
Version: 8.21
|
|
|
|
Release: 0
|
|
|
|
|
2012-02-20 11:57:43 +01:00
|
|
|
BuildRequires: automake
|
2012-05-16 13:08:03 +02:00
|
|
|
BuildRequires: gmp-devel
|
2012-02-20 11:57:43 +01:00
|
|
|
BuildRequires: help2man
|
|
|
|
BuildRequires: libacl-devel
|
|
|
|
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
|
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
|
2013-01-16 20:09:57 +01:00
|
|
|
BuildRequires: python-pyinotify
|
|
|
|
BuildRequires: strace
|
|
|
|
BuildRequires: valgrind
|
2012-11-08 13:16:12 +01:00
|
|
|
%endif
|
2013-04-08 14:07:25 +02:00
|
|
|
|
|
|
|
Provides: %{name} = %{version}
|
|
|
|
%if "%{name}" == "coreutils"
|
2013-05-15 15:59:06 +02:00
|
|
|
Provides: /bin/kill
|
|
|
|
Provides: /bin/su
|
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}
|
2013-04-08 14:07:25 +02:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{name}" == "coreutils"
|
2010-09-21 18:10:54 +02:00
|
|
|
Recommends: %{name}-lang = %version
|
2013-04-08 14:07:25 +02:00
|
|
|
%endif
|
|
|
|
|
|
|
|
# Needed for su.
|
|
|
|
BuildRequires: pam-devel
|
2010-07-19 14:13:47 +02:00
|
|
|
Requires: pam >= 1.1.1.90
|
2013-04-08 14:07:25 +02:00
|
|
|
|
|
|
|
# this will create a cycle, broken up randomly - coreutils is just
|
|
|
|
# too core to have other prerequisites.
|
2013-06-06 07:17:31 +02:00
|
|
|
#PreReq: permissions
|
|
|
|
PreReq: %{install_info_prereq}
|
2013-04-08 14:07:25 +02:00
|
|
|
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
|
|
|
|
%if "%{name}" == "coreutils"
|
|
|
|
# For upgrading you now just need to increase the version, remove the old
|
|
|
|
# tarballs, then run osc service localrun download_files, osc addremove,
|
|
|
|
# osc vc and osc ci and you are done.
|
2013-03-21 13:15:26 +01:00
|
|
|
Source: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
|
2013-04-08 14:07:25 +02:00
|
|
|
%else
|
|
|
|
# In "coreutils-testsuite", we use the version controlled file from "coreutils".
|
|
|
|
# otherwise that file would be downloaded twice during the above mentioned
|
|
|
|
# upgrade procedure.
|
|
|
|
Source: coreutils-%{version}.tar.xz
|
|
|
|
%endif
|
|
|
|
|
2006-12-19 00:15:28 +01:00
|
|
|
Source1: su.pamd
|
|
|
|
Source2: su.default
|
2009-12-16 09:56:01 +01:00
|
|
|
Source3: baselibs.conf
|
- Update to 8.15:
** New programs
realpath: print resolved file names.
** Bug fixes
du --one-file-system (-x) would ignore any non-directory specified on
the command line. For example, "touch f; du -x f" would print nothing.
[bug introduced in coreutils-8.14]
du -x no longer counts root directories of other file systems.
[bug introduced in coreutils-5.1.0]
ls --color many-entry-directory was uninterruptible for too long
[bug introduced in coreutils-5.2.1]
ls's -k option no longer affects how ls -l outputs file sizes.
It now affects only the per-directory block counts written by -l,
and the sizes written by -s. This is for compatibility with BSD
and with POSIX 2008. Because -k is no longer equivalent to
--block-size=1KiB, a new long option --kibibyte stands for -k.
[bug introduced in coreutils-4.5.4]
ls -l would leak a little memory (security context string) for each
nonempty directory listed on the command line, when using SELinux.
[bug probably introduced in coreutils-6.10 with SELinux support]
split -n 1/2 FILE no longer fails when operating on a growing file, or
(on some systems) when operating on a non-regular file like /dev/zero.
It would report "/dev/zero: No such file or directory" even though
the file obviously exists. Same for -n l/2.
[bug introduced in coreutils-8.8, with the addition of the -n option]
stat -f now recognizes the FhGFS and PipeFS file system types.
tac no longer fails to handle two or more non-seekable inputs
[bug introduced in coreutils-5.3.0]
tail -f no longer tries to use inotify on GPFS or FhGFS file systems
[you might say this was introduced in coreutils-7.5, along with inotify
support, but the new magic numbers weren't in the usual places then.]
** Changes in behavior
df avoids long UUID-including file system names in the default listing.
With recent enough kernel/tools, these long names would be used, pushing
second and subsequent columns far to the right. Now, when a long name
refers to a symlink, and no file systems are specified, df prints the
usually-short referent instead.
tail -f now uses polling (not inotify) when any of its file arguments
resides on a file system of unknown type. In addition, for each such
argument, tail -f prints a warning with the FS type magic number and a
request to report it to the bug-reporting address.
- Bring german message catalog up to date.
- Include upstream fix for du.
- Include upstream patch fixing basename documentation.
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=144
2012-03-09 19:02:35 +01:00
|
|
|
Source4: coreutils-%{version}.de.po.xz
|
2013-04-08 14:07:25 +02:00
|
|
|
|
2011-04-04 16:16:21 +02:00
|
|
|
Patch1: coreutils-remove_hostname_documentation.patch
|
2013-04-08 14:07:25 +02:00
|
|
|
#Patch2: coreutils-gl_printf_safe.patch
|
- Update to 8.16:
- Improvements:
* As a GNU extension, 'chmod', 'mkdir', and 'install' now accept
operators '-', '+', '=' followed by octal modes;
* Also, ordinary numeric modes with five or more digits no longer
preserve setuid and setgid bits, so that 'chmod 00755 FOO' now
clears FOO's setuid and setgid bits.
* dd now accepts the count_bytes, skip_bytes iflags and the
seek_bytes oflag, to more easily allow processing portions of a
file.
* dd now accepts the conv=sparse flag to attempt to create sparse
output, by seeking rather than writing to the output file.
* ln now accepts the --relative option, to generate a relative
symbolic link to a target, irrespective of how the target is
specified.
* split now accepts an optional "from" argument to
--numeric-suffixes, which changes the start number from the
default of 0.
* split now accepts the --additional-suffix option, to append an
additional static suffix to output file names.
* basename now supports the -a and -s options, which allow
processing of more than one argument at a time. Also the
complementary -z option was added to delimit output items with
the NUL character.
* dirname now supports more than one argument. Also the complementary
z option was added to delimit output items with the NUL character.
- Bug fixes
* du --one-file-system (-x) would ignore any non-directory
specified on the command line. For example, "touch f; du -x f"
would print nothing. [bug introduced in coreutils-8.15]
* mv now lets you move a symlink onto a same-inode destination
file that has two or more hard links.
* "mv A B" could succeed, yet A would remain.
* realpath no longer mishandles a root directory.
- Improvements
* ls can be much more efficient, especially with large directories
on file systems for which getfilecon-, ACL-check- and XATTR-
check-induced syscalls fail with ENOTSUP or similar.
* 'realpath --relative-base=dir' in isolation now implies
'--relative-to=dir' instead of causing a usage failure.
* split now supports an unlimited number of split files as default
behavior.
For a detaild list se NEWS in the documentation.
- Add up-to-date german translation.
- Add two upstream patches that speed up ls (bnc#752943):
* Cache (l)getfilecon calls to avoid the vast majority of the failing
underlying getxattr syscalls.
* Avoids always-failing queries for whether a file has a nontrivial
ACL and for whether a file has certain "capabilities".
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=147
2012-04-16 17:12:46 +02:00
|
|
|
Patch4: coreutils-i18n.patch
|
2010-07-19 14:13:47 +02:00
|
|
|
Patch8: coreutils-sysinfo.patch
|
|
|
|
Patch16: coreutils-invalid-ids.patch
|
2010-11-16 14:35:27 +01:00
|
|
|
#
|
2013-04-08 14:07:25 +02:00
|
|
|
#Patch33: coreutils-8.9-singlethreaded-sort.patch
|
|
|
|
|
|
|
|
# OBS / RPMLINT require /usr/bin/timeout to be built with the -fpie option.
|
|
|
|
Patch100: coreutils-build-timeout-as-pie.patch
|
|
|
|
Patch101: coreutils-su.patch
|
2006-12-19 00:15:28 +01:00
|
|
|
|
2013-05-20 22:13:40 +02:00
|
|
|
# Fix gnulib-test failures related to gnulib-tests/nap.h.
|
|
|
|
Patch200: coreutils-gnulib-tests-fix-nap-race.patch
|
|
|
|
|
|
|
|
# Fix gnulib-test failures: increase nap() delay multiplier even
|
|
|
|
# a bit more to avoid failures on OBS.
|
|
|
|
Patch201: coreutils-gnulib-tests-fix-nap-race-obs.patch
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
[ arch base64 basename 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
|
|
|
|
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
|
|
|
|
|
|
|
|
As su(1) and kill(1) have been moved from coreutils to util-linux upstreams,
|
|
|
|
this package provides compatibility symlinks to the old coreutils versions
|
|
|
|
of both programs. This is needed until there's a newer version of the
|
|
|
|
receiving util-linux package available which comes with the new binaries.
|
2006-12-19 00:15:28 +01:00
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2008-02-19 02:19:47 +01:00
|
|
|
%lang_package
|
2006-12-19 00:15:28 +01:00
|
|
|
%prep
|
2012-11-06 13:27:41 +01:00
|
|
|
%setup -q -n coreutils-%{version}
|
2010-07-19 14:13:47 +02:00
|
|
|
%patch4
|
|
|
|
%patch1
|
2013-04-08 14:07:25 +02:00
|
|
|
#%%if 0%%{suse_version} > 1200
|
|
|
|
#%%patch2
|
|
|
|
#%%endif
|
2010-05-05 22:22:09 +02:00
|
|
|
%patch8
|
|
|
|
%patch16
|
2013-04-08 14:07:25 +02:00
|
|
|
#
|
|
|
|
#%%patch33
|
|
|
|
%patch100
|
|
|
|
%patch101
|
2006-12-19 00:15:28 +01:00
|
|
|
|
2013-05-20 22:13:40 +02:00
|
|
|
%patch200
|
|
|
|
%patch201
|
|
|
|
|
- Update to 8.16:
- Improvements:
* As a GNU extension, 'chmod', 'mkdir', and 'install' now accept
operators '-', '+', '=' followed by octal modes;
* Also, ordinary numeric modes with five or more digits no longer
preserve setuid and setgid bits, so that 'chmod 00755 FOO' now
clears FOO's setuid and setgid bits.
* dd now accepts the count_bytes, skip_bytes iflags and the
seek_bytes oflag, to more easily allow processing portions of a
file.
* dd now accepts the conv=sparse flag to attempt to create sparse
output, by seeking rather than writing to the output file.
* ln now accepts the --relative option, to generate a relative
symbolic link to a target, irrespective of how the target is
specified.
* split now accepts an optional "from" argument to
--numeric-suffixes, which changes the start number from the
default of 0.
* split now accepts the --additional-suffix option, to append an
additional static suffix to output file names.
* basename now supports the -a and -s options, which allow
processing of more than one argument at a time. Also the
complementary -z option was added to delimit output items with
the NUL character.
* dirname now supports more than one argument. Also the complementary
z option was added to delimit output items with the NUL character.
- Bug fixes
* du --one-file-system (-x) would ignore any non-directory
specified on the command line. For example, "touch f; du -x f"
would print nothing. [bug introduced in coreutils-8.15]
* mv now lets you move a symlink onto a same-inode destination
file that has two or more hard links.
* "mv A B" could succeed, yet A would remain.
* realpath no longer mishandles a root directory.
- Improvements
* ls can be much more efficient, especially with large directories
on file systems for which getfilecon-, ACL-check- and XATTR-
check-induced syscalls fail with ENOTSUP or similar.
* 'realpath --relative-base=dir' in isolation now implies
'--relative-to=dir' instead of causing a usage failure.
* split now supports an unlimited number of split files as default
behavior.
For a detaild list se NEWS in the documentation.
- Add up-to-date german translation.
- Add two upstream patches that speed up ls (bnc#752943):
* Cache (l)getfilecon calls to avoid the vast majority of the failing
underlying getxattr syscalls.
* Avoids always-failing queries for whether a file has a nontrivial
ACL and for whether a file has certain "capabilities".
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=147
2012-04-16 17:12:46 +02:00
|
|
|
xz -dc %{S:4} >po/de.po
|
2011-04-28 18:07:08 +02:00
|
|
|
|
2013-04-08 14:07:25 +02:00
|
|
|
#???## We need to statically link to gmp, otherwise we have a build loop
|
|
|
|
#???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in
|
2012-11-19 14:39:29 +01:00
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2006-12-19 00:15:28 +01:00
|
|
|
%build
|
2013-01-10 21:37:13 +01: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
|
2013-01-16 20:09:57 +01:00
|
|
|
export CFLAGS="%optflags"
|
2013-04-08 14:07:25 +02:00
|
|
|
%configure --libexecdir=%{_libdir} \
|
|
|
|
--enable-install-program=arch \
|
|
|
|
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
|
|
|
|
2011-01-03 20:39:07 +01:00
|
|
|
make -C po update-po
|
2013-04-08 14:07:25 +02:00
|
|
|
|
|
|
|
# Regenerate manpages
|
|
|
|
touch man/*.x
|
|
|
|
|
|
|
|
make all %{?_smp_mflags} V=1
|
2008-04-12 20:53:18 +02:00
|
|
|
|
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.
|
2013-04-08 14:07:25 +02:00
|
|
|
make check-very-expensive \
|
|
|
|
&& install -d -m 755 %{buildroot}%{_docdir}/%{name} \
|
|
|
|
&& xz -c tests/test-suite.log \
|
|
|
|
> %{buildroot}%{_docdir}/%{name}/test-suite.log.xz
|
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
|
2013-01-16 20:09:57 +01:00
|
|
|
%if "%{name}" == "coreutils"
|
- 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
|
|
|
%makeinstall pkglibexecdir=%{_libdir}/%{name}
|
2013-04-08 14:07:25 +02:00
|
|
|
|
|
|
|
# === TRICKERY - PART 1/3 ===
|
|
|
|
# trickery to make the move of su and kill to util-linux as easy as possible
|
|
|
|
# this all needs to go when util-linux 2.22 has been checked in and
|
|
|
|
# everything has settled. 15.10.2012 pth@suse.de
|
|
|
|
# Install su and kill with a ".core" suffix.
|
|
|
|
|
|
|
|
install -d -m 755 %{buildroot}/etc/pam.d
|
|
|
|
install -m 644 %{S:1} %{buildroot}/etc/pam.d/su.core
|
|
|
|
install -m 644 %{S:1} %{buildroot}/etc/pam.d/su-l.core
|
|
|
|
|
|
|
|
install -d -m 755 %{buildroot}/etc/default
|
|
|
|
install -m 644 %{S:2} %{buildroot}/etc/default/su.core
|
|
|
|
|
|
|
|
install -s -m 755 src/su %{buildroot}%{_bindir}/su.core
|
|
|
|
install -m 644 man/su.1 %{buildroot}%{_mandir}/man1/su.core.1
|
|
|
|
rm -f %{buildroot}%{_mandir}/man1/su.1
|
|
|
|
|
|
|
|
# kill is still part of coreutils, so rename it (stripped).
|
|
|
|
install -s -m 755 %{buildroot}%{_bindir}/kill %{buildroot}%{_bindir}/kill.core
|
|
|
|
rm -f %{buildroot}%{_bindir}/kill
|
|
|
|
mv -v %{buildroot}%{_mandir}/man1/kill.1 %{buildroot}%{_mandir}/man1/kill.core.1
|
|
|
|
|
2012-02-20 11:57:43 +01:00
|
|
|
#UsrMerge
|
2011-02-10 14:37:51 +01:00
|
|
|
install -d %{buildroot}/bin
|
2013-04-08 14:07:25 +02:00
|
|
|
for i in arch basename cat chgrp chmod chown cp date dd df echo \
|
|
|
|
false ln ls mkdir mknod mktemp mv pwd rm rmdir sleep sort stat \
|
|
|
|
stty sync touch true uname readlink md5sum
|
2006-12-19 00:15:28 +01:00
|
|
|
do
|
2013-01-16 20:09:57 +01:00
|
|
|
ln -sf %{_bindir}/$i %{buildroot}/bin/$i
|
2012-02-20 11:57:43 +01:00
|
|
|
done
|
|
|
|
#EndUsrMerge
|
- 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
|
2013-01-10 21:37:13 +01:00
|
|
|
%find_lang coreutils
|
2013-01-16 20:09:57 +01:00
|
|
|
%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
|
2013-04-08 14:07:25 +02:00
|
|
|
%if "%{name}" == "coreutils"
|
2006-12-19 00:15:28 +01:00
|
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/coreutils.info.gz
|
2013-04-08 14:07:25 +02:00
|
|
|
|
2010-11-17 09:33:42 +01:00
|
|
|
# may fail if permissions is not there, but there is no way around that
|
2013-06-06 07:17:31 +02:00
|
|
|
%set_permissions %{_bindir}/su.core
|
2013-04-08 14:07:25 +02:00
|
|
|
%endif
|
|
|
|
|
|
|
|
# ================================================
|
|
|
|
%posttrans
|
|
|
|
%if "%{name}" == "coreutils"
|
|
|
|
# === TRICKERY - PART 2/3 ===
|
|
|
|
# If the files are missing after installation, then create links to the
|
|
|
|
# saved ones (with suffix .core).
|
|
|
|
if [ ! -r %{_bindir}/su -a -e %{_bindir}/su.core ]; then
|
|
|
|
echo "%{_bindir}/su does not exist, setting compat symlink to %{_bindir}/su.core"
|
|
|
|
ln -svf %{_bindir}/su.core %{_bindir}/su
|
|
|
|
ln -svf %{_bindir}/kill.core %{_bindir}/kill
|
|
|
|
ln -svf %{_bindir}/su.core /bin/su
|
|
|
|
ln -svf %{_bindir}/kill.core /bin/kill
|
|
|
|
ln -svf /etc/pam.d/su.core /etc/pam.d/su
|
|
|
|
ln -svf /etc/pam.d/su-l.core /etc/pam.d/su-l
|
|
|
|
ln -svf /etc/default/su.core /etc/default/su
|
|
|
|
# man pages are already zipped at that point.
|
|
|
|
mv -vf %{_mandir}/man1/kill.core.1.gz %{_mandir}/man1/kill.1.gz
|
|
|
|
mv -vf %{_mandir}/man1/su.core.1.gz %{_mandir}/man1/su.1.gz
|
|
|
|
fi
|
|
|
|
%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
|
|
|
%postun
|
2013-04-08 14:07:25 +02:00
|
|
|
%if "%{name}" == "coreutils"
|
2006-12-19 00:15:28 +01:00
|
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/coreutils.info.gz
|
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
|
|
|
# ================================================
|
- 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
|
|
|
%verifyscript
|
2013-04-08 14:07:25 +02:00
|
|
|
%if "%{name}" == "coreutils"
|
|
|
|
%verify_permissions -e %{_bindir}/su.core
|
|
|
|
%endif
|
- 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
|
|
|
|
2013-01-16 20:09:57 +01:00
|
|
|
# ================================================
|
2012-02-20 11:57:43 +01:00
|
|
|
%files
|
2013-01-16 20:09:57 +01:00
|
|
|
%if "%{name}" == "coreutils"
|
|
|
|
|
2006-12-19 00:15:28 +01:00
|
|
|
%defattr(-,root,root)
|
2013-04-08 14:07:25 +02:00
|
|
|
%doc COPYING NEWS README THANKS
|
|
|
|
%attr(4755,root,root) %{_bindir}/su.core
|
2006-12-19 00:15:28 +01:00
|
|
|
%{_bindir}/*
|
2012-02-20 11:57:43 +01:00
|
|
|
#UsrMerge
|
|
|
|
/bin/*
|
|
|
|
#EndUsrMerge
|
2010-07-19 14:13:47 +02:00
|
|
|
%{_libdir}/%{name}
|
2006-12-19 00:15:28 +01:00
|
|
|
%doc %{_infodir}/coreutils.info*.gz
|
|
|
|
%doc %{_mandir}/man1/*.1.gz
|
2013-04-08 14:07:25 +02:00
|
|
|
%dir %{_datadir}/locale/*/LC_TIME
|
|
|
|
# === TRICKERY - PART 3/3 ===
|
|
|
|
%config /etc/default/su.core
|
|
|
|
%config /etc/pam.d/su-l.core
|
|
|
|
%config /etc/pam.d/su.core
|
2006-12-19 00:15:28 +01:00
|
|
|
|
2013-01-10 21:37:13 +01:00
|
|
|
%files lang -f coreutils.lang
|
2008-02-19 02:19:47 +01:00
|
|
|
%defattr(-,root,root)
|
|
|
|
|
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
|