coreutils/coreutils.spec

930 lines
42 KiB
RPMSpec
Raw Normal View History

#
# spec file for package coreutils (Version 6.9.89.48)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: coreutils
BuildRequires: help2man libacl-devel lzma pam-devel
Url: http://www.gnu.org/software/coreutils/
License: GPL v2 or later
Group: System/Base
Provides: fileutils sh-utils stat textutils mktemp
Obsoletes: fileutils sh-utils stat textutils mktemp
Obsoletes: libselinux <= 1.23.11-3 libselinux-32bit >= 9 libselinux-64bit = 9 libselinux-x86 = 9
AutoReqProv: on
PreReq: %{install_info_prereq}
Version: 6.9.89.48
Release: 1
Summary: GNU Core Utilities
%define treeish 96961
Source: coreutils-%{version}-%treeish.tar.lzma
Source1: su.pamd
Source2: su.default
Patch: coreutils-%{version}.diff
Patch1: coreutils-xattr.diff
Patch30: coreutils-changelog.diff
Patch4: coreutils-5.3.0-i18n-0.1.patch
Patch5: i18n-uninit.diff
Patch6: i18n-infloop.diff
Patch8: coreutils-sysinfo.diff
Patch11: i18n-monthsort.diff
Patch12: i18n-random.diff
Patch16: invalid-ids.diff
Patch20: coreutils-6.8-su.diff
Patch21: coreutils-6.8.0-pie.diff
Patch22: coreutils-5.3.0-sbin4su.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Basic file, shell, and text manipulation utilities. The package
contains the following programs:
[ base64 basename cat 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 id install join kill link ln logname ls md5sum
mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
printf ptx pwd readlink rm rmdir seq sha1sum sha224sum sha256sum
sha384sum sha512sum shred shuf sleep sort split stat stty su sum sux
sync tac tail tee test touch tr true tsort tty uname unexpand uniq
unlink uptime users vdir wc who whoami yes
Authors:
--------
Arnold Robbins <arnold@audiofax.com>
Colin Plumb <colin@nyx.net>
David M. Ihnat
David MacKenzie <djm@gnu.org>
Fran<EFBFBD>ois Pinard <pinard@iro.umontreal.ca>
H. Peter Anvin <hpa@transmeta.com>
Ian Lance Taylor <ian@airs.com>
Jay Lepreau <lepreau@cs.utah.edu>
Jim Kingdon
Jim Meyering <jim@meyering.net>
Joseph Arceneaux
Kaveh Ghazi
Kayvan Aghaiepour
Larry McVoy <lm@sgi.com>
Mark Kettenis <kettenis@phys.uva.nl>
Michael Meskes
Michael Stone <mstone@debian.org>
Mike Haertel
Mike Parker
Paul Eggert <eggert@twinsun.com>
Paul Rubin <phr@ocf.berkeley.edu>
Pete TerMaat
Randy Smith
Richard M. Stallman <rms@gnu.org>
Richard Mlynarik
Roland Huebner <ro-huebner@gmx.de>
Roland McGrath <roland@redhat.com>
Ross Paterson <rap@doc.ic.ac.uk>
Scott Bartram
Scott Miller
Stuart Kemp <skemp@peter.bmc.com>
Torbjorn Granlund <tege@nada.kth.se>
Ulrich Drepper <drepper@redhat.com>
%prep
%setup -q -n %name-%version-%treeish
%patch1 -p1
%patch4 -p1
%patch5
%patch6
%patch
%patch8 -p1
%patch11
%patch12
%patch16 -p1
%patch20
%patch21
%patch22
%build
AUTOPOINT=true autoreconf -fi
gl_cv_func_printf_directive_n=yes \
./configure CFLAGS="$RPM_OPT_FLAGS -Wall" \
--prefix=%{_prefix} --mandir=%{_mandir} \
--infodir=%{_infodir} --without-included-regex \
--enable-install-program=arch,su \
--enable-no-install-program=hostid \
DEFAULT_POSIX2_VERSION=199209
make %{?jobs:-j%jobs} PAMLIBS="-lpam -ldl"
if test $EUID -eq 0; then
su nobody -c make check
make check-root VERBOSE=yes
else
%ifarch %arm
make -k check VERBOSE=yes || echo make check failed
%else
make check VERBOSE=yes
%endif
fi
%install
make DESTDIR="$RPM_BUILD_ROOT" install
test -f $RPM_BUILD_ROOT%{_bindir}/su || \
install src/su $RPM_BUILD_ROOT%{_bindir}/su
install -d $RPM_BUILD_ROOT/bin
for i in arch basename cat chgrp chmod chown cp date dd df echo false kill ln ls mkdir mknod mktemp mv pwd rm rmdir sleep sort stty su sync touch true uname
do
mv $RPM_BUILD_ROOT%{_bindir}/$i $RPM_BUILD_ROOT/bin/$i
test $i = su && echo -n '%%attr(4755,root,root) '
echo /bin/$i
done > bin.files
ln -sf ../../bin/basename ../../bin/sort ../../bin/touch $RPM_BUILD_ROOT%{_bindir}
install -d -m 755 $RPM_BUILD_ROOT/etc/pam.d
install -m 644 $RPM_SOURCE_DIR/su.pamd $RPM_BUILD_ROOT/etc/pam.d/su
install -m 644 $RPM_SOURCE_DIR/su.pamd $RPM_BUILD_ROOT/etc/pam.d/su-l
install -d -m 755 $RPM_BUILD_ROOT/etc/default
install -m 644 $RPM_SOURCE_DIR/su.default $RPM_BUILD_ROOT/etc/default/su
ln -sf /bin/su $RPM_BUILD_ROOT%{_bindir}/sux
%find_lang %name
cat bin.files %name.lang > extra-files
%post
%install_info --info-dir=%{_infodir} %{_infodir}/coreutils.info.gz
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/coreutils.info.gz
%clean
rm -rf $RPM_BUILD_ROOT
%files -f extra-files
%defattr(-,root,root)
%doc README NEWS
%config /etc/pam.d/su
%config /etc/pam.d/su-l
%config(noreplace) /etc/default/su
%{_bindir}/*
%doc %{_infodir}/coreutils.info*.gz
%doc %{_mandir}/man1/*.1.gz
%dir %{_prefix}/share/locale/*/LC_TIME
%changelog
* Thu Nov 29 2007 - schwab@suse.de
- Update to coreutils-6.9.89.48 snapshot.
** New programs
arch: equivalent to uname -m, not installed by default
But don't install this program on Solaris systems.
mktemp: create a temporary file or directory (or names)
** Programs no longer installed by default
hostname, su
** Changes in behavior
cp, by default, refuses to copy through a dangling destination symlink
Set POSIXLY_CORRECT if you require the old, risk-prone behavior.
pr -F no longer suppresses the footer or the first two blank lines in
the header. This is for compatibility with BSD and POSIX.
tr now warns about an unescaped backslash at end of string.
The tr from coreutils-5.2.1 and earlier would fail for such usage,
and Solaris' tr ignores that final byte.
** New features
Add SELinux support (FIXME: add details here)
cp -p tries to preserve the GID of a file even if preserving the UID
is not possible.
uniq accepts a new option: --zero-terminated (-z). As with the sort
option of the same name, this makes uniq consume and produce
NUL-terminated lines rather than newline-terminated lines.
wc no longer warns about character decoding errors in multibyte locales.
This means for example that "wc /bin/sh" now produces normal output
(though the word count will have no real meaning) rather than many
error messages.
** New build options
By default, "make install" no longer attempts to install (or even build) su.
To change that, use ./configure --enable-install-program=su.
If you also want to install the new "arch" program, do this:
./configure --enable-install-program=arch,su.
You can inhibit the compilation and installation of selected programs
at configure time. For example, to avoid installing "hostname" and
"uptime", use ./configure --enable-no-install-program=hostname,uptime
Note: currently, "make check" passes, even when arch and su are not
built (that's the new default). However, if you inhibit the building
and installation of other programs, don't be surprised if some parts
of "make check" fail.
** Remove deprecated options
df no longer accepts the --kilobytes option.
du no longer accepts the --kilobytes or --megabytes options.
ls no longer accepts the --kilobytes option.
ptx longer accepts the --copyright option.
who no longer accepts -i or --idle.
** Improved robustness
ln -f can no longer silently clobber a just-created hard link.
In some cases, ln could be seen as being responsible for data loss.
For example, given directories a, b, c, and files a/f and b/f, we
should be able to do this safely: ln -f a/f b/f c && rm -f a/f b/f
However, before this change, ln would succeed, and thus cause the
loss of the contents of a/f.
stty no longer silently accepts certain invalid hex values
in its 35-colon commmand-line argument
** Bug fixes
chmod no longer ignores a dangling symlink. Now, chmod fails
with a diagnostic saying that it cannot operate on such a file.
[bug introduced in coreutils-5.1.0]
cp attempts to read a regular file, even if stat says it is empty.
Before, "cp /proc/cpuinfo c" would create an empty file when the kernel
reports stat.st_size == 0, while "cat /proc/cpuinfo > c" would "work",
and create a nonempty one. [bug introduced in coreutils-6.0]
cp no longer fails to write through a dangling symlink
[bug introduced in coreutils-6.7]. cp --parents no
longer mishandles symlinks to directories in file name
components in the source, e.g., "cp --parents symlink/a/b
d" no longer fails. Also, 'cp' no longer considers a
destination symlink to be the same as the referenced file when
copying links or making backups. For example, if SYM is a symlink
to FILE, "cp -l FILE SYM" now reports an error instead of silently
doing nothing. The behavior of 'cp' is now better documented when
the destination is a symlink.
"cp -i --update older newer" no longer prompts; same for mv
"cp -i" now detects read errors on standard input, and no longer consumes
too much seekable input; same for ln, install, mv, and rm.
cut now diagnoses a range starting with zero (e.g., -f 0-2) as invalid;
before, it would treat it as if it started with 1 (-f 1-2).
"cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-"
cut now diagnoses the '-' in "cut -f -" as an invalid range, rather
than interpreting it as the unlimited range, "1-".
date -d now accepts strings of the form e.g., 'YYYYMMDD +N days',
in addition to the usual 'YYYYMMDD N days'.
du -s now includes the size of any stat'able-but-inaccessible directory
in the total size.
du (without -s) prints whatever it knows of the size of an inaccessible
directory. Before, du would print nothing for such a directory.
ls -x DIR would sometimes output the wrong string in place of the
first entry. [introduced in coreutils-6.8]
ls --color would mistakenly color a dangling symlink as if it were
a regular symlink. This would happen only when the dangling symlink
was not a command-line argument and in a directory with d_type support.
[introduced in coreutils-6.0]
ls --color, (with a custom LS_COLORS envvar value including the
ln=target attribute) would mistakenly output the string "target"
before the name of each symlink. [introduced in coreutils-6.0]
od's --skip (-j) option now works even when the kernel says that a
nonempty regular file has stat.st_size = 0. This happens at least
with files in /proc and linux-2.6.22.
"od -j L FILE" had a bug: when the number of bytes to skip, L, is exactly
the same as the length of FILE, od would skip *no* bytes. When the number
of bytes to skip is exactly the sum of the lengths of the first N files,
od would skip only the first N-1 files. [introduced in textutils-2.0.9]
./printf %%.10000000f 1 could get an internal ENOMEM error and generate
no output, yet erroneously exit with status 0. Now it diagnoses the error
and exits with nonzero status. [present in initial implementation]
seq no longer mishandles obvious cases like "seq 0 0.000001 0.000003",
so workarounds like "seq 0 0.000001 0.0000031" are no longer needed.
seq would mistakenly reject some valid format strings containing %%,
and would mistakenly accept some invalid ones. e.g., %%g%% and %%g, resp.
"seq .1 .1" would mistakenly generate no output on some systems
Obsolete sort usage with an invalid ordering-option character, e.g.,
"env _POSIX2_VERSION=199209 sort +1x" no longer makes sort free an
invalid pointer [introduced in coreutils-6.5]
sorting very long lines (relative to the amount of available memory)
no longer provokes unaligned memory access
split --line-bytes=N (-C N) no longer creates an empty file
[this bug is present at least as far back as textutils-1.22 (Jan, 1997)]
tr -c no longer aborts when translating with Set2 larger than the
complement of Set1. [present in the original version, in 1992]
tr no longer rejects an unmatched [:lower:] or [:upper:] in SET1.
[present in the original version]
* Mon Jul 23 2007 - schwab@suse.de
- Fix random sort.
- Fix invalid free.
- Fix misalignment.
* Sun May 20 2007 - schwab@suse.de
- Fix compiling with glibc 2.6.
* Sun May 20 2007 - schwab@suse.de
- Fix fchownat test.
* Mon Apr 02 2007 - schwab@suse.de
- Fix ls -x.
* Fri Mar 23 2007 - schwab@suse.de
- Update to coreutils 6.9.
** Bug fixes
cp -x (--one-file-system) would fail to set mount point permissions
The default block size and output format for df -P are now unaffected by
the DF_BLOCK_SIZE, BLOCK_SIZE, and BLOCKSIZE environment variables. It
is still affected by POSIXLY_CORRECT, though.
Using pr -m -s (i.e. merging files, with TAB as the output separator)
no longer inserts extraneous spaces between output columns.
* Wed Mar 14 2007 - lnussel@suse.de
- su: actually use /etc/pam.d/su-l when running su - (#254428)
* Mon Mar 05 2007 - lnussel@suse.de
- su: don't chdir("/") before fork() (#251287)
* Fri Mar 02 2007 - lnussel@suse.de
- split off and rework PAM patch for su:
* run pam_open_session as root (#245706)
* use separate pam configs for "su" and "su -" (RedHat #198639)
* detect pam libs in configure script, add option to disable it
* don't set argv[0] to "-su", use upstream behavior instead
* don't use getlogin() for setting PAM_RUSER
* Sun Feb 25 2007 - schwab@suse.de
- Update to coreutils 6.8.
** Bug fixes
chgrp, chmod, and chown now honor the --preserve-root option.
Before, they would warn, yet continuing traversing and operating on /.
chmod no longer fails in an environment (e.g., a chroot) with openat
support but with insufficient /proc support.
"cp --parents F/G D" no longer creates a directory D/F when F is not
a directory (and F/G is therefore invalid).
"cp --preserve=mode" would create directories that briefly had
too-generous permissions in some cases. For example, when copying a
directory with permissions 777 the destination directory might
temporarily be setgid on some file systems, which would allow other
users to create subfiles with the same group as the directory. Fix
similar problems with 'install' and 'mv'.
cut no longer dumps core for usage like "cut -f2- f1 f2" with two or
more file arguments. This was due to a double-free bug, introduced
in coreutils-5.3.0.
dd bs= operands now silently override any later ibs= and obs=
operands, as POSIX and tradition require.
"ls -FRL" always follows symbolic links on Linux. Introduced in
coreutils-6.0.
A cross-partition "mv /etc/passwd ~" (by non-root) now prints
a reasonable diagnostic. Before, it would print this:
"mv: cannot remove `/etc/passwd': Not a directory".
pwd and "readlink -e ." no longer fail unnecessarily when a parent
directory is unreadable.
"rm -rf /etc/passwd" (run by non-root) now prints a diagnostic.
Before it would print nothing.
"rm --interactive=never F" no longer prompts for an unwritable F
** New features
sort's new --compress-program=PROG option specifies a compression
program to use when writing and reading temporary files.
This can help save both time and disk space when sorting large inputs.
** New features
sort accepts the new option -C, which acts like -c except no diagnostic
is printed. Its --check option now accepts an optional argument, and
--check=quiet and --check=silent are now aliases for -C, while
--check=diagnose-first is an alias for -c or plain --check.
* Tue Jan 09 2007 - schwab@suse.de
- Fix localized month sorting [#231790].
* Wed Dec 13 2006 - schwab@suse.de
- Fix acl tests.
* Sat Dec 09 2006 - schwab@suse.de
- Update to coreutils 6.7.
** Bug fixes
When cp -p copied a file with special mode bits set, the same bits
were set on the copy even when ownership could not be preserved.
This could result in files that were setuid to the wrong user.
To fix this, special mode bits are now set in the copy only if its
ownership is successfully preserved. Similar problems were fixed
with mv when copying across file system boundaries. This problem
affects all versions of coreutils through 6.6.
cp --preserve=ownership would create output files that temporarily
had too-generous permissions in some cases. For example, when
copying a file with group A and mode 644 into a group-B sticky
directory, the output file was briefly readable by group B.
Fix similar problems with cp options like -p that imply
--preserve=ownership, with install -d when combined with either -o
or -g, and with mv when copying across file system boundaries.
This bug affects coreutils 6.0 through 6.6.
du --one-file-system (-x) would skip subdirectories of any directory
listed as second or subsequent command line argument. This bug affects
coreutils-6.4, 6.5 and 6.6.
* Wed Nov 22 2006 - schwab@suse.de
- Update to coreutils 6.6.
** Bug fixes
ls would segfault (dereference a NULL pointer) for a file with a
nameless group or owner. This bug was introduced in coreutils-6.5.
A bug in the latest official m4/gettext.m4 (from gettext-0.15)
made configure fail to detect gettext support, due to the unusual
way in which coreutils uses AM_GNU_GETTEXT.
** Improved robustness
Now, du (and the other fts clients: chmod, chgrp, chown) honor a
trailing slash in the name of a symlink-to-directory even on
Solaris 9, by working around its buggy fstatat implementation.
* Mon Nov 20 2006 - schwab@suse.de
- Update to coreutils 6.5.
** Bug fixes
du (and the other fts clients: chmod, chgrp, chown) would exit early
when encountering an inaccessible directory on a system with native
openat support (i.e., linux-2.6.16 or newer along with glibc-2.4
or newer). This bug was introduced with the switch to gnulib's
openat-based variant of fts, for coreutils-6.0.
"ln --backup f f" now produces a sensible diagnostic
** New features
rm accepts a new option: --one-file-system
* Mon Oct 23 2006 - schwab@suse.de
- Update to coreutils 6.4.
** Bug fixes
chgrp and chown would malfunction when invoked with both -R and -H and
with one or more of the following: --preserve-root, --verbose, --changes,
--from=o:g (chown only). This bug was introduced with the switch to
gnulib's openat-based variant of fts, for coreutils-6.0.
cp --backup dir1 dir2, would rename an existing dir2/dir1 to dir2/dir1~.
This bug was introduced in coreutils-6.0.
With --force (-f), rm no longer fails for ENOTDIR.
For example, "rm -f existing-non-directory/anything" now exits
successfully, ignoring the error about a nonexistent file.
* Mon Oct 09 2006 - schwab@suse.de
- Update to coreutils 6.3.
** Improved robustness
pinky no longer segfaults on Darwin 7.9.0 (MacOS X 10.3.9) due to a
buggy native getaddrinfo function.
rm works around a bug in Darwin 7.9.0 (MacOS X 10.3.9) that would
sometimes keep it from removing all entries in a directory on an HFS+
or NFS-mounted partition.
sort would fail to handle very large input (around 40GB) on systems with a
mkstemp function that returns a file descriptor limited to 32-bit offsets.
** Bug fixes
chmod would fail unnecessarily in an unusual case: when an initially-
inaccessible argument is rendered accessible by chmod's action on a
preceding command line argument. This bug also affects chgrp, but
it is harder to demonstrate. It does not affect chown. The bug was
introduced with the switch from explicit recursion to the use of fts
in coreutils-5.1.0 (2003-10-15).
cp -i and mv -i occasionally neglected to prompt when the copy or move
action was bound to fail. This bug dates back to before fileutils-4.0.
With --verbose (-v), cp and mv would sometimes generate no output,
or neglect to report file removal.
For the "groups" command:
"groups" no longer prefixes the output with "user :" unless more
than one user is specified; this is for compatibility with BSD.
"groups user" now exits nonzero when it gets a write error.
"groups" now processes options like --help more compatibly.
shuf would infloop, given 8KB or more of piped input
** Portability
Versions of chmod, chown, chgrp, du, and rm (tools that use openat etc.)
compiled for Solaris 8 now also work when run on Solaris 10.
* Thu Oct 05 2006 - agruen@suse.de
- cp: Replace the old --attributes=regex option with
--preserve=xattrs. Only copy extended attributes if this
option is given. Use libattr's new copy_attr_action() function
to check which attributes to copy in /etc/xattr.conf.
* Tue Sep 19 2006 - schwab@suse.de
- Disable broken autopoint.
* Mon Sep 18 2006 - schwab@suse.de
- Update to coreutils 6.2.
** Changes in behavior
mkdir -p and install -d (or -D) now use a method that forks a child
process if the working directory is unreadable and a later argument
uses a relative file name. This avoids some race conditions, but it
means you may need to kill two processes to stop these programs.
rm now rejects attempts to remove the root directory, e.g., `rm -fr /'
now fails without removing anything. Likewise for any file name with
a final `./' or `../' component.
tail now ignores the -f option if POSIXLY_CORRECT is set, no file
operand is given, and standard input is any FIFO; formerly it did
this only for pipes.
** Infrastructure changes
Coreutils now uses gnulib via the gnulib-tool script.
If you check the source out from CVS, then follow the instructions
in README-cvs. Although this represents a large change to the
infrastructure, it should cause no change in how the tools work.
** Bug fixes
cp --backup no longer fails when the last component of a source file
name is "." or "..".
"ls --color" would highlight other-writable and sticky directories
no differently than regular directories on a file system with
dirent.d_type support.
"mv -T --verbose --backup=t A B" now prints the " (backup: B.~1~)"
suffix when A and B are directories as well as when they are not.
mv and "cp -r" no longer fail when invoked with two arguments
where the first one names a directory and the second name ends in
a slash and doesn't exist. E.g., "mv dir B/", for nonexistent B,
now succeeds, once more. This bug was introduced in coreutils-5.3.0.
* Fri Sep 01 2006 - schwab@suse.de
- Fix sbin patch [#202632].
* Mon Aug 21 2006 - schwab@suse.de
- Update to coreutils 6.1.
** Changes in behavior
df now considers BSD "kernfs" file systems to be dummies
** Bug fixes
cp --sparse preserves sparseness at the end of a file, even when
the file's apparent size is not a multiple of its block size.
[introduced with the original design, in fileutils-4.0r, 2000-04-29]
df (with a command line argument) once again prints its header
[introduced in coreutils-6.0]
ls -CF would misalign columns in some cases involving non-stat'able files
[introduced in coreutils-6.0]
* Tue Aug 15 2006 - schwab@suse.de
- Update to coreutils 6.0.
** Improved robustness
df: if the file system claims to have more available than total blocks,
report the number of used blocks as being "total - available"
(a negative number) rather than as garbage.
dircolors: a new autoconf run-test for AIX's buggy strndup function
prevents malfunction on that system; may also affect cut, expand,
and unexpand.
fts no longer changes the current working directory, so its clients
(chmod, chown, chgrp, du) no longer malfunction under extreme conditions.
pwd and other programs using lib/getcwd.c work even on file systems
where dirent.d_ino values are inconsistent with those from stat.st_ino.
rm's core is now reentrant: rm --recursive (-r) now processes
hierarchies without changing the working directory at all.
** Changes in behavior
basename and dirname now treat // as different from / on platforms
where the two are distinct.
chmod, install, and mkdir now preserve a directory's set-user-ID and
set-group-ID bits unless you explicitly request otherwise. E.g.,
`chmod 755 DIR' and `chmod u=rwx,go=rx DIR' now preserve DIR's
set-user-ID and set-group-ID bits instead of clearing them, and
similarly for `mkdir -m 755 DIR' and `mkdir -m u=rwx,go=rx DIR'. To
clear the bits, mention them explicitly in a symbolic mode, e.g.,
`mkdir -m u=rwx,go=rx,-s DIR'. To set them, mention them explicitly
in either a symbolic or a numeric mode, e.g., `mkdir -m 2755 DIR',
`mkdir -m u=rwx,go=rx,g+s' DIR. This change is for convenience on
systems where these bits inherit from parents. Unfortunately other
operating systems are not consistent here, and portable scripts
cannot assume the bits are set, cleared, or preserved, even when the
bits are explicitly mentioned. For example, OpenBSD 3.9 `mkdir -m
777 D' preserves D's setgid bit but `chmod 777 D' clears it.
Conversely, Solaris 10 `mkdir -m 777 D', `mkdir -m g-s D', and
`chmod 0777 D' all preserve D's setgid bit, and you must use
something like `chmod g-s D' to clear it.
`cp --link --no-dereference' now works also on systems where the
link system call cannot create a hard link to a symbolic link.
This change has no effect on systems with a Linux-based kernel.
csplit and nl now use POSIX syntax for regular expressions, not
Emacs syntax. As a result, character classes like [[:print:]] and
interval expressions like A\{1,9\} now have their usual meaning,
. no longer matches the null character, and \ must precede the + and
? operators.
date: a command like date -d '2006-04-23 21 days ago' would print
the wrong date in some time zones. (see the test for an example)
df now considers "none" and "proc" file systems to be dummies and
therefore does not normally display them. Also, inaccessible file
systems (which can be caused by shadowed mount points or by chrooted
bind mounts) are now dummies, too.
expr no longer complains about leading ^ in a regular expression
(the anchor is ignored), or about regular expressions like A** (the
second "*" is ignored). expr now exits with status 2 (not 3) for
errors it detects in the expression's values; exit status 3 is now
used only for internal errors (such as integer overflow, which expr
now checks for).
install and mkdir now implement the X permission symbol correctly,
e.g., `mkdir -m a+X dir'; previously the X was ignored.
install now creates parent directories with mode u=rwx,go=rx (755)
instead of using the mode specified by the -m option; and it does
not change the owner or group of parent directories. This is for
compatibility with BSD and closes some race conditions.
ln now uses different (and we hope clearer) diagnostics when it fails.
ln -v now acts more like FreeBSD, so it generates output only when
successful and the output is easier to parse.
ls now defaults to --time-style='locale', not --time-style='posix-long-iso'.
However, the 'locale' time style now behaves like 'posix-long-iso'
if your locale settings appear to be messed up. This change
attempts to have the default be the best of both worlds.
mkfifo and mknod no longer set special mode bits (setuid, setgid,
and sticky) with the -m option.
nohup's usual diagnostic now more precisely specifies the I/O
redirections, e.g., "ignoring input and appending output to
nohup.out". Also, nohup now redirects stderr to nohup.out (or
$HOME/nohup.out) if stdout is closed and stderr is a tty; this is in
response to Open Group XCU ERN 71.
rm --interactive now takes an optional argument, although the
default of using no argument still acts like -i.
rm no longer fails to remove an empty, unreadable directory
seq changes:
seq defaults to a minimal fixed point format that does not lose
information if seq's operands are all fixed point decimal numbers.
You no longer need the `-f%%.f' in `seq -f%%.f 1048575 1024 1050623',
for example, since the default format now has the same effect.
seq now lets you use %%a, %%A, %%E, %%F, and %%G formats.
seq now uses long double internally rather than double.
sort now reports incompatible options (e.g., -i and -n) rather than
silently ignoring one of them.
stat's --format=FMT option now works the way it did before 5.3.0:
FMT is automatically newline terminated. The first stable release
containing this change was 5.92.
stat accepts the new option --printf=FMT, where FMT is *not*
automatically newline terminated.
stat: backslash escapes are interpreted in a format string specified
via --printf=FMT, but not one specified via --format=FMT. That includes
octal (\ooo, at most three octal digits), hexadecimal (\xhh, one or
two hex digits), and the standard sequences (\a, \b, \f, \n, \r, \t,
\v, \", \\).
With no operand, 'tail -f' now silently ignores the '-f' only if
standard input is a FIFO or pipe and POSIXLY_CORRECT is set.
Formerly, it ignored the '-f' when standard input was a FIFO, pipe,
or socket.
** Scheduled for removal
ptx's --copyright (-C) option is scheduled for removal in 2007, and
now evokes a warning. Use --version instead.
rm's --directory (-d) option is scheduled for removal in 2006. This
option has been silently ignored since coreutils 5.0. On systems
that support unlinking of directories, you can use the "unlink"
command to unlink a directory.
Similarly, we are considering the removal of ln's --directory (-d,
-F) option in 2006. Please write to <bug-coreutils@gnu.org> if this
would cause a problem for you. On systems that support hard links
to directories, you can use the "link" command to create one.
** New programs
base64: base64 encoding and decoding (RFC 3548) functionality.
sha224sum: print or check a SHA224 (224-bit) checksum
sha256sum: print or check a SHA256 (256-bit) checksum
sha384sum: print or check a SHA384 (384-bit) checksum
sha512sum: print or check a SHA512 (512-bit) checksum
shuf: Shuffle lines of text.
** New features
chgrp now supports --preserve-root, --no-preserve-root (default),
as it was documented to do, and just as chmod, chown, and rm do.
New dd iflag= and oflag= flags:
'directory' causes dd to fail unless the file is a directory, on
hosts that support this (e.g., Linux kernels, version 2.1.126 and
later). This has limited utility but is present for completeness.
'noatime' causes dd to read a file without updating its access
time, on hosts that support this (e.g., Linux kernels, version
2.6.8 and later).
'nolinks' causes dd to fail if the file has multiple hard links,
on hosts that support this (e.g., Solaris 10 and later).
ls accepts the new option --group-directories-first, to make it
list directories before files.
rm now accepts the -I (--interactive=once) option. This new option
prompts once if rm is invoked recursively or if more than three
files are being deleted, which is less intrusive than -i prompting
for every file, but provides almost the same level of protection
against mistakes.
shred and sort now accept the --random-source option.
sort now accepts the --random-sort (-R) option and `R' ordering option.
sort now supports obsolete usages like "sort +1 -2" unless
POSIXLY_CORRECT is set. However, when conforming to POSIX
1003.1-2001 "sort +1" still sorts the file named "+1".
wc accepts a new option --files0-from=FILE, where FILE contains a
list of NUL-terminated file names.
** Bug fixes
cat with any of the options, -A -v -e -E -T, when applied to a
file in /proc or /sys (linux-specific), would truncate its output,
usually printing nothing.
cp -p would fail in a /proc-less chroot, on some systems
When `cp -RL' encounters the same directory more than once in the
hierarchy beneath a single command-line argument, it no longer confuses
them with hard-linked directories.
fts-using tools (chmod, chown, chgrp, du) no longer fail due to
a double-free bug -- it could be triggered by making a directory
inaccessible while e.g., du is traversing the hierarchy under it.
fts-using tools (chmod, chown, chgrp, du) no longer misinterpret
a very long symlink chain as a dangling symlink. Before, such a
misinterpretation would cause these tools not to diagnose an ELOOP error.
ls --indicator-style=file-type would sometimes stat a symlink
unnecessarily.
ls --file-type worked like --indicator-style=slash (-p),
rather than like --indicator-style=file-type.
mv: moving a symlink into the place of an existing non-directory is
now done atomically; before, mv would first unlink the destination.
mv -T DIR EMPTY_DIR no longer fails unconditionally. Also, mv can
now remove an empty destination directory: mkdir -p a b/a; mv a b
rm (on systems with openat) can no longer exit before processing
all command-line arguments.
rm is no longer susceptible to a few low-probability memory leaks.
rm -r no longer fails to remove an inaccessible and empty directory
rm -r's cycle detection code can no longer be tricked into reporting
a false positive (introduced in fileutils-4.1.9).
shred --remove FILE no longer segfaults on Gentoo systems
sort would fail for large inputs (~50MB) on systems with a buggy
mkstemp function. sort and tac now use the replacement mkstemp
function, and hence are no longer subject to limitations (of 26 or 32,
on the maximum number of files from a given template) on HP-UX 10.20,
SunOS 4.1.4, Solaris 2.5.1 and OSF1/Tru64 V4.0F&V5.1.
tail -f once again works on a file with the append-only
attribute (affects at least Linux ext2, ext3, xfs file systems)
* Tue Aug 08 2006 - schwab@suse.de
- Move sux to %%{_bindir}.
* Mon Jun 26 2006 - schwab@suse.de
- Update to coreutils 5.97.
** Bug fixes
rebuild with better autoconf test for when the lstat replacement
function is needed -- required for Solaris 9
cat with any of the options, -A -v -e -E -T, when applied to a
file in /proc or /sys (linux-specific), would truncate its output,
usually printing nothing.
** Improved robustness
dircolors: a new autoconf run-test for AIX's buggy strndup function
prevents malfunction on that system; may also affect cut, expand,
and unexpand.
** New features
chgrp now supports --preserve-root, --no-preserve-root (default),
as it was documented to do, and just as chmod, chown, and rm do.
* Thu Jun 22 2006 - schwab@suse.de
- Fix conflict with <fcntl.h>.
* Mon May 22 2006 - schwab@suse.de
- Update to coreutils 5.96.
* Sat May 13 2006 - schwab@suse.de
- Update to coreutils 5.95.
* Fri Apr 07 2006 - cthiel@suse.de
- added Obsoletes: libselinux (hack for bug #156519)
* Mon Feb 13 2006 - schwab@suse.de
- Fix spurious failure with cp -LR.
- Move check for /proc.
* Mon Jan 30 2006 - schwab@suse.de
- Always print newline after format in stat [#145905].
- Barf if /proc is not mounted.
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Thu Jan 19 2006 - meissner@suse.de
- Do not strip /bin/su.
* Wed Jan 11 2006 - schwab@suse.de
- Fix infloop when ignoring characters [#141756].
* Mon Dec 19 2005 - kukuk@suse.de
- Add fallback if futimesat does not work
* Mon Dec 05 2005 - ke@suse.de
- Fix typo in German translation file; reported by Olaf Hering
[#105863].
* Mon Dec 05 2005 - schwab@suse.de
- Drop SELinux support.
* Tue Nov 15 2005 - uli@suse.de
- some tests fail on ARM (QEMU problem?); ignore for now
* Sun Nov 06 2005 - schwab@suse.de
- Update to coreutils 5.93.
* Wed Nov 02 2005 - schwab@suse.de
- Update to coreutils 5.92.
- Fix invalid use of va_list.
- Add some fixes from cvs.
* Thu Oct 20 2005 - schwab@suse.de
- Reenable DEFAULT_POSIX2_VERSION.
* Wed Oct 19 2005 - agruen@suse.de
- Add acl and xattr patches.
* Mon Oct 17 2005 - schwab@suse.de
- Update to coreutils 5.91.
* Sat Oct 01 2005 - schwab@suse.de
- Update to coreutils 5.90.
- Disable acl patches for now.
* Sun Sep 25 2005 - schwab@suse.de
- Fix warning.
* Wed Aug 24 2005 - werner@suse.de
- Let `su' handle /sbin and /usr/sbin in path
* Mon Aug 01 2005 - kukuk@suse.de
- And yet another uninitialized variable fix.
* Fri Jul 29 2005 - schwab@suse.de
- Fix another uninitialized variable.
* Wed Jul 06 2005 - schwab@suse.de
- Fix uninitialized variable.
* Mon Jul 04 2005 - schwab@suse.de
- Update i18n patch.
* Mon Jun 20 2005 - schwab@suse.de
- Fix last change.
* Wed Jun 15 2005 - kukuk@suse.de
- Compile/link su with -fpie/-pie
* Sat May 21 2005 - kukuk@suse.de
- Add support for /etc/default/su
* Mon May 02 2005 - kukuk@suse.de
- Don't overwrite PATH if su is called with "-" option.
* Wed Mar 02 2005 - schwab@suse.de
- Fix merge error [#67103].
* Mon Feb 28 2005 - schwab@suse.de
- Call pam_getenvlist before pam_end.
* Mon Feb 28 2005 - schwab@suse.de
- Link su to sux [#66830].
* Wed Feb 02 2005 - schwab@suse.de
- Handle xfs and jfs in stat [#50415].
* Wed Feb 02 2005 - schwab@suse.de
- Handle subfs like autofs.
* Tue Jan 25 2005 - schwab@suse.de
- Fix path_concat.
* Thu Jan 20 2005 - schwab@suse.de
- Use pam_xauth [#42238].
* Fri Jan 14 2005 - schwab@suse.de
- Fix merge error [#49853].
* Tue Jan 11 2005 - schwab@suse.de
- Update to coreutils 5.3.0.
* Mon Nov 08 2004 - kukuk@suse.de
- Use common-* PAM config files for su PAM configuration
* Mon Oct 25 2004 - schwab@suse.de
- Fix last change.
- Fix selinux patch.
* Wed Oct 20 2004 - ro@suse.de
- remove no language support (nb is already there)
* Sat Oct 02 2004 - agruen@suse.de
- #46609: Fix chown and chgrp utilities for uid == (uid_t) -1 and
gid == (gid_t) -1 case.
- Add missing #include to have NULL defined in lib/acl.c
* Fri Sep 10 2004 - schwab@suse.de
- Fix uninitialized variable [#44929].
- Fix selinux patch.
* Wed Aug 25 2004 - schwab@suse.de
- Fix hardlink accounting patch.
* Mon May 24 2004 - schwab@suse.de
- Update testsuite for change in chown.
* Mon May 24 2004 - schwab@suse.de
- Precompute length in caller of ismbblank to avoid quadratic behaviour
[#40741].
* Mon May 17 2004 - schwab@suse.de
- Fix handling of symlinks in chown [#40691].
* Sat Apr 17 2004 - schwab@suse.de
- Pacify autobuild.
* Fri Apr 02 2004 - schwab@suse.de
- Add support for IUTF8 in stty.
* Tue Mar 30 2004 - schwab@suse.de
- Fix merge error in selinux patch [#37431].
* Mon Mar 29 2004 - schwab@suse.de
- Fix hardlink accounting in du.
* Mon Mar 22 2004 - schwab@suse.de
- Fix race in the testsuite.
* Mon Mar 15 2004 - kukuk@suse.de
- Update SELinux patch to new libselinux interface
* Mon Mar 15 2004 - schwab@suse.de
- Fix date parsing.
* Sat Mar 13 2004 - schwab@suse.de
- Update to coreutils 5.2.1.
* Includes mv fix.
* Fix sparse handling in cp.
* Fix descriptor leak in nohup.
* Fix POSIX issues in expr.
* Always allow user.group in chown.
* Fri Mar 12 2004 - schwab@suse.de
- Fix sysinfo patch [#35337].
* Fri Mar 12 2004 - schwab@suse.de
- Fix preserving links in mv.
* Wed Mar 03 2004 - schwab@suse.de
- Fix help output from mkdir.
* Fri Feb 20 2004 - schwab@suse.de
- Update to coreutils 5.2.0.
* Mon Feb 09 2004 - schwab@suse.de
- Update to coreutils 5.1.3.
* Mon Feb 02 2004 - agruen@suse.de
- Update acl and xattr patches, and add some Changelog text.
* Mon Jan 26 2004 - schwab@suse.de
- Update to coreutils 5.1.2.
* Fri Jan 23 2004 - schwab@suse.de
- Don't link [ to test.
* Mon Jan 19 2004 - schwab@suse.de
- Update to coreutils 5.1.1.
- Default to POSIX.2-1992.
* Fri Jan 16 2004 - kukuk@suse.de
- Add pam-devel to neededforbuild
* Fri Jan 09 2004 - schwab@suse.de
- Fix spurious test failure.
* Thu Jan 08 2004 - schwab@suse.de
- Update to coreutils 5.1.0.
* Fri Dec 12 2003 - schwab@suse.de
- Fix use of AC_SEARCH_LIBS.
* Tue Dec 09 2003 - schwab@suse.de
- Cleanup SELinux patch.
* Tue Dec 09 2003 - kukuk@suse.de
- Add SELinux patch.
* Wed Nov 26 2003 - schwab@suse.de
- Fix sorting of months in multibyte case [#33299].
* Wed Oct 22 2003 - schwab@suse.de
- Fix building without extended attributes.
* Wed Oct 15 2003 - schwab@suse.de
- Cleanup sysinfo patch.
* Fri Sep 19 2003 - kukuk@suse.de
- Add missing textutil to Provides
* Mon Aug 25 2003 - agruen@suse.de
- Fix uname command to report reasonable processor and platform
information (coreutils-sysinfo.diff: based on similar RedHat
patch).
* Mon Jul 21 2003 - schwab@suse.de
- Fix typo in i18n patch for join.
* Fri Jul 18 2003 - schwab@suse.de
- Avoid abort in sort on inconsistent locales [#26506].
* Tue Jul 15 2003 - okir@suse.de
- make su export variables declared via pam_putenv
* Wed May 28 2003 - kukuk@suse.de
- PAM fixes for su:
- Move pam_open_session call before dropping privilegs, session
management needs max. possible credentials and needs to be done
before we change into the home directory of the user.
- Don't set PAM_TTY and PAM_RUSER to fake names.
- Use conversion function from libpam_misc.
* Fri May 16 2003 - schwab@suse.de
- Fix exit status from su.
* Thu Apr 24 2003 - ro@suse.de
- fix head calling syntax
* Mon Apr 07 2003 - schwab@suse.de
- Only delete info entries when removing last version.
* Fri Apr 04 2003 - schwab@suse.de
- Update to coreutils 5.0.
* Mon Mar 31 2003 - schwab@suse.de
- Update to coreutils 4.5.12.
* Thu Mar 20 2003 - schwab@suse.de
- Update to coreutils 4.5.11.
* Mon Mar 10 2003 - schwab@suse.de
- Fix LFS bug in du [#24960].
* Thu Feb 27 2003 - schwab@suse.de
- Readd textutils i18n patches.
* Thu Feb 27 2003 - agruen@suse.de
- Per hint from Andreas Schwab, don't use awk in autoconf. (The
improved test is simpler, too.)
* Thu Feb 27 2003 - agruen@suse.de
- Fix autoconf test for attr_copy_file that caused all binaries
to be linked needlessly against libattr.so.
* Tue Feb 25 2003 - agruen@suse.de
- Extended attribute copying: Use the newly exported
attr_copy_check_permissions() callback exported by libattr.so,
so that the EA copying done by coreutils is consistent with
other apps [#24244].
* Mon Feb 24 2003 - schwab@suse.de
- Update to coreutils 4.5.8.
* Fixes bugs in du.
* Mon Feb 17 2003 - agruen@suse.de
- Add extended attribute copying patch: Affects cp, mv, install.
See the cp manual page for details on the changes in cp. The
mv utility always tries to copy extended attributes; install
never does.
* Mon Feb 10 2003 - schwab@suse.de
- Update to coreutils 4.5.7.
* Fri Feb 07 2003 - kukuk@suse.de
- Use pam_unix2.so instead of pam_unix.so, use same rules for
password changing as passwd.
* Thu Feb 06 2003 - schwab@suse.de
- Use %%install_info.
* Thu Feb 06 2003 - schwab@suse.de
- Update to coreutils 4.5.6.
* Mon Feb 03 2003 - schwab@suse.de
- Package created, combining textutils, sh-utils and fileutils.