Jim Meyering [Sat, 7 Mar 2009 12:27:29 +0000 (13:27 +0100)]
build: avoid "multiply defined..." warning from automake
* Makefile.am (AM_CFLAGS): Add $(WARN_CFLAGS) via +=, not =, to
avoid "multiply defined..." warning from automake.
Jim Meyering [Fri, 6 Mar 2009 09:27:43 +0000 (10:27 +0100)]
cat: use larger buffer sizes to reduce read/write-syscall overhead
* src/cat.c (max): Remove definition. Use MAX from system.h instead.
(compute_buffer_size): New function to compute the input and output
buffer sizes, which are now set at 8 times st_blksize with a maximum
of 32KiB. Previously the typical block sizes used were 1KiB for pipes
and 4KiB for files, and now will be 8KiB and 32KiB respectively.
(main): Use it.
This change can double throughput on modern systems. For timings,
see http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/16040
Suggestion from Tzvi Rotshtein.
Jim Meyering [Fri, 6 Mar 2009 09:49:18 +0000 (10:49 +0100)]
maint: avoid new unused-macro warnings from gcc
* src/ls.c (ASSERT_MATCHING_DEV_INO): Comment-out unused definition,
to match commented-out use.
* src/install.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE):
(READ_SIZE): Remove definitions of unused macros.
* src/mv.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): Likewise.
* src/dd.c (max): Likewise.
* src/expand.c (OUTPUT_BLOCK): Likewise.
* src/csplit.c (ALLOC_SIZE): Likewise.
* src/pr.c (NULLCOL): Likewise.
* src/ptx.c (Sword): Likewise.
* src/unexpand.c (OUTPUT_BLOCK): Likewise.
* src/factor.c (NDEBUG): Likewise.
Jim Meyering [Fri, 6 Mar 2009 10:12:32 +0000 (11:12 +0100)]
tests: fix just-introduced typo in rm/ext3-perf
* tests/rm/ext3-perf: Fix typo in commit
2b1e6636bea,
2009-02-27 "tests: rm/ext3-perf: relax this test".
Jim Meyering [Fri, 6 Mar 2009 06:18:09 +0000 (07:18 +0100)]
maint: remove spurious case-ignoring option from a test
* maint.mk (sc_trailing_blank): Remove useless/harmless ignore_case=1.
Ralf Wildenhues [Mon, 2 Mar 2009 21:33:05 +0000 (22:33 +0100)]
policy: use git to help avoid trailing white space
* HACKING (Avoid trailing white space): Describe how git can help.
Andreas Schwab [Tue, 3 Mar 2009 17:12:25 +0000 (18:12 +0100)]
Update Andreas Schwab's email address
* THANKS: Update Andreas Schwab's email address.
Jim Meyering [Tue, 3 Mar 2009 07:24:29 +0000 (08:24 +0100)]
maint: improve release-related process and documentation
* README-release: Fix typo. it's "maintainer-clean".
Refer to HACKING for full list of dependencies.
Use cvs add's -ko option to inhibit $Id$-style keyword expansion.
* maint.mk (web-manual): Factor out definition of $(manual_title).
(vc-dist): Set XZ_OPT=-9ev for the final "make dist".
* cfg.mk (manual_title): Define it here.
Suggestions from Eric Blake.
Jim Meyering [Sun, 1 Mar 2009 20:29:21 +0000 (21:29 +0100)]
dist: document our release procedure
* README-release: New file.
Jim Meyering [Fri, 27 Feb 2009 12:56:49 +0000 (13:56 +0100)]
dist: automate the post-release web-manual update process
* maint.mk (web-manual): New rule, from m4's maint.mk.
* bootstrap.conf (gnulib_modules): Add gendocs.
Jim Meyering [Fri, 27 Feb 2009 11:54:01 +0000 (12:54 +0100)]
tests: rm/ext3-perf: relax this test
* tests/rm/ext3-perf: If set-up takes too long, use the set-up time
as the removal time limit. Otherwise, a parallel "make check" would
usually fail when run with RUN_VERY_EXPENSIVE_TESTS=yes.
Jim Meyering [Fri, 27 Feb 2009 08:09:18 +0000 (09:09 +0100)]
tests: don't skip setgid-dir related tests on SELinux-enabled systems
* tests/setgid-check: The change in ls (use ".", not "+") caused
this check always to report the working directory as set-gid.
Now, use stat, not ls.
Jim Meyering [Fri, 27 Feb 2009 08:16:45 +0000 (09:16 +0100)]
tests: reflect the s/+/./ SELinux indicator change
* tests/mkdir/perm: Now that this test is no longer always skipped,
make it work independently of ls: use stat, not ls, to get perm string.
* test-lib.sh (rwx_to_mode_): Use stat, not ls to get perm string
This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set.
Jim Meyering [Fri, 27 Feb 2009 08:12:14 +0000 (09:12 +0100)]
tests: when skipping a test, say why on screen, not just in the log
* tests/test-lib.sh: Redirect also to descriptor 9.
Better one-line why-skip diagnostics.
* tests/check.mk (TESTS_ENVIRONMENT): Redirect 9 to stderr.
* tests/misc/pwd-unreadable-parent: Remove redundant "skipping..." diag.
Jim Meyering [Sat, 14 Feb 2009 10:29:20 +0000 (11:29 +0100)]
maint: enable many gcc warnings
* bootstrap.conf (gnulib_modules): Add manywarnings.
* configure.ac: Use gl_MANYWARN_ALL_GCC, and exclude options
I don't want or that provoke too many warnings.
(WARN_CFLAGS, WERROR_CFLAGS): Define.
(lint, GNULIB_PORTCHECK): Define.
(_FORTIFY_SOURCE): Define to 2.
Jim Meyering [Sat, 14 Feb 2009 10:22:22 +0000 (11:22 +0100)]
maint: avoid gcc warning about missing attributes
* src/prog-fprintf.h (prog_fprintf): Declare with printf attribute.
* src/system.h (usage): Declare with the "noreturn" attribute.
Jim Meyering [Sat, 14 Feb 2009 10:26:14 +0000 (11:26 +0100)]
maint: avoid warnings about potentially-counterproductive "inline"
* src/dd.c (quit): Remove "inline" attribute.
* src/test.c (advance, unary_advance): Likewise.
Jim Meyering [Sat, 14 Feb 2009 09:45:53 +0000 (10:45 +0100)]
maint: cp: avoid gcc warning about unused macro definitions
* src/cp.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): Remove.
Jim Meyering [Mon, 2 Mar 2009 07:40:41 +0000 (08:40 +0100)]
dist: do not emit MD5 or SHA1 checksums into announcement template
* maint.mk (announcement): Use announce-gen's new --no-print-checksums.
Jim Meyering [Tue, 24 Feb 2009 20:43:26 +0000 (21:43 +0100)]
maint: detect unnecessary inclusion of signal.h
* maint.mk (sc_prohibit_signal_without_use): New rule.
Jim Meyering [Tue, 24 Feb 2009 20:44:51 +0000 (21:44 +0100)]
maint: remove an unnecessary inclusion of <signal.h>
* src/operand2sig.c: Don't include <signal.h>.
Pádraig Brady [Fri, 27 Feb 2009 08:40:42 +0000 (08:40 +0000)]
tests: sort: Check skipping blanks in multibyte locales
* tests/misc/sort: On Fedora 8 at least, sort -k1b,1
mishandles blanks in multibyte locales, so add test.
Jim Meyering [Wed, 25 Feb 2009 14:37:58 +0000 (15:37 +0100)]
* HACKING: avoid trailing white space
Jim Meyering [Fri, 27 Feb 2009 08:23:44 +0000 (09:23 +0100)]
cp: diagnose invalid "cp -rl dir dir" right away, once again
Running "mkdir dir; cp -rl dir dir" would create dir/dir/dir/...
rather than diagnosing the "copy-into-self" failure.
The easy fix would have been to revert this part of the change
[
3ece0355 2008-11-09 cp: use far less memory in some cases]
that introduced the bug:
- remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev);
+ if (!x->hard_link)
+ remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev);
However, that would have induced the failure of the new cp/link-heap
test, due to the added memory pressure of recording 10k dev/ino pairs.
And besides, I liked that improvement and wanted to keep it.
Now that it's obvious recording the just-created-directory dev/ino
needn't depend on the setting of hard_link, I realized it is necessary
to record the pair only for the first directory created for each
source command-line argument.
I made that change, then noticed the new test, cp -rl a d d, would pass
when run once, yet output the into-self diagnostic twice. Also note
the side effect: it creates d/a and d/d. However, running that same
command a second time, now with the modified directory, would fail.
That turned out to be due to the fact that although the first into-self
failure was detected in copy_dir, that function would continue copying
other entries regardless -- and that would make it fail (eventually)
with the unwanted recursion.
* src/copy.c (copy_internal): This function needed an indicator of
whether, for a give command line argument, it had already created its
first directory. If so, no more need to record dev/ino pairs. If this
is the first, then do record its pair. Hence, the new parameter.
(copy_dir, copy): Update callers.
(copy_dir): Upon any into-self failure, break out of the loop.
* tests/cp/into-self: Test for the above.
Reported by Mikael Magnusson.
Jim Meyering [Thu, 26 Feb 2009 19:25:42 +0000 (20:25 +0100)]
tests: stty-row-col would hang when run in the background
* tests/misc/stty-row-col: Don't hang when run in background
at least on Solaris 10 and OpenBSD.
Pádraig Brady [Tue, 24 Feb 2009 08:37:18 +0000 (08:37 +0000)]
sort: Fix two bugs with determining the end of field
* src/sort.c: When no specific number of chars to skip
is specified for the end field, always skip the whole field.
Also never include leading spaces from next field.
* tests/misc/sort: Add 2 new tests for these cases.
* NEWS: Mention this bug fix.
* THANKS: Add bug reporter.
Reported by Davide Canova.
Eric Blake [Thu, 26 Feb 2009 13:54:48 +0000 (06:54 -0700)]
argv-iter: avoid variadic macro
* gl/lib/argv-iter.h (_ATTRIBUTE_NONNULL_): Don't assume C99 variadic
macros are portable yet; needed for at least IRIX/MIPSpro.
* THANKS: Update.
Reported by Stuart Shelton.
Pádraig Brady [Thu, 26 Feb 2009 00:01:06 +0000 (00:01 +0000)]
tests: Remove system specific error strings
* tests/dd/skip-seek-past-file: Just check for
the non system specific part of the error strings.
This was causing an erroneous failure on NetBSD 1.6 at least.
Jim Meyering [Wed, 25 Feb 2009 18:51:04 +0000 (19:51 +0100)]
tests: using printf with \e for ESC isn't portable
* tests/ls/color-clear-to-eol: Use \33, not \e for ascii ESC.
This test failed when using the built-in printf of /bin/sh from
NetBSD 1.6.
Pádraig Brady [Tue, 24 Feb 2009 09:47:00 +0000 (09:47 +0000)]
Ensure comment for translators is included in po file
Issue reported by Göran Uddeborg.
* src/system.h: Move the translator comment adjacent
to the translated string.
* THANKS: Update Göran's email address.
Tobias Stoeckmann [Sun, 22 Feb 2009 15:30:48 +0000 (16:30 +0100)]
truncate: fix typo in man page
* man/truncate.x: Fix spelling.
* THANKS: Update.
Andrew Church [Sun, 22 Feb 2009 09:25:01 +0000 (10:25 +0100)]
doc: describe dd's status=noxref option
* doc/coreutils.texi (dd invocation): Describe status=noxref.
Jim Meyering [Sun, 22 Feb 2009 00:42:43 +0000 (01:42 +0100)]
tests: reenable temporarily-disabled tests using e.g., trap '' TTOU
Revert "tests: skip newly-modified tests unconditionally..."
This reverts commit
773a88d33f68e50a2919c8a8310c646a7e5fabc2.
* tests/misc/stty: Don't skip.
* tests/misc/stty-invalid: Likewise.
* tests/mv/i-3: Likewise.
James Youngman [Sun, 22 Feb 2009 00:41:13 +0000 (00:41 +0000)]
update James Youngman's email address
* THANKS: Update James Youngman's email address
Jim Meyering [Sat, 21 Feb 2009 21:49:24 +0000 (22:49 +0100)]
post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Jim Meyering [Sat, 21 Feb 2009 21:35:33 +0000 (22:35 +0100)]
version 7.1
* NEWS: Record release date.
Jim Meyering [Sat, 21 Feb 2009 20:31:34 +0000 (21:31 +0100)]
* README: Mention that c99-to-c89.diff is no longer maintained.
Jim Meyering [Sat, 21 Feb 2009 18:48:30 +0000 (19:48 +0100)]
tests: skip new install-C test if working directory is set-gid
* tests/install/install-C: Use setgid-check.
Jim Meyering [Sat, 21 Feb 2009 14:56:26 +0000 (15:56 +0100)]
tests: skip newly-modified tests unconditionally, just to be safe
* tests/misc/stty-invalid: Skip.
* tests/misc/stty: Likewise.
* tests/mv/i-3: Likewise.
Jim Meyering [Sat, 21 Feb 2009 10:30:41 +0000 (11:30 +0100)]
tests: don't let SIGTTOU/TTIN hang a backgrounded "make check"
Running "make check &" would hang due to SIGTTOU and SIGTTIN signals.
* tests/misc/stty: Ignore SIGTTOU.
* tests/misc/stty-invalid: Likewise.
* tests/mv/i-3: Ignore SIGTTIN.
Jim Meyering [Fri, 20 Feb 2009 18:31:31 +0000 (19:31 +0100)]
doc: ls: clarify description of -s
* src/ls.c (usage): Make the description of -s mention "allocated size",
so that it's less likely to be confused with an apparent byte-count.
Suggested by Vito Caputo.
Jim Meyering [Thu, 19 Feb 2009 11:35:58 +0000 (12:35 +0100)]
doc: dd: document that the default block size is 512 bytes
* src/dd.c (usage): Document the default block size.
* doc/coreutils.texi (dd invocation): Document that the default
block size (bs, ibs, obs) is 512 bytes.
Reported by Petr Uzel.
Jim Meyering [Wed, 18 Feb 2009 15:09:45 +0000 (16:09 +0100)]
maint: changing NEWS' copyright date must not invalidate checksum
* maint.mk (NEWS_hash): Don't let the Copyright date line contribute
to the checksum.
* cfg.mk (old_NEWS_hash): Update to reflect the new policy.
Jim Meyering [Wed, 18 Feb 2009 13:50:04 +0000 (14:50 +0100)]
doc: explain how to recover from changes committed to master
* HACKING: A beginner's commit-to-master is so common,
and causes enough confusion, that we describe how to recover.
Jim Meyering [Wed, 18 Feb 2009 13:34:23 +0000 (14:34 +0100)]
maint: add copyright notices
* HACKING: Add copyright notice.
* tests/test-lib.sh: Likewise.
Ondřej Vašík [Tue, 17 Feb 2009 14:53:39 +0000 (15:53 +0100)]
cp: -a now preserves SELinux context, with reduced diagnostics
* copy.c (copy_reg): Reduce SELinux context diagnostics for 'cp -a'.
(copy_internal): Likewise
* copy.h (cp_options): Add boolean reduce_diagnostics.
* cp.c (usage): Say that --archive (-a) behaves like -dR --preserve=all.
(cp_option_init): Initialize added reduce_diagnostics.
(main): Add reduce_diagnostics for the -a option, and preserve SELinux
context, if possible.
* mv.c (cp_options_init): Initialize new cp_options booleans.
* install.c (cp_option_init): Likewise.
* NEWS: Mention those behaviour changes.
* doc/coreutils.texi: Document --preserve=context, document that
diagnostics are not shown for failures of non-mandatory attributes
(just SELinux at the moment).
* tests/cp/cp-a-selinux: Check not only failures, but succesful use
of preserving SELinux context in cp.
Eric Blake [Wed, 18 Feb 2009 13:07:30 +0000 (06:07 -0700)]
add missing copyright dates
* NEWS: Add 2009 to copyright.
* README: Likewise.
* README-hacking: Likewise.
* TODO: Likewise.
* doc/Makefile.am: Likewise.
* m4/prereq.m4: Likewise.
* src/nl.c: Likewise.
* src/seq.c: Likewise.
* tests/cp/cp-i: Likewise.
* tests/install/install-C: Likewise.
* tests/install/install-C-root: Likewise.
* tests/install/install-C-selinux: Likewise.
* tests/misc/seq: Likewise.
* tests/mv/mv-n: Likewise.
Eric Blake [Tue, 17 Feb 2009 14:58:39 +0000 (07:58 -0700)]
install: compare files in binary mode
* src/install.c (need_copy): Use O_BINARY when it matters.
Kamil Dudka [Tue, 17 Feb 2009 12:16:54 +0000 (13:16 +0100)]
install: add --compare (-C) option to install file only when necessary
* src/install.c (have_same_content): New function to compare files
content.
(extra_mode): New function checking for non-permission bits in mode.
(need_copy): New function to check if copy is necessary.
(main): Handle new option --compare (-C).
(copy_file): Skip file copying if not necessary.
(usage): Show new option --compare (-C) in --help.
* tests/install/install-C: Basic tests for install --compare (-C).
* tests/install/install-C-root: Tests requiring root privileges.
* tests/install/install-C-selinux: Tests requiring SELinux.
* tests/Makefile.am: Add new tests for install --compare (-C).
* doc/coreutils.texi: Document new install option --compare (-C).
* NEWS: Mention the change.
Ondřej Vašík [Tue, 17 Feb 2009 12:29:33 +0000 (13:29 +0100)]
nl: correct long-option name for -v in usage
* nl.c (usage): Use --starting-line-number, not --first-page for -v
Jim Meyering [Sat, 14 Feb 2009 08:09:17 +0000 (09:09 +0100)]
doc: id: make --help and .man more descriptive
* src/id.c (usage): Improve description, based on a suggestion
from Brian M. Carlson in http://bugs.debian.org/514675
* man/id.x: Use a better one-liner, based on the one at top of id.c.
Pádraig Brady [Sat, 14 Feb 2009 17:20:37 +0000 (17:20 +0000)]
seq: Fix equal width calculation when '.' added to last number
Issue reported by Samuel Hapák.
<http://lists.gnu.org/archive/html/bug-coreutils/2009-02/msg00139.html>
* src/seq.c: Account for '.' added to "last" number.
* tests/misc/seq: Add corresponding test.
* NEWS: Mention the fix.
Jim Meyering [Wed, 11 Feb 2009 11:26:14 +0000 (12:26 +0100)]
du,chgrp,chmod,chown: use FTS_DEFER_STAT
* src/du.c (main): Use FTS_DEFER_STAT, for better locality of inode
reference. Important when traversing file systems with fake inodes.
* src/chgrp.c (main): Likewise.
* src/chmod.c (main): Likewise.
* src/chown.c (main): Likewise.
The only remaining fts client, chcon, doesn't need this, since it goes
further and uses FTS_NOSTAT, which suppresses all non- directory
stat calls.
Pádraig Brady [Thu, 12 Feb 2009 13:51:03 +0000 (13:51 +0000)]
maint: mention how to run a single test in HACKING docs
* HACKING: Give an example of how to run a test in isolation.
* README: Fix/simplify example for running a single test.
* README-hacking: Reference the HACKING file.
Eric Blake [Thu, 12 Feb 2009 04:09:09 +0000 (21:09 -0700)]
ln: add details to --help text
* src/ln.c (usage): Mention more about symlink properties.
* doc/coreutils.texi (ln invocation): Likewise.
* THANKS: Update.
Reported by Vitali Lovich.
Signed-off-by: Eric Blake <ebb9@byu.net>
Jim Meyering [Wed, 31 Dec 2008 18:17:31 +0000 (19:17 +0100)]
ls: clean up after wrapped+colored file names with clear-to-EOL
This change addresses a relatively unusual case: ls --color, with
a highlighted name being printed initially in the last row of a
terminal emulator (possibly followed by other lines of output) such
that it is wrapped onto the following line, as the terminal emulator
scrolls the output. That would cause the entire following line to
be highlighted, even if the name happened to use only one position.
The least-invasive patch would have made colorized output larger for
all uses. The approach taken below is more invasive, but limits the
increase in overhead to only those lines that are expected to wrap.
* src/ls.c (enum indicator_no): Add C_CLR_TO_EOL.
(indicator_name): Add "cl".
(color_indicator): Add default escape codes for "cl".
(print_long_format): Propagate width to print_name_with_quoting.
(print_name_with_quoting): Print new C_CLR_TO_EOL string if needed.
Return the width of what we're printing.
(print_file_name_and_frills): Propagate width.
(print_type_indicator): Return bool (aka width).
(print_many_per_line): Pass column position to print_* function.
(print_current_files): Likewise.
(print_horizontal): Likewise.
(print_with_commas): Likewise.
* src/dircolors.c (slack_codes): Add "CLRTOEOL".
(ls_codes): Add "cl".
* tests/ls/color-clear-to-eol: New file. Test for this fix.
* tests/Makefile.am (TESTS): Add ls/color-clear-to-eol.
* THANKS: Update.
Reported by Alexander V. Lukyanov. See thread for details:
http://thread.gmane.org/gmane.linux.kernel/740021/focus=14824
Thanks to Jan Engelhardt for helping me reproduce the problem.
Demonstrate with this in an 80-column xterm:
seq 200 # to start in the "bottom" row
touch zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.foo
env LS_COLORS='*.foo=0;31;42' ls -og --color=always
Before the fix, you'd see something like this:
(where the file name is printed in red on a green background,
and each "=" denotes a space on a green background)
...
-rw-r--r-- 1 0 Feb 5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\
zzzzzzzzzzzzzz.foo===================================================
After the patch, the trailing green spaces are gone:
-rw-r--r-- 1 0 Feb 5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\
zzzzzzzzzzzzzz.foo
Jim Meyering [Tue, 10 Feb 2009 13:30:06 +0000 (14:30 +0100)]
* tests/test-lib.sh: Use skip_test_... in place of echo...;exit 77.
Nix [Tue, 10 Feb 2009 08:04:23 +0000 (08:04 +0000)]
tests: avoid skipping stty-* tests
* tests/test-lib.sh (require_controlling_input_terminal_):
Check stdout, not stdin.
Jim Meyering [Mon, 9 Feb 2009 10:44:17 +0000 (11:44 +0100)]
touch: deprecate --file option: equivalent to --reference (-r)
* src/touch.c: Mark long-undocumented --file for removal in 2010.
(main): Warn upon use of --file.
Pádraig Brady [Fri, 6 Feb 2009 02:01:43 +0000 (02:01 +0000)]
tests: fix dd skip=greater_max_file_size test on Solaris 10
* tests/dd/skip-seek-past-file: I had previously commented that
on some systems lseek(> max file size) may succeed, but left
the possibility of failure in that case, so that I could determine
specific systems to put in the comments for both failure modes.
Jim Meyering [Thu, 5 Feb 2009 13:53:10 +0000 (14:53 +0100)]
avoid spurious parentheses/arith-op-related warnings from newer gcc
* src/copy.c (set_owner): Use && rather than &.
* src/stty.c (main): Likewise.
* src/wc.c (wc): Likewise.
Jim Meyering [Mon, 2 Feb 2009 08:37:08 +0000 (09:37 +0100)]
maint: tighten atoi/atof-prohibiting regexp, clean up .x-sc- file
* maint.mk (sc_prohibit_atoi_atof): Require "(" after token.
* .x-sc_prohibit_atoi_atof: Remove names that no longer contain a match.
Jim Meyering [Sun, 1 Feb 2009 19:29:14 +0000 (20:29 +0100)]
doc: preserve --help line breaks in 'REPORTING BUGS' man page section
* man/help2man: Insert .br between adjacent lines.
Jim Meyering [Sun, 1 Feb 2009 19:23:06 +0000 (20:23 +0100)]
* src/system.h (emit_bug_reporting_address): Remove periods.
Jim Meyering [Thu, 20 Nov 2008 10:28:31 +0000 (10:28 +0000)]
update copyright dates from recent changes
* src/dd.c: Add 2009 to list of copyright years.
* tests/dd/seek-skip-past-file: Likewise.
* tests/dd/seek-skip-past-dev: Likewise.
* m4/xattr.m4: Likewise.
* src/copy.h: Likewise.
Jim Meyering [Sun, 1 Feb 2009 19:19:03 +0000 (20:19 +0100)]
* maint.mk (sc_redundant_const): Use $(_prohibit_regexp).
jidanni@jidanni.org [Thu, 29 Jan 2009 15:04:46 +0000 (23:04 +0800)]
date doc: warn at -d about LC_TIME
We also warn here about LC_TIME, so the user will know even if he
doesn't look in the @xref{Date input formats}.
jidanni@jidanni.org [Thu, 29 Jan 2009 15:03:49 +0000 (23:03 +0800)]
document sort --ignore-case --unique interaction
Jim Meyering [Sat, 31 Jan 2009 08:39:12 +0000 (09:39 +0100)]
maint: detect useless inclusion of c-ctype.h
* maint.mk (sc_prohibit_c_ctype_without_use): New rule.
Jim Meyering [Thu, 29 Jan 2009 09:46:39 +0000 (10:46 +0100)]
maint: teach "make syntax-check" to print each check name as it's run
* maint.mk (%.m): New rules to print each syntax-checking rule name,
just before running its commands.
($(syntax-check-rules)): Depend on it.
Jim Meyering [Thu, 29 Jan 2009 09:44:25 +0000 (10:44 +0100)]
maint: silence some syntax-check rules
* cfg.mk (sc_strftime_check): Silence the rule.
(sc_tight_scope): Likewise.
* src/Makefile.am (check-AUTHORS): Likewise.
Jim Meyering [Thu, 29 Jan 2009 09:44:10 +0000 (10:44 +0100)]
maint: factor syntax-check rules
* maint.mk (_ignore_case): New macro.
(_prohibit_regexp): Use it.
Factor many existing syntax-check rules to use $(_prohibit_regexp).
Kamil Dudka [Fri, 23 Jan 2009 11:17:53 +0000 (12:17 +0100)]
cp/mv: add xattr support
This patch was originally written by Andreas Grünbacher, nowadays
available at
http://www.suse.de/~agruen/coreutils/5.91/coreutils-xattr.diff
* bootstrap.conf: Add gnulib module verror.
* po/POTFILES.in: Add lib/verror.c.
* m4/xattr.m4: Check for libattr availability, new configure option
--disable-xattr.
* m4/prereq.m4: Require gl_FUNC_XATTR.
* src/Makefile.am: Link cp, mv and ginstall with libattr.
* src/copy.h: Add preserve_xattr and require_preserve_xattr to
cp_options.
* src/copy.c (copy_attr_error): New function to handle errors during
xattr copying.
(copy_attr_quote): New function to quote file name in error messages
printed by libattr.
(copy_attr_free): Empty function requested by libattr to free quoted
string.
(copy_attr_by_fd): New fd-oriented function to copy xattr.
(copy_attr_by_name): New name-oriented function to copy xattr.
(copy_reg, copy_internal): Call copy_extended_attributes function.
* src/cp.c (usage): Mention new --preserve=xattr option.
(decode_preserve_arg): Handle new --preserve=xattr option.
* src/mv.c: Always attempt to preserve xattr.
* src/install.c: Never attempt to preserve xattr.
* tests/misc/xattr: New test for xattr support in cp, mv and install.
* tests/Makefile.am: Add the new test to list.
* doc/coreutils.texi: Mention xattr support, new --preserve=xattr
option.
* NEWS: Mention the change.
Jim Meyering [Wed, 28 Jan 2009 17:36:08 +0000 (18:36 +0100)]
system.h: add a comment re autoconf's new AC_PACKAGE_URL
* src/system.h (emit_bug_reporting_address): Add a comment
suggesting to use AC_PACKAGE_URL once we require autoconf-2.64.
Pádraig Brady [Wed, 28 Jan 2009 16:42:20 +0000 (16:42 +0000)]
tests: Fixup shred-passes test
* tests/misc/shred-passes: Set the $fail variable correctly.
The issue was noticed by Jim Meyering.
Pádraig Brady [Mon, 26 Jan 2009 02:19:13 +0000 (02:19 +0000)]
tests: Add a test to verify shred's default operations
* tests/Makefile.am: add new test
* tests/misc/shred-passes: Verify the operations shred
does by default to overwrite and remove a zero length file.
Pádraig Brady [Thu, 20 Nov 2008 10:28:31 +0000 (10:28 +0000)]
dd: Better handle user specified offsets that are too big
Following are the before and after operations for seekable files,
for the various erroneous offsets handled by this patch:
skip beyond end of file
before: immediately exit(0);
after : immediately printf("cannot skip to specified offset"); exit(0);
skip > max file size
before: read whole file and exit(0);
after : immediately printf("cannot skip: Invalid argument"); exit(1);
seek > max file size
before: immediately printf("truncate error: EFBIG"); exit(1);
after : immediately printf("truncate error: EFBIG"); exit(1);
skip > OFF_T_MAX
before: read whole device/file and exit(0);
after : immediately printf("cannot skip:"); exit(1);
seek > OFF_T_MAX
before: immediately printf("truncate error: offset too large"); exit(1);
after : immediately printf("truncate error: offset too large"); exit(1);
skip > device size
before: read whole device and exit(0);
after : immediately printf("cannot skip: Invalid argument"); exit(1);
seek > device size
before: read whole device and printf("write error: ENOSPC"); exit(1);
after : immediately printf("cannot seek: Invalid argument"); exit(1);
* NEWS: Summarize this change in behavior.
* src/dd.c (skip): Add error checking for large seek/skip offsets on
seekable files, rather than deferring to using read() to advance offset.
(dd_copy): Print a warning if skip past EOF, as per FIXME comment.
* test/Makefile.am: Add 2 new tests.
* tests/dd/seek-skip-past-file: Add tests for first 3 cases above.
* tests/dd/seek-skip-past-dev: Add root only test for last case above.
Jim Meyering [Tue, 27 Jan 2009 18:43:45 +0000 (19:43 +0100)]
doc: emit better bug-reporting info, to help help2man
* src/system.h (emit_bug_reporting_address): End each "sentence"
with period, mark URLs with <...>.
Based on a suggestion from Eric Blake.
Use fputs on a string without %s, not printf.
Jim Meyering [Tue, 27 Jan 2009 18:42:00 +0000 (19:42 +0100)]
doc: ensure that emit_bug_reporting_address changes propagate to *.1
* man/Makefile.am ($(MAN)): Depend on system.h.
Jim Meyering [Tue, 27 Jan 2009 18:16:10 +0000 (19:16 +0100)]
doc: restore "REPORTING BUGS" section to generated man pages
* man/help2man ($PAT_BUGS): Update regexp to match the newer
"Report PROG bugs ..." --help output, as well as "Report bugs...".
Reported by Eric Blake.
Jim Meyering [Mon, 26 Jan 2009 17:10:39 +0000 (18:10 +0100)]
tests: generalize install-transform-check
* maint.mk (install-transform-check): Generalize to work also
in a project that installs manuals in a section other than "1".
Jim Meyering [Fri, 23 Jan 2009 17:27:36 +0000 (18:27 +0100)]
build: resolve conflict with new declaration from version-etc.h
* src/system.h (emit_bug_reporting_address): Define away,
now, gnulib's version-etc.h also declares this function.
In this package, we choose to include each program's name in
the diagnostic. Define away the conflicting declaration.
(emit_bug_reporting_address): Also emit home page and
"General help..." links, like the new function does.
Reported by Bob Proulx.
Pádraig Brady [Thu, 22 Jan 2009 19:34:11 +0000 (19:34 +0000)]
doc: shred: Correct docs on default number of overwrites.
* NEWS: Mention the change to the default number of passes.
* doc/Makefile.am: Update constants.texi with the default
number of passes shred uses, so that the documentation
will automatically reflect any future changes.
* doc/coreutils.texi (shred invocation): Update the description
of the --iterations option to have the correct default number,
while still conveying that there are 25 internal patterns
that may be useful.
Pádraig Brady [Thu, 22 Jan 2009 13:09:44 +0000 (13:09 +0000)]
shred: change default number of overwrites from 25 to 3
* src/shred.c: The concensus is that a default of 3
passes is appropriate for current drive technologies.
* src/TODO: Reference Paul Eggert's suggestion
of enhancing shred to conform to DoD 5220 rules.
Jim Meyering [Wed, 21 Jan 2009 13:48:15 +0000 (14:48 +0100)]
m4: don't use AC_REQUIRE([AC_C_BIGENDIAN])
* m4/jm-macros.m4: Use AC_REQUIRE([gl_BIGENDIAN]) instead.
This avoids a subtle problem recently documented in autoconf:
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=
34e2c8d5484
Jim Meyering [Mon, 19 Jan 2009 20:27:40 +0000 (21:27 +0100)]
no longer define *_FILENO constants
* src/system.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
Remove definitions. Now guaranteed by gnulib.
Jim Meyering [Sun, 30 Nov 2008 18:35:10 +0000 (19:35 +0100)]
build: use dist-xz, not dist-lzma, cont'd
* README-hacking: mention XZ utils
* README-prereq: Add a FIXME comment.
Jim Meyering [Mon, 19 Jan 2009 11:09:12 +0000 (12:09 +0100)]
tests: tail-2/infloop-1 is racy
* tests/tail-2/infloop-1: Add a comment to that effect.
Jim Meyering [Sun, 30 Nov 2008 18:35:10 +0000 (19:35 +0100)]
build: use dist-xz, not dist-lzma
* configure.ac (AM_INIT_AUTOMAKE): s/dist-lzma/dist-xz/.
Requires recent "xz" from git://ctrl.tukaani.org/lzma-utils.git
Jim Meyering [Thu, 8 Jan 2009 12:31:01 +0000 (13:31 +0100)]
maint: remove obsolete sc_author_mark_check rule
* maint.mk (sc_author_mark_check): Remove rule.
"and" no longer appears in the definition of AUTHORS.
Jim Meyering [Fri, 16 Jan 2009 22:30:27 +0000 (23:30 +0100)]
Merge branch 'master' of git://git.sv.gnu.org/coreutils
Jim Meyering [Sat, 13 Dec 2008 13:26:25 +0000 (14:26 +0100)]
maint: enforce existing prohibition: no cvs $keywords$
* maint.mk (sc_prohibit_cvs_keyword): New rule.
Jim Meyering [Fri, 16 Jan 2009 09:16:53 +0000 (10:16 +0100)]
echo, printf, test: remove unused #include directives
* src/echo.c: Don't include "long-options.h". No longer used.
* src/printf.c: Likewise.
* src/test.c: Likewise.
Pádraig Brady [Thu, 15 Jan 2009 17:36:27 +0000 (17:36 +0000)]
pathchk: avoid -Wsign-compare warnings
* src/pathchk.c: Compare pathconf limits to _signed_ MAX constants,
as pathconf returns signed values.
Pádraig Brady [Thu, 15 Jan 2009 17:32:31 +0000 (17:32 +0000)]
pr: avoid -Wsign-compare warnings
* src/pr.c: Use unsigned variables in unsigned comparisons.
Pádraig Brady [Thu, 15 Jan 2009 17:26:59 +0000 (17:26 +0000)]
shred: avoid -Wsign-compare warnings
* src/shred.c: Use already assigned signed variable sizeof_r,
rather than the unsigned sizeof(r). Don't use signed integer
overflow check that contemporary compilers may remove anyway.
Pádraig Brady [Wed, 14 Jan 2009 19:17:39 +0000 (19:17 +0000)]
simplify mgetgroups() and avoid -Wsign-compare warnings
* gl/lib/mgetgroups.c: Avoid -Wsign-compare warning by using unsigned
types for the parameters of the new function realloc_groupbuf().
mgetgroups() was refactored to use this function rather than
explicitly allocating and copying from automatic storage itself.
* src/group-list.c: Use int rather than size_t as variable is
used in signed comparisons.
* src/id.c: ditto.
Eric Blake [Wed, 14 Jan 2009 04:59:35 +0000 (21:59 -0700)]
test, echo, printf: don't accept option abbreviation
* src/test.c (main): Directly parse accepted options, thus
avoiding abbreviations.
* src/echo.c (main): Likewise.
* src/printf.c (main): Likewise.
Kamil Dudka [Tue, 13 Jan 2009 17:35:00 +0000 (18:35 +0100)]
cp/mv: add --no-clobber (-n) option to not overwrite target
* src/cp.c (usage): Show new option -n in --help.
(main): Handle new option -n.
* src/mv.c (usage): Show new option -n in --help.
(main): Handle new option -n.
* doc/coreutils.texi: Document new cp/mv option -n.
* tests/cp/cp-i: Add tests for -f, -i and -n options.
* tests/mv/mv-n: New test for mv -n.
* tests/Makefile.am: Add test mv/mv-n to the list.
* NEWS: Mention the change.
Eric Blake [Thu, 8 Jan 2009 13:33:16 +0000 (06:33 -0700)]
option handling: make exceptions more consistent
* doc/coreutils.texi (Common options): Not all utilities reject
option abbreviations.
* src/chroot.c (main): Report correct name on failure.
* src/echo.c (usage): Clarify long option usage.
* src/setuidgid.c (usage): Likewise.
* src/hostid.c (usage): Condense.