summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-09-11rm: rewrite to use ftsJim Meyering
* remove.c: Don't include "unlinkdir.h"; no longer used. Do not include <setjmp.h> or "cycle-check.h". Likewise. Include "xfts.h". (dir_name, dir_len): Remove definitions. (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Likewise. (INODE_SORT_DIR_ENTRIES_THRESHOLD, NEED_REWIND, D_TYPE): Likewise. (struct dirstack_state, Dirstack_state): Likewise. (g_buf, g_n_allocated): Remove declarations. (hash_freer, hash_compare_strings, rm_malloc): Remove functions. (rm_free, push_dir, top_dir, pop_dir, right_justify): Likewise. (full_filename0, xfull_filename, full_filename_): Likewise. (AD_stack_height, AD_stack_top, AD_stack_pop, AD_stack_clear): Likewise. (obstack_init_minimal, ds_init, ds_clear, ds_free): Likewise. (AD_pop_and_chdir, AD_ensure_initialized, AD_mark_helper): Likewise. (AD_mark_as_unremovable, AD_mark_current_as_unremovable): Likewise. (AD_push_initial, AD_push, AD_push, AD_is_removable): Likewise. (write_protected_non_symlink): Change 3rd parameter from dirstack_state "ds" to full_name. (prompt): Adjust parameters. Now, state comes from FTS/FTSENT pair. Those replace fd_cwd and "ds". Remove "filename". Remove pdirent_type in favor of new "is_dir" parameter. Rename is_empty to is_empty_p. (DO_RMDIR, DO_UNLINK): Remove definitions. (remove_entry, fd_to_subdirp, compare_ino): Remove functions. (dirent_count, dirent_inode_sort_may_be_useful): Likewise. (preprocess_dir): Likewise. (fts_skip_tree, mark_ancestor_dirs, excise, rm_fts): New functions. (remove_cwd_entries, remove_dir, rm_1): Remove functions. (rm): Rewrite as a simple loop calling fts_read and dispatching each entry via rm_fts. * src/rm.c (main): Adapt to new signature of rm(). * bootstrap.conf (gnulib_modules): Remove unlinkdir, no longer used. * src/Makefile.am (sc_tight_scope): Also recognize an extern "enum" declaration. * tests/rm/empty-name: Adjust expected output to match new diagnostic. * NEWS (Improvements): Mention it.
2009-09-11maint: doc: adjust README-releaseJim Meyering
* README-release: Remove mention of bootstrap's old --gnulib-srcdir=/gnulib option. No longer needed, and its use can lead to subtle problems.
2009-09-11post-release administriviaJim Meyering
* NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
2009-09-11version 7.6Jim Meyering
* NEWS: Record release date.
2009-09-10link,ln: use gnulib's link module to work around Solaris 10 deficiencyJim Meyering
Before this change, :>f; ln -T f no-such/ would succeed on Solaris 10. After it, ln fails, as it should: ln: accessing `z/': Not a directory The command, link f no-such/, had the same problem on that system. * bootstrap.conf (gnulib_modules): Add "link". * tests/ln/slash-decorated-nonexistent-dest: New test. * tests/Makefile.am (TESTS): Add it. * NEWS (Portability): Mention the improvement.
2009-09-10build: update gnulib submodule to latestJim Meyering
2009-09-10doc: improve various BLOCKSIZE and SIZE helpOndřej Vašík
* doc/coreutils.texi (multiplierSuffixes): Mention that the suffix can be specified without a leading number * src/split.c (usage): Refactor SIZE help to within a function * src/truncate.c (usage): Likewise * src/ls.c (usage): Likewise * src/df.c (usage): Likewise. Also add a function with BLOCKSIZE help * src/du.c (usage): Likewise. * src/system.h: Define 2 functions to emit common help text This was prompted by https://bugzilla.redhat.com/show_bug.cgi?id=511188
2009-09-10dd conv=unblock: print final newline consistentlyJim Meyering
* src/dd.c (dd_copy) [C_UNBLOCK]: Always print the final newline for non-empty output, not just when output size is a multiple of cbs. * doc/coreutils.texi (dd invocation) [conv=unblock]: Mention that dd prints a newline after each output record, not just when replacing trailing spaces. Reported by Ulrich Drepper. * tests/dd/unblock: New file. Test for this. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it.
2009-09-09maint: make cfg.mk slightly more genericJim Meyering
* cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE).
2009-09-08* gnulib: Update submodule to latest.Jim Meyering
2009-09-08tail: make the new piped-stdin test as portable as the old oneJim Meyering
* src/tail.c (main): Adapt piped-stdin test to use the same isapipe, test as was used in the preceding POSIXLY_CORRECT condition. Remove the now-subsumed POSIXLY_CORRECT test. Reported by Pádraig Brady. * doc/coreutils.texi (tail invocation): Document this change. * NEWS (Changes in behavior): Reclassify, clarify.
2009-09-08tests: tail-2/assert: reduce risk of race conditionPádraig Brady
* tests/tail2/assert: This reverts commit be853120, 25-08-2009, "tests: tail-2/assert: avoid risk of race condition" kill -0 doesn't send a signal and so will only confirm that the background process was forked, which we know already because we have its pid.
2009-09-08tests: address a race condition in misc/cat-bufPádraig Brady
* tests/misc/cat-buf: Increase the delay between writes to decrease the chance that dd will read both at once. Since the test is inherently racy, print a warning via skip_test_ rather than failing outright. Reported by Jim Meyering.
2009-09-07tail: syntax-only: use "false", rather than equivalent, 0Jim Meyering
* src/tail.c (record_open_fd): Initialize "->ignore" to false, not 0.
2009-09-07tail: ignore -f for piped-stdin, as POSIX requiresJim Meyering
* src/tail.c (main): Tailing a pipe "forever" is not useful, and POSIX specifies that tail ignore the -f when there is no file argument and stdin is a FIFO or pipe. So we do that. In addition, GNU tail excludes "-" arguments from the list of files to tail forever, when the associated file descriptor is connected to a FIFO or pipe. Before this change, ":|tail -f" would hang. Reported by Ren Yang and Ulrich Drepper. * tests/tail-2/pipe-f: Test for this. * tests/tail-2/pipe-f2: Ensure tail doesn't exit early for a fifo. * tests/Makefile.am (TESTS): Add these tests. * NEWS (POSIX conformance): Mention it.
2009-09-07tests: tail-2/flush-initial should not rely on stdbufPádraig Brady
* tests/tail-2/flush-initial: stdbuf is not built on all systems. In any case it's redundant since stdout will automatically be buffered since we're redirecting to file. So just call tail without using stdbuf.
2009-09-07tail: don't give up on inotify mode for an already-ignored "-"Jim Meyering
* src/tail.c (main): Adjust today's change to honor the F[i].ignore flag that may have been set in tail_file.
2009-09-07tests: misc/cat-buf: clean up syntaxJim Meyering
* tests/misc/cat-buf: Don't suppress dd's stderr. Remove useless quotes.
2009-09-07tests: ls/color-clear-to-eol: append NL to accommodate old sedJim Meyering
* tests/ls/color-clear-to-eol: Some vendor sed programs fail to operate on lines that are not NL-terminated. This affects at least Solaris 10's /bin/sed. Reported by Pádraig Brady.
2009-09-07tests: tail-2/infloop-1: avoid rare test failure on a busy systemJim Meyering
* tests/tail-2/infloop-1: Sleep 3 seconds, not 1, but in increments of 0.1 second. Before, this test would fail ~1 time in 20 via "make -j9 check" on a quad-core system. Correct comment.
2009-09-07build: update gnulib submodule to latestJim Meyering
2009-09-07doc: tweak NEWSJim Meyering
* NEWS (dd): Tweak wording. Two blank lines between sections.
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.