platform/upstream/coreutils.git
14 years agocp: don't leak resources for each xattr preservation failure
Ondřej Vašík [Wed, 2 Sep 2009 09:34:27 +0000 (10:34 +0100)]
cp: don't leak resources for each xattr preservation failure

* src/copy.c (copy_reg): Don't return from the function after an
unsuccessful and required preservation of extended attributes.
This resulted in leaking the copy buffer and file descriptors.
* NEWS (Bug fixes): Mention the fix.
The bug was introduced in coreutils-7.1 via commit 0889381c, 2009-01-23,
"cp/mv: add xattr support".

14 years agochcon, chmod, chgrp, chown, du: report fts_close failure
Pádraig Brady [Tue, 1 Sep 2009 11:02:13 +0000 (13:02 +0200)]
chcon, chmod, chgrp, chown, du: report fts_close failure

* src/du.c (du_files): Don't fail silently upon fts_close failure.
* src/chcon.c (process_files): Likewise.
* src/chmod.c (process_files): Likewise.
* src/chown-core.c (chown_files): Likewise.

14 years agobuild: update from gnulib
Jim Meyering [Tue, 1 Sep 2009 09:58:10 +0000 (11:58 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

14 years agochcon, chmod, chgrp, chown, du: do not ignore fts_close failure
Jim Meyering [Tue, 1 Sep 2009 09:31:14 +0000 (11:31 +0200)]
chcon, chmod, chgrp, chown, du: do not ignore fts_close failure

This is probably never visible, but who knows...
* src/chcon.c (process_files): Don't ignore fts_close failure.
* src/chmod.c (process_files): Likewise.
* src/chown-core.c (chown_files): Likewise.
* src/du.c (du_files): Likewise.

14 years agomaint: du: remove unnecessary initialization
Jim Meyering [Mon, 31 Aug 2009 16:39:41 +0000 (18:39 +0200)]
maint: du: remove unnecessary initialization

* src/du.c (main): Don't set "skip_file" unnecessarily.

14 years agomaint: chown, chgrp, chmod, chcon: remove unnecessary initialization
Jim Meyering [Mon, 31 Aug 2009 16:26:16 +0000 (18:26 +0200)]
maint: chown, chgrp, chmod, chcon: remove unnecessary initialization

* src/chown-core.c: Include "ignore-value.h".
(change_file_owner): Don't set "ent" only to ignore it.
* src/chcon.c (process_file): Likewise.
* src/chmod.c: Include "ignore-value.h".
(process_file): Don't set "ent" only to ignore it.
After diagnosing root-dev/ino failure, return false immediately:
Now that we don't set "ent" we must be sure not to use it uninitialized,
and there's no point in issuing --verbose-related output in this case.

14 years agomaint: shred: remove unnecessary initialization
Jim Meyering [Mon, 31 Aug 2009 15:58:53 +0000 (17:58 +0200)]
maint: shred: remove unnecessary initialization

* src/shred.c (genpattern): Value stored to "n" is never used.

14 years agomaint: dd: remove unnecessary initialization
Jim Meyering [Mon, 31 Aug 2009 15:05:46 +0000 (17:05 +0200)]
maint: dd: remove unnecessary initialization

* src/dd.c (skip): Remove set-but-never-used variable, soffset.

14 years agomaint: tail: remove unnecessary initialization
Jim Meyering [Mon, 31 Aug 2009 15:01:26 +0000 (17:01 +0200)]
maint: tail: remove unnecessary initialization

* src/tail.c (tail_bytes): Don't compute "diff" twice.

14 years agomaint: mbsalign.c: remove unnecessary assignment
Jim Meyering [Mon, 31 Aug 2009 14:37:36 +0000 (16:37 +0200)]
maint: mbsalign.c: remove unnecessary assignment

* gl/lib/mbsalign.c (mbsalign): Remove assignment, the result of which
is never used.

14 years agotimeout: remove a redundant assignment
Pádraig Brady [Mon, 31 Aug 2009 18:28:28 +0000 (19:28 +0100)]
timeout: remove a redundant assignment

* src/timeout.c (main): While keeping argc and argv in
sync may be marginally useful, it is redundant to update argc,
so just remove that to suppress the clang warning.

14 years agotimeout: defensive handling of all wait() errors
Pádraig Brady [Mon, 31 Aug 2009 18:18:27 +0000 (19:18 +0100)]
timeout: defensive handling of all wait() errors

* src/timeout.c (main): Handle all possible cases of unexpected
failures from wait().  This was prompted by the clang tool reporting
the possible non-initialization of the status variable.

14 years agols -i: print consistent inode numbers also for mount points
Jim Meyering [Wed, 2 Jul 2008 16:01:43 +0000 (18:01 +0200)]
ls -i: print consistent inode numbers also for mount points

On most unix- and linux-based kernels, ls -i DIR_CONTAINING_MOUNT_POINT
would print the wrong inode number for any entry that is a mount point.
It would do that by relying on readdir's dirent.d_ino values, while
most readdir implementations return the inode number of the underlying,
inaccessible directory.  Thus, it is not consistent with what you'd
get when applying stat to the same entry.  This bug led to surprising
results like "ls -i" and "ls -i --color" printing different numbers (ls
must usually "stat" a file to colorize its name).  This change makes it
so that on offending systems, ls must stat non-command-line-arguments
for which otherwise it would be able to use "for free" dirent.d_ino
values.  Regardless of this change, ls is already required to stat every
command-line argument.  Note: versions of GNU ls prior to coreutils-6.0
did not perform the invalid optimization, and hence always printed
correct inode numbers.  Thus, for the sake of correctness, ls -i is
forgoing the readdir optimization, for any kernel (including linux!)
with POSIX-nonconforming readdir.  Note that currently, only Cygwin has
been agile enough to conform.

* src/ls.c (RELIABLE_D_INO): Define.
(print_dir): Use it.
For plenty of discussion, see this long thread:
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14020
This bug was introduced by the 2006-02-26 commit, 33eb3efe:
"In ls, avoid calling stat for --inode (-i), when possible."
* tests/ls/readdir-mountpoint-inode: New test.
* tests/Makefile.am (TESTS): Add it.
* tests/ls/stat-vs-dirent: Don't suppress failure of this test,
now that ls -i is fixed.  Though note that it doesn't test well,
since it compares only the always-stat'd command-line arguments.
* NEWS (Bug fixes): Mention it.

14 years agomaint: revert my stdbuf change: the result didn't even compile
Jim Meyering [Mon, 31 Aug 2009 07:44:30 +0000 (09:44 +0200)]
maint: revert my stdbuf change: the result didn't even compile

This reverts commit c1e158489d88bad418d52ceadf37af0b6f5b2112.

14 years agomaint: stdbuf: move a declaration; no-semantic-change
Jim Meyering [Sun, 30 Aug 2009 20:29:19 +0000 (22:29 +0200)]
maint: stdbuf: move a declaration; no-semantic-change

* src/stdbuf.c (set_program_path): Move a declaration down into
the scope where it's used.

14 years agobuild: quiet "make check" in src/
Jim Meyering [Sun, 30 Aug 2009 10:22:11 +0000 (12:22 +0200)]
build: quiet "make check" in src/

* src/Makefile.am (check-duplicate-no-install): Use $(AM_V_GEN).
(check-README): Likewise.  And $(AM_V_at).

14 years agodoc: cp: update note on preserving symlink time stamps
Jim Meyering [Sat, 29 Aug 2009 20:56:48 +0000 (22:56 +0200)]
doc: cp: update note on preserving symlink time stamps

* doc/coreutils.texi (cp invocation): Now, we *do* preserve time
stamps on symlinks, when possible.

14 years agobuild: update bootstrap from gnulib
Jim Meyering [Sat, 29 Aug 2009 20:18:28 +0000 (22:18 +0200)]
build: update bootstrap from gnulib

* bootstrap: Merge from gnulib.

14 years agotests: don't misbehave if $TMPDIR contains spaces
Pádraig Brady [Sun, 30 Aug 2009 00:27:45 +0000 (01:27 +0100)]
tests: don't misbehave if $TMPDIR contains spaces

* tests/misc/xattr: Add quotes.
* tests/mv/acl: Likewise.
* tests/mv/backup-is-src: Likewise.
* tests/mv/hard-link-1: Likewise.
* tests/mv/leak-fd: Likewise.
* tests/mv/mv-special-1: Likewise.
* tests/mv/part-fail: Likewise.
* tests/mv/part-hardlink: Likewise.
* tests/mv/part-rename: Likewise.
* tests/mv/part-symlink: Likewise.
* tests/mv/partition-perm: Likewise.
* tests/mv/sticky-to-xpart: Likewise.

14 years agotests: other-fs-tmpdir: don't misbehave for quote-unfriendly $TMPDIR
Jim Meyering [Sat, 29 Aug 2009 07:18:45 +0000 (09:18 +0200)]
tests: other-fs-tmpdir: don't misbehave for quote-unfriendly $TMPDIR

* tests/other-fs-tmpdir: Quote uses of variables that might expand
to strings containing e.g., whitespace.

14 years agobuild: update from gnulib
Jim Meyering [Sat, 29 Aug 2009 15:30:14 +0000 (17:30 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

14 years agotests: move a coreutils-specific test from maint.mk to Makefile.am
Jim Meyering [Sat, 29 Aug 2009 08:52:33 +0000 (10:52 +0200)]
tests: move a coreutils-specific test from maint.mk to Makefile.am

* Makefile.am (distcheck-hook): Make taint-distcheck here, since it's
no longer done via maint.mk.

14 years agotests: cp/reflink-auto guard against a pathological $TMPDIR
Jim Meyering [Sat, 29 Aug 2009 06:31:26 +0000 (08:31 +0200)]
tests: cp/reflink-auto guard against a pathological $TMPDIR

* tests/cp/reflink-auto: Add quotes.

14 years agocp --reflink: preserve attributes on cloned files if asked
Pádraig Brady [Fri, 28 Aug 2009 23:45:15 +0000 (00:45 +0100)]
cp --reflink: preserve attributes on cloned files if asked

* src/copy.c (copy_reg): When cloning only skip the data copying
* tests/cp/reflink-perm: New test to check times and modes copied
* tests/Makefile.am: Reference the new test
* NEWS: Mention the fix

14 years agocp --reflink: add an "auto" parameter to fall back to a normal copy
Pádraig Brady [Tue, 25 Aug 2009 23:32:43 +0000 (00:32 +0100)]
cp --reflink: add an "auto" parameter to fall back to a normal copy

* doc/coreutils.texi (cp invocation): Document the new
"auto" and "always" options to --reflink.
* src/copy.c (copy_reg): Fall back to a standard copy
when reflink() is not supported and --reflink=auto specified.
* src/copy.h [struct cp_options] (reflink): Change type s/bool/enum/.
* src/cp.c (usage): Describe the --reflink={always,auto} options
and expand a little on what --reflink does.
(main): parse the new parameters to --reflink and allow all
--sparse options with --reflink=auto.
* src/install.c (cp_option_init): Init the enum instead of bool.
* src/mv.c (cp_option_init): Likewise.
* tests/cp/reflink-auto: A new test for falling back to normal copy.
* tests/Makefile.am: Reference the new test.
* NEWS: Mention the new feature.

14 years agostdbuf: fix a small typo in --help output
Pádraig Brady [Wed, 19 Aug 2009 18:24:05 +0000 (19:24 +0100)]
stdbuf: fix a small typo in --help output

* src/stdbuf.c (usage): s/then/the/

14 years agobuild: avoid unused variable warnings on cygwin
Eric Blake [Fri, 28 Aug 2009 17:03:05 +0000 (11:03 -0600)]
build: avoid unused variable warnings on cygwin

* src/copy.c (clone_file, copy_attr_by_fd, copy_attr_by_name):
Mark up unused variables.
* src/remove.c (dirent_inode_sort_may_be_useful): Likewise.

14 years agodd: detect closed stderr
Eric Blake [Fri, 28 Aug 2009 16:59:16 +0000 (10:59 -0600)]
dd: detect closed stderr

* src/dd.c (maybe_close_stdout): Always flush stderr; regression
introduced in commit 381e69ea.
* tests/misc/close-stdout (p): Use consistent style.
* tests/dd/stderr: New test, borrowing from misc/close-stdout.
* tests/Makefile.am (TESTS): Run it.
* NEWS: Mention this.

14 years agomaint: ignore only man/*.1, not all *.1 files
Jim Meyering [Fri, 28 Aug 2009 12:29:02 +0000 (14:29 +0200)]
maint: ignore only man/*.1, not all *.1 files

* .gitignore: Ignore *.1 only in man/

14 years agobuild: prefix a few rules with $(AM_V_GEN)
Jim Meyering [Thu, 27 Aug 2009 08:17:55 +0000 (10:17 +0200)]
build: prefix a few rules with $(AM_V_GEN)

* Makefile.am (.version, dist-hook, gen-ChangeLog): Use $(AM_V_GEN)
and $(AM_V_at), so that automake's silent-rules option (make V=1/V=0)
now controls whether the commands are printed at build time.
(THANKS-to-translators, check-ls-dircolors): Likewise.

14 years agobuild: stop earlier if touching ChangeLog fails
Jim Meyering [Wed, 26 Aug 2009 16:20:55 +0000 (18:20 +0200)]
build: stop earlier if touching ChangeLog fails

* bootstrap.conf: Exit right away if touching ChangeLog fails.
Otherwise, the touch failure message is buried under configure output.

14 years agotests: mkdir/selinux: avoid spurious failure on some SELinux systems
Jim Meyering [Wed, 26 Aug 2009 08:06:53 +0000 (10:06 +0200)]
tests: mkdir/selinux: avoid spurious failure on some SELinux systems

* tests/test-lib.sh (require_selinux_enforcing_): New function.
* tests/mkdir/selinux: Use it.
Otherwise, this test would fail on Rawhide with SELinux disabled.

14 years agotests: tail-2/assert: avoid risk of race condition
Jim Meyering [Tue, 25 Aug 2009 18:43:13 +0000 (20:43 +0200)]
tests: tail-2/assert: avoid risk of race condition

* tests/tail-2/assert: Avoid spurious failure due to race condition.
Rather than sleeping for 1 second and crossing fingers,
wait explicitly for backgrounded tail process to start.
Otherwise, this test would fail under heavy load.

14 years agomaint: ensure we don't embed Emacs indent-tabs-mode setting lines
Jim Meyering [Sun, 14 Jun 2009 12:21:02 +0000 (14:21 +0200)]
maint: ensure we don't embed Emacs indent-tabs-mode setting lines

Now that we prohibit indentation via TABs, there's no need for
Emacs indent-tabs-mode setting lines, so prohibit those, too.
* cfg.mk (sc_prohibit_emacs__indent_tabs_mode__setting): New rule.

14 years agomaint: remove Local Variables: indent-tabs-mode: nil from all sources
Jim Meyering [Fri, 27 Feb 2009 16:15:43 +0000 (17:15 +0100)]
maint: remove Local Variables: indent-tabs-mode: nil from all sources

* src/getlimits.c: Likewise.
* src/group-list.c: Likewise.
* src/groups.c: Likewise.
* src/mktemp.c: Likewise.
* src/setuidgid.c: Likewise.
* src/stdbuf.c: Likewise.
* src/timeout.c: Likewise.
* src/truncate.c: Likewise.
* gl/lib/mbsalign.c: Likewise.
* tests/test-lib.sh: Likewise.
* bootstrap: Likewise.
* README-hacking: Likewise.

14 years agodoc: HACKING: mention the new space-only indentation policy
Jim Meyering [Fri, 27 Feb 2009 16:10:19 +0000 (17:10 +0100)]
doc: HACKING: mention the new space-only indentation policy

14 years agomaint: teach "make syntax-check" the space-only indentation rule
Jim Meyering [Fri, 27 Feb 2009 16:32:19 +0000 (17:32 +0100)]
maint: teach "make syntax-check" the space-only indentation rule

* cfg.mk (sc_prohibit_tab_based_indentation): New rule.
* .x-sc_prohibit_tab_based_indentation: New file.
* Makefile.am (syntax_check_exceptions): Add file,
.x-sc_prohibit_tab_based_indentation.

14 years agoglobal: convert indentation-TABs to spaces
Jim Meyering [Sat, 22 Aug 2009 16:56:06 +0000 (18:56 +0200)]
global: convert indentation-TABs to spaces

Transformed via this shell code:
t=$'\t'
git ls-files \
  | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \
  | grep -vE 'tests/pr/|help2man' \
  | xargs grep -lE "^ *$t" \
  | xargs perl -MText::Tabs -ni -le \
    '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'

14 years agocp: ignore obscure failure to preserve symlink time stamps,
Jim Meyering [Mon, 24 Aug 2009 06:21:47 +0000 (08:21 +0200)]
cp: ignore obscure failure to preserve symlink time stamps,

...when run on a kernel older than what was implied by headers and
libraries tested at configure time.
* src/copy.c (utimens_symlink): Ignore failure when errno == ENOSYS.
* NEWS (Bug fixes): Mention it.
Reported by Todd Zullinger and Kamil Dudka.
Details in this thread:
http://thread.gmane.org/gmane.linux.redhat.fedora.devel/119834

14 years agotests: skip (don't fail) a cp test, upon mount-related failure
Jim Meyering [Sun, 23 Aug 2009 20:02:12 +0000 (22:02 +0200)]
tests: skip (don't fail) a cp test, upon mount-related failure

* tests/cp/cp-mv-enotsup-xattr: Upon a set-up failiure, rather than
failing the test with a "framework failure" diagnostic, just skip it.
Russell Whitaker reported that this test failed on slackware.

14 years agobuild: update from *public* gnulib
Jim Meyering [Sun, 23 Aug 2009 08:13:36 +0000 (10:13 +0200)]
build: update from *public* gnulib

* gnulib: Update submodule to latest.
Kamil Dudka reported that bootstrap was broken.

14 years agobuild: update from gnulib
Jim Meyering [Fri, 21 Aug 2009 07:59:10 +0000 (09:59 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

14 years agopost-release administrivia
Jim Meyering [Thu, 20 Aug 2009 19:48:45 +0000 (21:48 +0200)]
post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

14 years agoversion 7.5 v7.5
Jim Meyering [Thu, 20 Aug 2009 19:19:36 +0000 (21:19 +0200)]
version 7.5

* NEWS: Record release date.

14 years agotests: skip the stdbuf tests when the abs build directory name is bogus
Jim Meyering [Thu, 20 Aug 2009 16:27:07 +0000 (18:27 +0200)]
tests: skip the stdbuf tests when the abs build directory name is bogus

* tests/misc/stdbuf: Avoid spurious failure when the directory name
from which we'd set LD_PRELOAD contains unsafe characters.

14 years agoinstall: avoid a portability bug when compiling with non-gcc
Jim Meyering [Thu, 20 Aug 2009 08:36:30 +0000 (10:36 +0200)]
install: avoid a portability bug when compiling with non-gcc

* src/install.c (extra_mode): Be careful to return only a 0 or 1
value, since this is a "bool" function, and there are still some
compilers for which this is necessary.  Without this change,
Bernhard Voelker reported that the Forte Developer 7 C 5.4 2002/03/09
compiler would produce a malfunctioning "install" binary.  Details in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17710/focus=17760

14 years agotests: make install-C slightly less prone to confusion
Jim Meyering [Wed, 19 Aug 2009 15:10:23 +0000 (17:10 +0200)]
tests: make install-C slightly less prone to confusion

* tests/install/install-C: Invoke framework_failure, if necessary.

14 years agobuild: avoid "make dist" failure in man/
Jim Meyering [Wed, 19 Aug 2009 06:44:17 +0000 (08:44 +0200)]
build: avoid "make dist" failure in man/

Now that "make check" no longer builds programs like arch, ...
* src/Makefile.am (dist-hook): Depend on $(all_programs), so that the
subsequent build in man/ doesn't fail due to lack of a program like
arch that is not going to be installed.

14 years agobuild: update from gnulib
Jim Meyering [Tue, 18 Aug 2009 19:07:44 +0000 (21:07 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

14 years agonl: deprecate --page-increment in favor of --line-increment
Giuseppe Scrivano [Tue, 18 Aug 2009 10:22:37 +0000 (12:22 +0200)]
nl: deprecate --page-increment in favor of --line-increment

* NEWS: Mention the change.
* doc/coreutils.texi: Document the new --line-increment option.
* src/nl.c (struct option): Add --line-increment,
(usage): Describe it,
(main): Use it.

14 years agotests: stdbuf: fix a bug in test script
Jim Meyering [Tue, 18 Aug 2009 15:53:20 +0000 (17:53 +0200)]
tests: stdbuf: fix a bug in test script

* tests/misc/stdbuf: Use skip_test_ only after it's defined.
Reported by Berhnard Voelker.

(sc_check-AUTHORS): Rename rule from check-AUTHORS.

14 years agobuild: perform check-AUTHORS via syntax-check, not via "make check"
Jim Meyering [Tue, 18 Aug 2009 10:12:21 +0000 (12:12 +0200)]
build: perform check-AUTHORS via syntax-check, not via "make check"

* src/Makefile.am (check): Don't depend on check-AUTHORS.
That check fails on systems for which a program like stdbuf is
not built.  Instead, move this check to "make syntax-check".
(sc_check-AUTHORS): Rename rule from check-AUTHORS.
* cfg.mk (sc_check-AUTHORS): New rule.
Reported by Berhnard Voelker.

14 years agosort: use more portable initialization syntax
Jim Meyering [Tue, 18 Aug 2009 09:01:00 +0000 (11:01 +0200)]
sort: use more portable initialization syntax

* src/sort.c (find_unit_order): Spell out 256-element static
initializer, rather than relying on C99 syntax.
Required for Forte Developer 7 C 5.4 2002/03/09 on Solaris 10.
Reported by Bernhard Voelker.

14 years agobuild: suppress warnings due to gcc's new -Wjump-misses-init
Jim Meyering [Mon, 17 Aug 2009 17:37:47 +0000 (19:37 +0200)]
build: suppress warnings due to gcc's new -Wjump-misses-init

* configure.ac: Ignore -Wjump-misses-init violations in remove.c.

14 years agobuild: update from gnulib
Jim Meyering [Mon, 17 Aug 2009 17:17:18 +0000 (19:17 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

14 years agotests: tail-2/append-only: don't discard stderr
Jim Meyering [Sun, 16 Aug 2009 11:52:47 +0000 (13:52 +0200)]
tests: tail-2/append-only: don't discard stderr

* tests/tail-2/append-only: Don't discard a diagnostic that
may help explain why this test fails for some.  Details in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17621/focus=17641

14 years agotests: skip the misc/stdbuf test if stdbuf was not built
Jim Meyering [Fri, 14 Aug 2009 19:34:05 +0000 (21:34 +0200)]
tests: skip the misc/stdbuf test if stdbuf was not built

* tests/misc/stdbuf: Skip this test when stdbuf is not built.
Reported by Eric Blake.

14 years agobuild: use gnulib's getopt-gnu module (getopt is now deprecated)
Jim Meyering [Thu, 13 Aug 2009 06:37:37 +0000 (08:37 +0200)]
build: use gnulib's getopt-gnu module (getopt is now deprecated)

* bootstrap.conf (gnulib_modules): Gnulib's getopt module is now
deprecated; use the new, preferred name, getopt-gnu.
* gnulib: Update to latest.

14 years agocp,mv: fix issues with preserving timestamps of copied symlinks
Pádraig Brady [Thu, 13 Aug 2009 09:39:10 +0000 (10:39 +0100)]
cp,mv: fix issues with preserving timestamps of copied symlinks

* src/copy.c (copy_internal): On systems without utimensat don't
use utimens on a symlink, as that would dereference the symlink.
* tests/cp/abuse: To work around possible attribute preservation
failures breaking the test, use cp -dR rather than cp -a.

14 years agodoc: clarify the cp --reflink NEWS
Pádraig Brady [Thu, 13 Aug 2009 16:25:09 +0000 (17:25 +0100)]
doc: clarify the cp --reflink NEWS

* NEWS: Remove the description associated with the removed
experimental code which unconditionally tried to reflink() on copy.
Also clarify where --reflink works exactly.

14 years agotests: raise ulimit virt-mem limit to avoid new failure
Jim Meyering [Mon, 10 Aug 2009 07:28:45 +0000 (09:28 +0200)]
tests: raise ulimit virt-mem limit to avoid new failure

* tests/cp/link-heap: Raise limit from 16MB to ~20MB,
to avoid spurious failure on rawhide.

14 years agotail: fix tail -f failure when inotify used
Pádraig Brady [Wed, 12 Aug 2009 18:01:56 +0000 (19:01 +0100)]
tail: fix tail -f failure when inotify used

* src/tail.c (tail_forever_inotify): Remove the redundant and
incorrect error check of the return from inotify_add_watch().
Also initialize the wd member of each File_spec to an invalid value.
Reported by C de-Avillez.

14 years agodd: fix a signal handling race
Pádraig Brady [Thu, 13 Aug 2009 13:37:43 +0000 (14:37 +0100)]
dd: fix a signal handling race

* src/dd.c (main): Install the signal handlers at startup
rather than just before the copy starts. In this way signals
received before the copy (like during a slow truncate for e.g.)
will be deferred and handled consistently.
* THANKS: Add Bernhard's email address.
* NEWS: Mention the fix.
Reported by Bernhard Voelker.

14 years agotests: improve one of the tail --pid tests
Pádraig Brady [Wed, 12 Aug 2009 18:46:27 +0000 (19:46 +0100)]
tests: improve one of the tail --pid tests

* tests/tail-2/pid: Speed up the test by specifying a
timeout of 100ms rather than the default 1s.  Also
skip the test instead of failing in the unlikely case
were the pid required to be missing pid is present.

14 years agonl, pinky: replace uses of strcat
Jim Meyering [Mon, 10 Aug 2009 06:11:33 +0000 (08:11 +0200)]
nl, pinky: replace uses of strcat

* src/nl.c (main): Avoid strcat, on principle.  Use stpcpy instead.
* src/pinky.c (print_long_entry): Likewise.

14 years agobuild: update from gnulib, for HOST_NAME_MAX on solaris 10
Jim Meyering [Sun, 9 Aug 2009 20:16:04 +0000 (22:16 +0200)]
build: update from gnulib, for HOST_NAME_MAX on solaris 10

* gnulib: Update submodule to latest.

14 years agocp: accept the --reflink option
Giuseppe Scrivano [Sat, 1 Aug 2009 17:36:48 +0000 (19:36 +0200)]
cp: accept the --reflink option

* NEWS: Mention it.
* doc/coreutils.texi (cp invocation): Describe it.
* src/copy.h (struct cp_options) [reflink]: New member.
* src/copy.c (usage): Describe it.
(copy_reg): If reflink is true try to clone the file.
(main): Check for --reflink.
(cp_option_init): Initialize the new member.
* src/install.c (cp_option_init): Initialize the new member.
* src/mv.c (cp_option_init): Likewise.
* tests/cp/sparse: Add a new test case.

14 years agodd: preserve semantics of O_DIRECT even for final block
Jim Meyering [Fri, 7 Aug 2009 14:21:35 +0000 (16:21 +0200)]
dd: preserve semantics of O_DIRECT even for final block

* src/dd.c: Include "ignore-value.h"
(iwrite): When disabling O_DIRECT, try to compensate
via POSIX_FADV_DONTNEED and fsync.
Suggested by Eric Sandeen.

14 years agomaint: move selinux-at module from gl/ to gnulib
Jim Meyering [Thu, 6 Aug 2009 12:30:46 +0000 (14:30 +0200)]
maint: move selinux-at module from gl/ to gnulib

* gl/lib/selinux-at.c: Remove file.
* gl/lib/selinux-at.h: Likewise.
* gl/modules/selinux-at: Likewise.
* gnulib: update to latest, to get the new module.

14 years agodd: work around buffer length restrictions with oflag=direct (O_DIRECT)
Jim Meyering [Tue, 4 Aug 2009 17:54:58 +0000 (19:54 +0200)]
dd: work around buffer length restrictions with oflag=direct (O_DIRECT)

dd oflag=direct would fail to copy a file with size that is
not a multiple of 512 (destination file system specific)

* NEWS (Bug fixes): Mention it.
* src/dd.c (iwrite): Turn off O_DIRECT for any
smaller-than-obs-sized write.  Don't bother to restore it.
* tests/dd/direct: New test for the above.
* tests/Makefile.am (TESTS): Add dd/direct.
* doc/coreutils.texi (dd invocation): Mention oflag=direct
buffer size restriction.
Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17586
Reported by Eric Sandeen.

14 years agodd: remove unnecessary #if HAVE_FTRUNCATE
Jim Meyering [Tue, 4 Aug 2009 18:05:45 +0000 (20:05 +0200)]
dd: remove unnecessary #if HAVE_FTRUNCATE

* src/dd.c (main): Remove unnecessary cpp directives.
Gnulib guarantees that ftruncate is usable.

14 years agocp -pP (and e.g., -a): preserve time stamps on symlinks, too
Jim Meyering [Mon, 27 Jul 2009 15:08:02 +0000 (17:08 +0200)]
cp -pP (and e.g., -a): preserve time stamps on symlinks, too

* src/copy.c (utimensat_if_possible): New function.
(copy_internal): Remove variable, "preserve_metadata".
Replace with "dest_is_symlink".  That covers all cases but one:
the one in which cp --link has created hard links to non-directories.
In that case, there is no need to update attributes of the links.
Use utimensat_if_possible, to preserve timestamps of symlinks.
* NEWS (New features): Mention this.
* tests/Makefile.am (TESTS): Add cp/preserve-slink-time.
* tests/cp/preserve-slink-time: New file.
* m4/jm-macros.m4 (coreutils_MACROS): Test for utimensat.
Reported in http://bugzilla.redhat.com/230866

14 years agoinstall runs faster again with SELinux enabled
Kamil Dudka [Tue, 4 Aug 2009 14:21:08 +0000 (16:21 +0200)]
install runs faster again with SELinux enabled

* m4/jm-macros.m4: Pull in SELinux libraries while checking for
matchpathcon_init_prefix ().  Emit configure warning when not found
with SELinux enabled.
* NEWS (Bug fixes): Mention it.
The bug was introduced in coreutils-7.0 via commit 0647f3eb, 2008-06-02,
"accommodate older SELinux which lacks matchpathcon_init_prefix".

14 years agomaint: move the update-copyright rule to gnulib's maint.mk
Jim Meyering [Tue, 4 Aug 2009 08:06:41 +0000 (10:06 +0200)]
maint: move the update-copyright rule to gnulib's maint.mk

* gnulib: Update submodule to get latest maint.mk.
* Makefile.am (update-copyright): Remove rule; now it's in maint.mk.
* m4/check-decl.m4: Update sole remaining copyright year list.

14 years agobuild: *really* update to a usable gnulib commit
Jim Meyering [Fri, 31 Jul 2009 16:05:10 +0000 (18:05 +0200)]
build: *really* update to a usable gnulib commit

14 years agobuild: update to a usable gnulib commit
Jim Meyering [Fri, 31 Jul 2009 07:05:25 +0000 (09:05 +0200)]
build: update to a usable gnulib commit

The commit, 5ef90695, 2009-07-29, "maint: move update-copyright
to gnulib" recorded a local-only commit.
Reported by Pádraig Brady.

14 years agotests: new function: require_openat_support_
Jim Meyering [Wed, 29 Jul 2009 12:59:27 +0000 (14:59 +0200)]
tests: new function: require_openat_support_

* tests/rm/inaccessible: Factor out openat-support-detection code...
* tests/test-lib.sh (require_openat_support_): ...into this new function.

14 years agotail: tweak indentation
Jim Meyering [Thu, 30 Jul 2009 15:45:53 +0000 (17:45 +0200)]
tail: tweak indentation

* src/tail.c (tail_forever_inotify): Adjust indentation of continued line.

14 years agotail: properly parse fractional seconds when monitoring a pid
Pádraig Brady [Thu, 30 Jul 2009 14:29:13 +0000 (15:29 +0100)]
tail: properly parse fractional seconds when monitoring a pid

* src/tail.c (tail_forever_inotify): The fractional
part of the delay was 1000 times too large.
* tests/tail-2/pid: Add a test to ensure the
timeout happens for this case.

14 years agotests: test for just-fixed tail --pid bug
Jim Meyering [Thu, 30 Jul 2009 08:27:51 +0000 (10:27 +0200)]
tests: test for just-fixed tail --pid bug

* tests/tail-2/pid: Ensure tail exits successfully when PID dies.

14 years agotail: exit successfully upon watched process death
Giuseppe Scrivano [Wed, 29 Jul 2009 18:57:29 +0000 (20:57 +0200)]
tail: exit successfully upon watched process death

* src/tail.c (tail_forever_inotify): If a PID is specified and the
watched process dies, exit with status EXIT_SUCCESS, rather than
falling through to an EXIT_FAILURE.

14 years agomaint: move update-copyright to gnulib
Jim Meyering [Wed, 29 Jul 2009 14:29:21 +0000 (16:29 +0200)]
maint: move update-copyright to gnulib

* build-aux/update-copyright: Remove file.
* bootstrap.conf (gnulib_modules): Add update-copyright.
* gnulib: Update submodule to latest.

14 years agomaint: make update-copyright work in yet another case
Jim Meyering [Wed, 29 Jul 2009 13:39:20 +0000 (15:39 +0200)]
maint: make update-copyright work in yet another case

* build-aux/update-copyright: Handle the case in which "\n#"
appears between the final year number and the copyright holder name.
* m4/lib-check.m4: Update copyright year list.
Reported by Joel E. Denny.

14 years agomaint: update NEWS
Jim Meyering [Wed, 29 Jul 2009 10:25:33 +0000 (12:25 +0200)]
maint: update NEWS

* NEWS (New features): Mention it.

14 years agocp: support btrfs' copy-on-write file clone operation
Giuseppe Scrivano [Sat, 25 Jul 2009 14:35:27 +0000 (16:35 +0200)]
cp: support btrfs' copy-on-write file clone operation

* src/copy.c [HAVE_SYS_IOCTL_H]: Include <sys/ioctl.h>.
(BTRFS_IOCTL_MAGIC, BTRFS_IOC_CLONE): Define.
(clone_file): New function.
(copy_reg): Use the btrfs clone operation if possible.

14 years agomaint: update sleep.c's copyright year list
Jim Meyering [Wed, 29 Jul 2009 09:21:21 +0000 (11:21 +0200)]
maint: update sleep.c's copyright year list

* src/sleep.c: Update copyright year list to include 2009.
* tests/sort-time/rand-gen: Remove long-unused file.
* tests/sort-time/README: Likewise.

14 years agomaint: improve update-copyright rule
Joel E. Denny [Wed, 29 Jul 2009 09:05:54 +0000 (11:05 +0200)]
maint: improve update-copyright rule

* Makefile.am (update-copyright): Relax the selection rule
to match any file containing the word "Copyright".
Correct the exclusion rule so that it also excludes ChangeLog
and COPYING files that are not in the top level directory.

14 years agomaint: update-copyright: fix just-introduced bug
Jim Meyering [Wed, 29 Jul 2009 08:56:10 +0000 (10:56 +0200)]
maint: update-copyright: fix just-introduced bug

* build-aux/update-copyright: ... and revert-for-now the
change that made this script invoke localtime only once.

14 years agomaint: make update-copyright handle more cases
Jim Meyering [Wed, 29 Jul 2009 08:25:24 +0000 (10:25 +0200)]
maint: make update-copyright handle more cases

* build-aux/update-copyright: Handle cases in which the final
year number and copyright holder are on separate lines.
Prompted by a report from Joel E. Denny.
Also, do not invoke localtime for each line we process.

14 years agodoc: fix the generated HTML index
Pádraig Brady [Mon, 27 Jul 2009 01:24:03 +0000 (02:24 +0100)]
doc: fix the generated HTML index

* doc/coreutils.texi: Move the "SELinux context" section
down below the "System context" nodes so that the HTML
index is generated correctly. Also some extraneous and missing
'.' characters were corrected in the index.
Reported by Benno Schulenberg.

14 years agotail: use the inotify backend also with --pid=PID
Giuseppe Scrivano [Sun, 26 Jul 2009 11:22:57 +0000 (13:22 +0200)]
tail: use the inotify backend also with --pid=PID

* src/tail.c (tail_forever_inotify): When a PID is specified, use
select to block for no more than sleep_interval seconds at a time,
and check for process death upon timeout.
(main): Adapt to new tail_forever_inotify interface.

14 years agotests: new test for bug in ls -1U dir arg ...
Jim Meyering [Sat, 25 Jul 2009 09:06:22 +0000 (11:06 +0200)]
tests: new test for bug in ls -1U dir arg ...

* tests/misc/ls-misc (multi-arg-U1): New test.

14 years agols -1U dir arg ... now works again
Kamil Dudka [Mon, 27 Jul 2009 09:37:47 +0000 (11:37 +0200)]
ls -1U dir arg ... now works again

* src/ls.c (print_dir): Emit "$dir_name:\n" *before* accumulating (and
possibly printing) directory entry names.
The bug was introduced in coreutils-7.0 via commit
8d974b00, 2008-07-30, "ls -U1 now uses constant memory".
Reported by Julian Bradfield.
* NEWS (Bug fixes): Mention it.

14 years agotr: improve --help's description of --complement (-c)
Heikki Orsila [Sun, 26 Jul 2009 16:33:13 +0000 (19:33 +0300)]
tr: improve --help's description of --complement (-c)

14 years agodoc: add a sort by line length example
Pádraig Brady [Fri, 24 Jul 2009 23:46:12 +0000 (00:46 +0100)]
doc: add a sort by line length example

* doc/coreutils.texi (sort invocation): Add an example showing how
to sort data not directly supported by the sort command.

14 years agodoc: mention realpath in the readlink info
Pádraig Brady [Fri, 24 Jul 2009 17:17:24 +0000 (18:17 +0100)]
doc: mention realpath in the readlink info

* doc/coreutils.texi (readlink invocation): Add realpath to the index,
and also mention it in the readlink description so people
searching for that functionality can easily make the connection.

14 years agobuild: use a fixed-name temporary in man/Makefile.am
Jim Meyering [Sat, 25 Jul 2009 21:16:41 +0000 (23:16 +0200)]
build: use a fixed-name temporary in man/Makefile.am

* man/Makefile.am (check-x-vs-1): Using a fixed-name temporary file
is better than one ending in -$$, because many -$$-suffixed files
may accumulate over time.

14 years agodoc: improve readlink description here, too
Kamil Dudka [Fri, 24 Jul 2009 08:25:23 +0000 (10:25 +0200)]
doc: improve readlink description here, too

* doc/coreutils.texi (readlink invocation): Update menus.
Add @cindex entries.

14 years agoreadlink: improve one-line summary: prints canonical file names, too
Jim Meyering [Fri, 24 Jul 2009 07:33:23 +0000 (09:33 +0200)]
readlink: improve one-line summary: prints canonical file names, too

* src/readlink.c (usage): Adjust one-line summary.
* man/readlink.x: Likewise.
Suggested by Kamil Dudka.

14 years agobuild: update from gnulib
Jim Meyering [Sun, 19 Jul 2009 20:39:06 +0000 (22:39 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.