summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-09-07tail -f: handle "-"/stdin once againJim Meyering
* src/tail.c (main) [HAVE_INOTIFY]: When stdin (i.e., "-", or no args, but not /dev/stdin) is specified on the command line, don't use inotify. Reported by Bill Brelsford in <http://bugs.debian.org/545422>. * tests/tail-2/follow-stdin: New file. Test for this. * tests/Makefile.am (TESTS): Add the test. * NEWS (Bug fixes): Mention it. This bug was introduced in coreutils-7.5 via commit ae494d4b, 2009-06-02, "tail: use inotify if it is available".
2009-09-06tests: tail-2/flush-initial: correct race avoidance codeJim Meyering
* tests/tail-2/flush-initial: Wait for the file to be nonempty, not for the process. Based on a suggestion from Pádraig Brady.
2009-09-06tests: ls-misc: don't let a bogus umask cause test failureJim Meyering
* tests/misc/ls-misc: Set umask to 022. A umask setting permitting world-write access, e.g., umask o+w, would cause this test to fail. Report by Mathias Brodala and analysis by Tom Fitzhenry in <http://bugs.debian.org/544965>.
2009-09-06tail: flush initial output before possibly blockingJim Meyering
* src/tail.c (main): Flush any output from tail_file, before calling tail_forever_inotify, which can block. * tests/tail-2/flush-initial: New file. Test for the bug. * tests/Makefile.am (TESTS): Add tail-2/flush-initial. * NEWS (Bug fixes): Mention it. This bug was introduced in coreutils-7.5 via commit ae494d4b, 2009-06-02, "tail: use inotify if it is available".
2009-09-05maint: remove unused file: lib/fdopendir-glibc.cJim Meyering
* lib/fdopendir-glibc.c: Remove unused file. 2009-09-05 Jim Meyering <meyering@redhat.com>
2009-09-05tests: ls/stat-vs-dirent: avoid spurious test failureJim Meyering
* tests/ls/stat-vs-dirent: Avoid test failure when run from a directory whose name (or ancestor directory name) starts with ".".
2009-09-05doc: make the tail --sleep-interval help less confusingPádraig Brady
* src/tail.c (usage): I read "approximately S seconds" as "approximately 5 seconds" for approximately 5 seconds.
2009-09-05maint: remove some tab indentation from copy.cPádraig Brady
* src/copy.c (copy_internal): Remove tabs erroneously added in commit 3346c0af.
2009-09-05tests: test old tail -f method even on systems with inotifyPádraig Brady
* src/tail.c (main): Add an undocumented ---disable-inotify option to allow disabling inotify. * tests/tail-2/pid: Run test in both normal and "disable_inotify" modes. * tests/tail-2/tail-n0f: Likewise. * tests/tail-2/wait: Likewise. * tests/tail-2/append-only: Likewise.
2009-09-05build: update gnulib submodule to latestJim Meyering
2009-09-05stty: use TAB0, TAB1, and TAB2 only if definedPetr Salinger
* src/stty.c (mode_info) [TAB0, TAB1, TAB2]: Guard each entry with #ifdef. Required for GNU/kFreeBSD. Reported by Petr Salinger in http://bugs.debian.org/520368.
2009-09-04build: update from gnulibEric Blake
* gnulib: Update submodule to latest.
2009-09-04ln: add comments related to POSIX 2008Eric Blake
* src/ln.c (ENABLE_HARD_LINK_TO_SYMLINK_WARNING): Delete. (do_link): Update comments per POSIX; add FIXME for -L, -P.
2009-09-04mv, cp: tweak LINK_FOLLOWS_SYMLINKS logicEric Blake
* gnulib: Update to latest gnulib. * src/copy.c (copy_internal): Adjust comment in light of POSIX 2008, and deal with macro now being tri-state.
2009-09-04tests: fix a tail-2/pid failure on GNU/kFreeBSDPetr Salinger
* tests/tail-2/wait: Increase the file name recheck frequency to fix a failure on systems without inotify and a file timestamp precision of 1 second (like GNU/kFreeBSD).
2009-09-04tests: fix a failure when running tail-2/wait as rootPádraig Brady
* tests/tail-2/wait: Silently skip a portion of the test when running as root, rather than failing the whole test. This regression was introduced with commit 84b5844d, 2009-09-03, "tests: simplify and fix a race in 2 tail --follow tests".
2009-09-04build: fix libcap configure flag handlingMike Frysinger
* m4/jm-macros.m4 (coreutils_MACROS): The code to handle configure-time enabling or disabling of libcap support was broken. It would treat any libcap configure option as --disable-libcap because it doesn't check $enableval at all. This change makes sure we do the sane thing: --disable-libcap -> disable and don't run any tests --enable-libcap -> run tests and fail if not found default -> run tests and warn if not found
2009-09-03df: don't fail due to an unreadable argumentJim Meyering
* src/df.c (main): If open or fstat fails when we're trying to ensure that all arg-partitions are automounted, fall back on using stat. Inspired by the report and patch from Olivier Fourdan in http://bugzilla.redhat.com/520630. * NEWS (Bug fixes): Mention it. * tests/df/unreadable: New test for the above. * tests/Makefile.am (TESTS): Add df/unreadable. The bug was introduced in coreutils-7.3 via commit dbd17157, 2009-04-28, "df: use open(2), not stat, to trigger automounting".
2009-09-03doc: install -C: fix bug in the texi documentationKamil Dudka
* doc/coreutils.texi: Move the documentation for install --compare (-C) from the section on fmt to that for install. Reported by Florian Schlichting.
2009-09-03tests: simplify and fix a race in 2 tail --follow testsPádraig Brady
* tests/tail-2/pid: Use the timeout command to determine process longevity, rather than querying /proc/$pid/status. The latter was racy in any case when inotify is used, as then tail wakes up periodically even for unchanging files therefore causing the check for "S (sleeping)" state to fail intermittently. * tests/tail-2/wait: Likewise.
2009-09-03cp: don't leak resources for each xattr preservation failureOndřej Vašík
* 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".
2009-09-01chcon, chmod, chgrp, chown, du: report fts_close failurePádraig Brady
* 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.
2009-09-01build: update from gnulibJim Meyering
* gnulib: Update submodule to latest.
2009-09-01chcon, chmod, chgrp, chown, du: do not ignore fts_close failureJim Meyering
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.
2009-09-01maint: du: remove unnecessary initializationJim Meyering
* src/du.c (main): Don't set "skip_file" unnecessarily.
2009-09-01maint: chown, chgrp, chmod, chcon: remove unnecessary initializationJim Meyering
* 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.
2009-09-01maint: shred: remove unnecessary initializationJim Meyering
* src/shred.c (genpattern): Value stored to "n" is never used.
2009-09-01maint: dd: remove unnecessary initializationJim Meyering
* src/dd.c (skip): Remove set-but-never-used variable, soffset.
2009-09-01maint: tail: remove unnecessary initializationJim Meyering
* src/tail.c (tail_bytes): Don't compute "diff" twice.
2009-09-01maint: mbsalign.c: remove unnecessary assignmentJim Meyering
* gl/lib/mbsalign.c (mbsalign): Remove assignment, the result of which is never used.
2009-09-01timeout: remove a redundant assignmentPádraig Brady
* 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.
2009-09-01timeout: defensive handling of all wait() errorsPádraig Brady
* 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.
2009-09-01ls -i: print consistent inode numbers also for mount pointsJim Meyering
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.
2009-08-31maint: revert my stdbuf change: the result didn't even compileJim Meyering
This reverts commit c1e158489d88bad418d52ceadf37af0b6f5b2112.
2009-08-30maint: stdbuf: move a declaration; no-semantic-changeJim Meyering
* src/stdbuf.c (set_program_path): Move a declaration down into the scope where it's used.
2009-08-30build: quiet "make check" in src/Jim Meyering
* src/Makefile.am (check-duplicate-no-install): Use $(AM_V_GEN). (check-README): Likewise. And $(AM_V_at).
2009-08-30doc: cp: update note on preserving symlink time stampsJim Meyering
* doc/coreutils.texi (cp invocation): Now, we *do* preserve time stamps on symlinks, when possible.
2009-08-30build: update bootstrap from gnulibJim Meyering
* bootstrap: Merge from gnulib.
2009-08-30tests: don't misbehave if $TMPDIR contains spacesPádraig Brady
* 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.
2009-08-29tests: other-fs-tmpdir: don't misbehave for quote-unfriendly $TMPDIRJim Meyering
* tests/other-fs-tmpdir: Quote uses of variables that might expand to strings containing e.g., whitespace.
2009-08-29build: update from gnulibJim Meyering
* gnulib: Update submodule to latest.
2009-08-29tests: move a coreutils-specific test from maint.mk to Makefile.amJim Meyering
* Makefile.am (distcheck-hook): Make taint-distcheck here, since it's no longer done via maint.mk.
2009-08-29tests: cp/reflink-auto guard against a pathological $TMPDIRJim Meyering
* tests/cp/reflink-auto: Add quotes.
2009-08-29cp --reflink: preserve attributes on cloned files if askedPádraig Brady
* 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
2009-08-29cp --reflink: add an "auto" parameter to fall back to a normal copyPádraig Brady
* 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.
2009-08-28stdbuf: fix a small typo in --help outputPádraig Brady
* src/stdbuf.c (usage): s/then/the/
2009-08-28build: avoid unused variable warnings on cygwinEric Blake
* 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.
2009-08-28dd: detect closed stderrEric Blake
* 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.
2009-08-28maint: ignore only man/*.1, not all *.1 filesJim Meyering
* .gitignore: Ignore *.1 only in man/
2009-08-27build: prefix a few rules with $(AM_V_GEN)Jim Meyering
* 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.