Jim Meyering [Thu, 24 Apr 2008 10:50:24 +0000 (12:50 +0200)]
tests: move another file (expensive) into test-lib.sh
* tests/expensive: Remove file. Move contents into ...
* tests/test-lib.sh (expensive_): ...here. New function.
* tests/du/fd-leak: Update caller to use the new function.
* tests/mv/leak-fd: Likewise.
* tests/rm/hash: Likewise.
* tests/tail-2/big-4gb: Likewise.
* tests/Makefile.am (EXTRA_DIST): Remove its name.
Jim Meyering [Thu, 24 Apr 2008 10:43:20 +0000 (12:43 +0200)]
tests: cp/perm (usually not run) was failing on systems with SELinux
* tests/cp/perm: Use stat to get the permission string, not ls.
This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set
in the environment. It would fail on SELinux-enable systems
because ls-generated permission strings would not match, e.g.,
"test _-rw-r--r--+ = _-rw-r--r--" would fail.
Jim Meyering [Sun, 27 Apr 2008 19:31:08 +0000 (21:31 +0200)]
tweak HACKING advice
Jim Meyering [Thu, 24 Apr 2008 10:31:13 +0000 (12:31 +0200)]
tests: do define built_programs
* tests/check.mk (built_programs): Define here, where it's used.
This definition was in now-removed tests/misc/Makefile.am.
Jim Meyering [Wed, 23 Apr 2008 16:57:38 +0000 (18:57 +0200)]
tests: update commented-out examples in sample-test, too
* tests/sample-test: Use $top_srcdir/tests/SCRIPT_NAME, not
$top_srcdir/../SCRIPT_NAME here, too.
Ondřej Vašík [Wed, 23 Apr 2008 15:24:10 +0000 (17:24 +0200)]
tests: don't fail in a non-English locale
* tests/chmod/thru-dangling: Source lang-default.
* tests/cp/thru-dangling: Likewise.
* tests/misc/printf-surprise: Likewise.
Jim Meyering [Wed, 23 Apr 2008 12:49:20 +0000 (14:49 +0200)]
tests: remove now-unused Makefile.am
* tests/misc/Makefile.am: Remove file.
Ondřej Vašík [Wed, 23 Apr 2008 10:38:54 +0000 (12:38 +0200)]
id: do not print SELinux context when invoked with a USERNAME argument
* NEWS: Mention new behaviour.
* src/id.c (main): Do not print SELinux context when user is specified.
* tests/Makefile.am: Add the new test.
* tests/misc/id-context: New file. Test for the fix.
Problem reported by Ronny Buchmann in http://bugzilla.redhat.com/443485.
Jim Meyering [Wed, 23 Apr 2008 09:45:38 +0000 (11:45 +0200)]
id: do print the AFS-specific nameless group ID (called a PAG)
In 6.11, we mistakenly suppressed the printing of certain group IDs,
thinking they were useless AFS-specific artifacts.
This change reverts that, so now they are printed once again.
http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13345
This also reverts the bug-fix that applied solely to the new code
used to avoid printing those IDs
Revert "id bug fix: don't point to potentially clobbered static storage"
This reverts commit
f7d1c59c224f81a8bab5fa2afcaf815988f50467.
Revert "Work around AFS bug: id and groups would print invalid group number."
This reverts commit
b7a836c0a3524cda8ef79c30c3fe7ea759ae4656.
Revert "* src/c99-to-c89.diff: Accommodate a C99-ism in id.c."
This reverts commit
d44893c5dba4150b4ded9cf6aad316c1ef620c9f.
Jim Meyering [Tue, 22 Apr 2008 19:28:33 +0000 (21:28 +0200)]
build: move a project-specific definition to cfg.mk
* cfg.mk (old_NEWS_hash): Define here, ...
* maint.mk: ... not here.
(update-NEWS-hash): Update comment.
Suggestion from Eric Blake.
Jim Meyering [Tue, 22 Apr 2008 08:52:37 +0000 (10:52 +0200)]
Accommodate building on OS/2 (ecomstation.com Ecs v2 rc4)
* configure.ac: Filter out carriage returns in more places.
Reported by Elbert Pol, details here:
http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13332
Jim Meyering [Tue, 22 Apr 2008 08:45:21 +0000 (10:45 +0200)]
guard against inserting a NEWS entry into a block for a prior release
Without a guard like this, it is far too easy to apply a patch
prepared against a preceding release, and not notice that a NEWS
entry is inserted into the wrong block.
* maint.mk (sc_immutable_NEWS): New rule.
(update-NEWS-hash): New rule to update the hard-coded hash.
Jim Meyering [Tue, 22 Apr 2008 07:33:25 +0000 (09:33 +0200)]
tests: ensure that all exec-$PERL lines are the same
* maint.mk (sc_perl_coreutils_test): New rule.
Jim Meyering [Mon, 21 Apr 2008 12:47:56 +0000 (14:47 +0200)]
tests: skip (don't fail) rm/one-file-system when mount --bind fails
* tests/rm/one-file-system: Reported by Allen Hewes.
Jim Meyering [Sun, 20 Apr 2008 21:29:19 +0000 (23:29 +0200)]
tests: convert umask-check to a function
* tests/test-lib.sh (working_umask_or_skip_): New function, from...
* tests/umask-check: ...here. Remove file.
* tests/Makefile.am (EXTRA_DIST): Remove umask-check.
* tests/mkdir/perm: Use the function rather than sourcing the file.
* tests/cp/cp-parents: Likewise.
* tests/cp/parent-perm: Likewise.
Bruno Haible reported that parent-perm was failing to run umask-check.
Jim Meyering [Fri, 18 Apr 2008 14:51:34 +0000 (16:51 +0200)]
tests: adjust perl -I to use $top_srcdir/tests, not $srcdir/..
Jim Meyering [Fri, 18 Apr 2008 13:51:18 +0000 (15:51 +0200)]
tests: clean up root tests; adapt to new layout
* tests/Makefile.am (root_tests): New list.
(check-root): Add 'SUBDIRS='.
(root-hint): Point to README.
* Makefile.am (check-root): Add 'SUBDIRS=' here, too.
* maint.mk (sc_root_tests): Adapt rule to new syntax used
in tests/Makefile.am.
Jim Meyering [Thu, 17 Apr 2008 21:34:45 +0000 (23:34 +0200)]
Revamp test-related Makefiles.
One side-effect of this change is that "make check" now works even if
you put "." early in your shell's search PATH (don't do that!).
Remove all test-related Makefile.am files, except those generated
by mk-script. Instead, tests/Makefile.am now lists not only the
tests directly under tests/, but also those in tests/*/ that are
not generated by mk-script, e.g., cp/abuse, cp/acl, mv/i-1, etc.
A lot of these changes are like this:
-. $srcdir/../lang-default
+. $top_srcdir/tests/lang-default
-. $srcdir/../test-lib.sh
+. $top_srcdir/tests/test-lib.sh
* configure.ac (AC_CONFIG_FILES): Remove corresponding Makefiles.
* tests/check.mk (vc_exe_in_TESTS): Relax syntax requirements.
* tests/rwx-to-mode: Remove file. Rewritten as...
* tests/test-lib.sh (rwx_to_mode_): ...this new function.
* tests/Makefile.am (EXTRA_DIST): Remove rwx-to-mode.
(SUBDIRS): Remove each dir with a removed Makefile.am.
(EXTRA_DIST): Add $(TESTS).
(TESTS): Add over 300 entries.
Jim Meyering [Thu, 17 Apr 2008 19:58:53 +0000 (21:58 +0200)]
* tests/misc/Makefile.am (built_programs): Remove. Unused.
Jim Meyering [Sun, 20 Apr 2008 21:18:48 +0000 (23:18 +0200)]
Use "env" to invoke potential built-ins.
* tests/misc/pwd-unreadable-parent: Invoke pwd via "env -- pwd",
rather than via an absolute name.
* tests/touch/not-owner: Likewise for test.
* tests/chmod/setgid: Likewise.
Jim Meyering [Sat, 19 Apr 2008 15:20:00 +0000 (17:20 +0200)]
* .prev-version: Record previous version: 6.11.
Jim Meyering [Sat, 19 Apr 2008 14:09:36 +0000 (16:09 +0200)]
Version 6.11.
* NEWS: Record release date.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Sat, 19 Apr 2008 14:47:26 +0000 (16:47 +0200)]
* maint.mk (writable-files): Fix syntax error.
Jim Meyering [Sat, 19 Apr 2008 13:23:40 +0000 (15:23 +0200)]
* doc/.gitignore: Add texinfo-related outputs.
Sven Joachim [Sat, 19 Apr 2008 11:46:52 +0000 (13:46 +0200)]
* THANKS: Update my address, correct encoding for a name.
Jim Meyering [Sat, 19 Apr 2008 10:48:10 +0000 (12:48 +0200)]
pr -e, with a mix of backspaces and TABs, could corrupt the heap
* tests/pr/Test.pm: New tests for the above.
* src/pr.c (char_to_clump): Ensure that "input_position" never
goes below 0.
Also, elide any backspace encountered when input_position is 0,
to be compatible at least with /bin/pr from Solaris 10.
This bug is present in the original version:
b25038ce9a234ea0906ddcbd8a0012e917e6c661
* NEWS [Bug fixes]: Mention this.
Report and diagnosis by Cristian Cadar, Daniel Dunbar and Dawson Engler
in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13272
Mike Frysinger [Sat, 19 Apr 2008 06:51:30 +0000 (08:51 +0200)]
* src/dircolors.hin: Add .flv. Move .svgz to "image formats".
Jim Meyering [Fri, 18 Apr 2008 21:42:40 +0000 (23:42 +0200)]
md5sum -c: ignore a line with a NUL byte among checksum hex digits
* src/md5sum.c (hex_digits): Require that all "digest_hex_bytes"
be hexadecimal digits, not just those before the first NUL byte.
This bug dates back to the original version:
3763a4f24eb21be40674d13ff7b04e078f473e85
* tests/misc/md5sum (nul-in-cksum): Test for the above.
* NEWS [Bug fixes]: Mention this.
Prompted by a report from Flóki Pálsson in
http://bugzilla.redhat.com/439531
Matthew Woehlke [Wed, 16 Apr 2008 17:15:05 +0000 (19:15 +0200)]
tests: accommodate built-in mknod more cleanly still
* tests/mkdir/selinux: Use "env" rather than "nice".
Jim Meyering [Wed, 16 Apr 2008 13:28:33 +0000 (15:28 +0200)]
tests: accommodate built-in mknod more cleanly
* tests/mkdir/selinux: Undo most of previous change,
bc22dbbf844f31ddaf2e68b167d0128a985d73ab, and instead
invoke the command via "nice". Using "exec" should be
enough, but isn't with OpenBSD's PD KSH v5.2.14 99/07/13.2.
Eric Blake suggested using nice.
Jim Meyering [Wed, 16 Apr 2008 12:21:40 +0000 (14:21 +0200)]
mknod --help: note that this command may be a shell built-in
* src/mknod.c (usage): Print USAGE_BUILTIN_WARNING.
Suggestion from Eric Blake.
Jim Meyering [Wed, 16 Apr 2008 09:20:28 +0000 (11:20 +0200)]
avoid "may be used uninitialized" warning from newer gcc
* src/md5sum.c (digest_check) [lint]: Initialize local, "filename".
Jim Meyering [Wed, 16 Apr 2008 09:17:37 +0000 (11:17 +0200)]
tests: add a comment explaining the potential failure
Jim Meyering [Wed, 16 Apr 2008 08:29:10 +0000 (10:29 +0200)]
tests: avoid mkdir/selinux failure when mknod is a shell built-in
* tests/mkdir/selinux: Skip the mknod test if it's a built-in.
Jim Meyering [Tue, 15 Apr 2008 06:19:11 +0000 (08:19 +0200)]
md5sum, sha1sum, etc: handle invalid input (i.e., don't segfault)
* src/md5sum.c (bsd_split_3): Return right away if s_len == 0.
* tests/misc/md5sum (bsd-segv): New test for the above.
* tests/misc/sha1sum (bsd-segv): Likewise.
* NEWS: Mention the bug fix.
Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
Jim Meyering [Mon, 14 Apr 2008 21:33:43 +0000 (23:33 +0200)]
tests: don't fail on systems without a "stat" syscall
* tests/test-lib.sh (require_strace_): Add a syscall parameter.
* tests/ls/stat-free-symlinks: Update caller.
* tests/mv/atomic: Likewise.
* tests/mv/atomic2: Likewise.
Reported by Mike Frysinger in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13222
Jim Meyering [Mon, 14 Apr 2008 20:17:23 +0000 (22:17 +0200)]
tests: accommodate a different errno string on Irix 6.5
* tests/mkdir/selinux: Also handle "Not supported".
Reported by Peter Fales.
Jim Meyering [Mon, 14 Apr 2008 09:21:26 +0000 (11:21 +0200)]
seq: work around floating point inaccuracies on more systems
* src/seq.c: Include <math.h> for fabs.
Include <float.h> for DBL_EPSILON.
(abs_rel_diff): New function.
(print_numbers): Use abs_rel_diff rather than a strict equality test.
Without this change, Solaris 8 and Irix 6.2 would fail the float-6
test. Reported by Peter Fales in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13183
* src/c99-to-c89.diff: Adjust seq.c offsets.
Jim Meyering [Mon, 14 Apr 2008 07:02:20 +0000 (09:02 +0200)]
doc: fix typo
* coreutils.texi (sort invocation): s/Whitespace/White space/
Jim Meyering [Sat, 12 Apr 2008 11:14:29 +0000 (13:14 +0200)]
tests: Accommodate a different errno value on OSF/1 4.0F.
* tests/mkdir/selinux: Also handle "Function not implemented".
Jim Meyering [Sat, 12 Apr 2008 10:43:24 +0000 (12:43 +0200)]
Avoid link failure when using mkstemp replacement.
* src/Makefile.am (tac_LDADD): Add $(LIB_CLOCK_GETTIME).
This is necessary at least on a DEC Alpha OSF/1 4.0F.
Jim Meyering [Sat, 12 Apr 2008 07:52:42 +0000 (09:52 +0200)]
tests: always enable VERBOSE output, now that test framework works better
* cfg.mk: Set VERBOSE=yes.
* tests/check.mk: Likewise.
Jim Meyering [Fri, 11 Apr 2008 10:11:06 +0000 (12:11 +0200)]
doc: avoid "make pdf" failure (due to texi2dvi bug?)
* doc/coreutils.texi (filesZeroFromOption):
Comment out @cindex-in-@macro use.
Jim Meyering [Fri, 11 Apr 2008 10:08:41 +0000 (12:08 +0200)]
doc: use a valid texinfo macro name
* doc/coreutils.texi (filesZeroFromOption): s/0/Zero/
Jim Meyering [Tue, 8 Apr 2008 06:01:00 +0000 (08:01 +0200)]
tests: accommodate a different errno value on HPUX-10.20
* tests/mkdir/selinux: Also handle "Unknown system error".
Reported by Peter Fales.
Jim Meyering [Sun, 6 Apr 2008 20:10:18 +0000 (22:10 +0200)]
doc: factor out --files0-from duplication
* coreutils.texi (wc invocation) [files0fromOption]: New macro. Use it.
(du invocation): Use it here, too.
Jim Meyering [Sun, 6 Apr 2008 17:02:02 +0000 (19:02 +0200)]
* src/c99-to-c89.diff: Adjust remove.c diffs.
Jim Meyering [Mon, 24 Mar 2008 16:38:27 +0000 (17:38 +0100)]
remove.c: accommodate systems with negative errno values
This is required at least on Haiku and BeOS.
* src/remove.c (write_protected_non_symlink): Return 1 for a write-
protected non-symlink, 0 if we determine it's not, and -1 upon
error (setting errno accordingly only in this final case).
(prompt): Deal with the changed semantics of the above function.
Based on this patch from Axel Dörfler:
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071
Jim Meyering [Wed, 2 Apr 2008 07:03:36 +0000 (09:03 +0200)]
Accommodate building on OS/2 (ecomstation.com Ecs v2 rc4)
* configure.in: Also filter out carriage returns from the value
of $no_install_progs_default. Reported by Elbert Pol.
Jim Meyering [Wed, 2 Apr 2008 13:07:20 +0000 (15:07 +0200)]
"touch E; mkfifo F; cp -fR F E" no longer fails due to existing E
* src/copy.c (copy_internal): Revert change of 2005-03-01,
4303f0454592421eea48be87777d32a49e1d5e5b
Prompted by Michael Stone, who pointed me to an old bug report from
Ian Jackson: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/7504
* tests/cp/special-f: New file. Test for the above.
* tests/cp/Makefile.am (TESTS): Add special-f.
* NEWS: mention this bug fix.
Jim Meyering [Wed, 2 Apr 2008 11:52:04 +0000 (13:52 +0200)]
copy.c: remove an in-function #ifdef
* src/copy.c (rpl_mkfifo) [! HAVE_MKFIFO]: New function.
(mkfifo) [! HAVE_MKFIFO]: Define to rpl_mkfifo.
(copy_internal): Remove #ifdef.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Wed, 2 Apr 2008 07:05:18 +0000 (09:05 +0200)]
HACKING: rename README-contribution-guidelines
README-contribution-guidelines: Rename to ..
HACKING: ...this.
Jim Meyering [Tue, 1 Apr 2008 19:18:56 +0000 (21:18 +0200)]
bootstrap: remove dangling *.[ch] symlinks from lib
* bootstrap [dangling symlink removal]: Match *.[ch] files, too.
Suggestion from Eric Blake.
Jim Meyering [Tue, 1 Apr 2008 15:12:12 +0000 (17:12 +0200)]
bootstrap: make find's -depth option be the first.
* bootstrap [dangling symlink removal]: Move find's -depth
option to precede all others, to avoid a warning.
Jim Meyering [Tue, 1 Apr 2008 15:05:31 +0000 (17:05 +0200)]
* bootstrap: Remove dangling symlinks from lib (aka $source_base), too.
Jim Meyering [Tue, 1 Apr 2008 14:34:08 +0000 (16:34 +0200)]
Avoid root-only SELinux-related test failures w/o mcstransd.
When mcstransd is not running (i.e., after service mcstrans stop),
"make check" as root would provoke two test failures.
* tests/cp/cp-a-selinux: Use the context, root:object_r:tmp_t:s0,
that works both with and without mcstransd.
Thanks to Eric Paris for the tip and to Ondřej Vašík for alerting
me to the problem.
Reported by Robert Scheck in <http://bugzilla.redhat.com/436717>.
Jim Meyering [Tue, 1 Apr 2008 14:13:02 +0000 (16:13 +0200)]
root tests: Set NON_ROOT_USERNAME if not set already.
* tests/test-lib.sh (require_root_): This avoids failure of a
couple of root-only tests that require a value for that envvar.
Jim Meyering [Tue, 1 Apr 2008 09:58:17 +0000 (11:58 +0200)]
texinfo formatting tweaks
* coreutils.texi: Avoid some overfull hbox warnings.
(Treating / specially): Use @file{/} rather than a bare /.
Jim Meyering [Tue, 1 Apr 2008 09:38:02 +0000 (11:38 +0200)]
printf doc: xref print(3) and libc's "Output Conversion Syntax" node
* coreutils.texi (printf invocation): Add xref.
Use "The GNU C Library Reference Manual" as the name of the 'libc'
document consistently.
* man/printf.x: Add See also: printf(3).
Suggested by A. Costa in http://bugs.debian.org/465522
Jim Meyering [Mon, 31 Mar 2008 20:42:35 +0000 (22:42 +0200)]
Emit "#line 1" right after the two 'read-only/GENERATED' lines.
* bootstrap (cp_mark_as_generated): This preserves line numbering
e.g., in assertions, which is important when correlating between
coreutils test failures and the original files in gnulib/tests.
Suggested by Eric Blake.
Jim Meyering [Mon, 31 Mar 2008 15:28:23 +0000 (17:28 +0200)]
* README-contribution-guidelines: Mention how to amend a commit.
Suggestion from Pádraig Brady.
Jim Meyering [Mon, 17 Mar 2008 21:24:46 +0000 (22:24 +0100)]
Begin documenting contribution guidelines.
* README-contribution-guidelines: New file. For now, not distributed.
Jim Meyering [Mon, 31 Mar 2008 11:40:54 +0000 (13:40 +0200)]
"rm -r DIR" would mistakenly prompt about very long names
* src/remove.c (write_protected_non_symlink): Return 0(-1) when
euidaccess_stat pronounces a writable(not-writable) file, not -1(0).
* tests/rm/deep-2: New file. Test for the above-fixed bug.
* tests/rm/Makefile.am (TESTS): Add deep-2.
Discovered while reviewing this change:
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071
Jim Meyering [Mon, 31 Mar 2008 07:11:15 +0000 (09:11 +0200)]
* NEWS: Note the dd bug fix. The bug was introduced over 8 years ago:
9fca49f67c16c8b42c32e185808fe187cedb0fa7
Paul Eggert [Mon, 31 Mar 2008 06:37:36 +0000 (08:37 +0200)]
dd bug fix: accept e.g., if=/dev/stdin and of=/dev/stdout
* lib/fd-reopen.c: Work even if FILE is "/dev/stdin".
Problem reported by Geoffrey Lee in <http://bugs.debian.org/290727>.
* tests/dd/misc: Check for this bug.
Jim Meyering [Sat, 29 Mar 2008 18:02:18 +0000 (19:02 +0100)]
avoid failure of new test on kernel without SELinux support
* tests/mkdir/selinux: Also accept ENOENT.
Reported by Sven Joachim.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Sat, 29 Mar 2008 09:00:44 +0000 (10:00 +0100)]
tests: accept ENOTSUP message as well as the EINVAL one
This test would fail on most non-Linux systems because the original
expected an "Invalid argument" diagnostic, yet they all produced
"Operation not supported".
* tests/mkdir/selinux: Accept both strings. Factor out duplication.
Jim Meyering [Fri, 28 Mar 2008 23:11:15 +0000 (00:11 +0100)]
Work around a recent glibc/getopt.c diagnostic change.
* tests/misc/factor: Map new "-- '1'" to expected "-- 1".
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Fri, 28 Mar 2008 21:37:19 +0000 (22:37 +0100)]
mknod, mkfifo: don't segfault when diagnosing invalid SELinux context
Identical to the bug fixed by
72d052896a9092b811961a8f3e6ca5d151a59be5.
* src/mkfifo.c (main): Use "scontext", not NULL optarg in diagnostic.
* src/mknod.c (main): Likewise.
Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
* tests/mkdir/selinux: Test for the above fixes.
* NEWS: Mention the fixes.
Jim Meyering [Fri, 28 Mar 2008 19:16:26 +0000 (20:16 +0100)]
Fix typo in old NEWS and ChangeLog: s/commmand/command/.
* ChangeLog-2007: Likewise.
* NEWS: Likewise.
Prompted by http://bugzilla.redhat.com/439410
Pádraig Brady [Fri, 28 Mar 2008 13:32:44 +0000 (14:32 +0100)]
tests: Factor out code that's going to be reused.
* tests/test-lib.sh (mkfifo_or_skip_): New function, factored out of...
* tests/touch/fifo: ...here.
Jim Meyering [Fri, 28 Mar 2008 13:14:04 +0000 (14:14 +0100)]
Require that "(exit $fail); exit $fail" be last line of each test.
* maint.mk (sc_require_test_exit_idiom): New rule to enforce policy.
* tests/cp/acl: Adhere to the new policy.
* tests/cp/preserve-gid: Likewise.
* tests/dd/misc:
* tests/install/create-leading:
* tests/ln/sf-1:
* tests/ls/symlink-slash:
* tests/misc/help-version:
* tests/misc/ls-time:
* tests/misc/nice:
* tests/misc/shred-remove:
* tests/misc/stty:
* tests/misc/stty-row-col:
* tests/mkdir/p-1:
* tests/mkdir/p-2:
* tests/mkdir/p-3:
* tests/mkdir/p-v:
* tests/mkdir/special-1:
* tests/mkdir/writable-under-readonly:
* tests/mv/acl:
* tests/mv/backup-is-src:
* tests/mv/diag:
* tests/mv/dir-file:
* tests/mv/force:
* tests/mv/hard-link-1:
* tests/mv/i-2:
* tests/mv/i-4:
* tests/mv/into-self:
* tests/mv/into-self-2:
* tests/mv/into-self-3:
* tests/mv/partition-perm:
* tests/mv/to-symlink:
* tests/rmdir/ignore:
* tests/tail-2/assert:
* tests/tail-2/assert-2:
* tests/touch/dangling-symlink:
* tests/touch/dir-1:
* tests/touch/empty-file:
* tests/touch/fifo:
* tests/touch/no-rights: Likewise.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Fri, 28 Mar 2008 11:30:26 +0000 (12:30 +0100)]
Perform explicit exit-nonzero if the embedded Perl script fails.
* tests/misc/pwd-long: Add canonical '(exit $fail); exit $fail'.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Thu, 27 Mar 2008 11:18:25 +0000 (12:18 +0100)]
paste -d\\: avoid heap overrun for backslash at end of delim list
* src/paste.c: Include "quotearg.h".
(collapse_escapes): Handle backslash-escaped backslash explicitly.
Handle unescaped backslash at end of string by returning nonzero,
rather than by overrunning memory.
(main): Diagnose an invalid delimiter list -- carefully.
Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
* tests/misc/paste-no-nl (delim-bs): Add a test to demonstrate the
heap-smashing capability.
(delim-bs2): Prior to coreutils-5.1.2, this bug was a little harder
to demonstrate: it would corrupt a first-argument containing e.g., \b
* NEWS: Mention the bug fix.
* tests/misc/Makefile.am (TESTS): Reflect renaming.
* tests/misc/paste: Rename from paste-no-nl.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Wed, 26 Mar 2008 00:17:15 +0000 (01:17 +0100)]
* src/join.c (keycmp): Document new parameters.
Jim Meyering [Wed, 26 Mar 2008 00:11:16 +0000 (01:11 +0100)]
Test for mkdir bug fix.
* tests/mkdir/selinux: New file: test for today's fix.
* tests/mkdir/Makefile.am (TESTS): Add selinux.
Daniel Dunbar [Tue, 25 Mar 2008 23:51:47 +0000 (00:51 +0100)]
mkdir -Z x d: don't segfault when diagnosing invalid context "x" (tiny change)
* src/mkdir.c (main): Use "scontext", not NULL optarg in diagnostic.
Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
* NEWS: Mention the bug fix.
Peter Fales [Tue, 25 Mar 2008 21:44:01 +0000 (22:44 +0100)]
id bug fix: don't point to potentially clobbered static storage
On at least Mac OS, when calling getpwuid twice with the same UID,
the static storage containing results from the first call is
invalidated by the second call.
* src/id.c (main): Point to a copy of the user name string.
Eric Blake [Mon, 24 Mar 2008 11:51:10 +0000 (05:51 -0600)]
Use new gnulib gnumakefile module.
* bootstrap.conf (gnulib_modules): Pull in new module.
* GNUmakefile: Remove from version control.
* .gitignore: Update.
* configure.ac (AC_CONFIG_LINKS): Delete; rely on gnulib to do
this now.
* Makefile.am (EXTRA_DIST, distclean-local): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Jim Meyering [Sun, 23 Mar 2008 11:31:07 +0000 (12:31 +0100)]
join bug fix: adapt keycmp to work with new order-checking feature
* src/join.c (keycmp): Add two join-field parameters.
(check_order, join): Update callers.
Reported by Dmitry V. Levin in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12731/focus=13017
* tests/join/Test.pm (chkodr-7): New test for this fix.
Jim Meyering [Sun, 23 Mar 2008 09:37:21 +0000 (10:37 +0100)]
join.c: syntax/style tweaks
* src/join.c (check_order): Rename from checkorder.
Move definition to precede first use and remove prototype.
Use EXIT_FAILURE, rather than "1".
(key_cmp): Move definition to precede first use.
Jim Meyering [Sat, 22 Mar 2008 17:33:15 +0000 (18:33 +0100)]
portability: work around a "busybox sed" limitation
* configure.ac: While every other sed tested supports usage like
'/\(re\)/{s//\1/;...<NEWLINE>}', and POSIX appears to requires this,
busybox's sed does not support it. So duplicate the regexp:
'/\(re\)/{s/\(re\)/\1/;...<NEWLINE>}'. Reported by Vincent Lefevre:
<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13013>.
Jim Meyering [Fri, 21 Mar 2008 19:58:01 +0000 (20:58 +0100)]
* src/c99-to-c89.diff: Adjust seq.c offsets.
Jim Meyering [Fri, 21 Mar 2008 09:37:26 +0000 (10:37 +0100)]
ptx: avoid heap overrun for backslash at end of optarg string
* src/ptx.c (copy_unescaped_string): Ignore a lone backslash
at end of string. Reported by Cristian Cadar, Daniel Dunbar
and Dawson Engler. Details here:
<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13005>.
* tests/misc/Makefile.am (TESTS): Add ptx-overrun.
* tests/misc/ptx-overrun: New file. Test for the above fix.
* NEWS: Mention the fix.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Fri, 21 Mar 2008 08:41:54 +0000 (09:41 +0100)]
ptx.c readability
* src/ptx.c (copy_unescaped_string): Add braces around 80+-line
single-stmt while-loop body.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Fri, 21 Mar 2008 13:15:54 +0000 (14:15 +0100)]
Write NEWS and update c99-to-c89 patch for today's rm improvement.
* NEWS: call this a "portability improvement" ;-)
* src/c99-to-c89.diff: Adjust remove.c offsets.
Ingo Weinhold [Fri, 21 Mar 2008 13:10:27 +0000 (14:10 +0100)]
remove.c: Accommodate systems with negative errno values.
* src/remove.c (cache_fstatat): Store errno value directly in
the st_ino field, rather than trying to shoehorn it into st_size.
This is required at least on BeOS and Haiku.
Jim Meyering [Sun, 2 Mar 2008 09:14:18 +0000 (10:14 +0100)]
* src/seq.c (long_double_format): Add a comment.
Jim Meyering [Thu, 20 Mar 2008 23:33:26 +0000 (00:33 +0100)]
* GNUmakefile: Update from gnulib.
Jim Meyering [Thu, 20 Mar 2008 18:03:51 +0000 (19:03 +0100)]
Remove today's automake kludge, altogether. Fix properly.
* man/Makefile.am: Use dist_man1_MANS instead of dist_man_MANS.
Suggestion from Ralf Wildenhues.
Jim Meyering [Thu, 20 Mar 2008 17:43:03 +0000 (18:43 +0100)]
Add a check to detect this problem, in case it reappears.
* maint.mk (my-distcheck): Run "make install", and then ensure
that ls.1 is installed.
Jim Meyering [Thu, 20 Mar 2008 17:01:35 +0000 (18:01 +0100)]
Kludge to make automake generate install-man rules
* man/Makefile.am (dist_man_MANS): Add a literal, rm.1.
Without this, "make install" would not install man pages.
However, with this kludge, the rm.1 man page is installed
even when you configure with --enable-no-install-program=rm.
Jim Meyering [Thu, 20 Mar 2008 16:49:30 +0000 (17:49 +0100)]
Revert recent man/Makefile.am change.
Revert
4b544e447eb78fd1f031a026a499f6aed177808a.
* man/Makefile.am: That change was only a band-aid. It solved
the stated problem, but not a deeper one: that "make install"
would no longer man pages. Reported by Dmitry V. Levin.
The latter problem arose in
167b8025aca487de001da2448c1aebc2747bc1d3 with the removal of
the sole literal from the definition of dist_man_MANS. When
automake perceives dist_man_MANS as empty, it no longer emits
the install-man* rules.
Eric Blake [Thu, 20 Mar 2008 13:19:56 +0000 (07:19 -0600)]
Sync GNUmakefile with gnulib.
* GNUmakefile (Makefile.cfg): Rename...
(cfg.mk): ...to this, and make optional.
(GNUmakefile.cfg): Delete, redundant with cfg.mk.
(Makefile.maint): Rename...
(maint.mk): ...to this.
(all) [!_have-Makefile]: Rename...
(abort-due-to-no-makefile): ...to this, and invoke via
.DEFAULT_GOAL to pick up all targets.
* Makefile.cfg: Rename...
* cfg.mk: ...to this.
* Makefile.maint: Rename...
* maint.mk ...to this.
(ME): Reflect rename.
(makefile-check, m4-check, author_mark_check, msg): Use $(ME)
rather than hard-coded name.
* Makefile.am (EXTRA_DIST): Distribute renamed files.
* .x-sc_file_system: Remove Makefile.maint along with others. No longer needed.
* .x-sc_obsolete_symbols: Likewise.
* .x-sc_prohibit_atoi_atof: Reflect renaming and remove no-longer-VC'd names.
* TODO: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bob Proulx [Wed, 19 Mar 2008 21:51:26 +0000 (15:51 -0600)]
make check: Remove /tmp/ls-creating debug code.
* tests/misc/ls-misc: Remove debug code creating /tmp/ls.
Jim Meyering [Wed, 19 Mar 2008 22:32:21 +0000 (23:32 +0100)]
bootstrap: restore kludge removed on 2008-03-12: it's still necessary.
* bootstrap: Make the gnulib-tests/test-*.sh scripts executable.
This restores code removed by
dec8bb25bb6da2fe9fe6dd63c0fbbd593a0e94cb.
Reported by Bob Proulx.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Jim Meyering [Wed, 19 Mar 2008 14:52:26 +0000 (15:52 +0100)]
Check for -- and remove -- some unnecessarily included header files.
* Makefile.maint: Add checks for a handful of additional header files.
* src/mktemp.c: Don't include "long-options.h". Not used.
* src/pr.c: Don't include "inttostr.h". Not used.
* src/printenv.c: Don't include "error.h". Not used.
* src/test.c: Don't include "error.h". Not used.
* src/touch.c: Don't include "safe-read.h". Not used.
Jim Meyering [Wed, 19 Mar 2008 13:29:50 +0000 (14:29 +0100)]
Remove more vestiges of CVS.
* Makefile.maint (VC_LIST): Rename from CVS_LIST.
(VC_LIST_EXCEPT): Rename from CVS_LIST_EXCEPT.
Jim Meyering [Wed, 19 Mar 2008 12:37:04 +0000 (13:37 +0100)]
mv: never unlink a destination file before calling rename
While cp --preserve=links must unlink certain destination files,
mv must never do that.
* src/copy.c (copy_internal): Pull the '! x->move_mode' test "up",
so it affects the entire condition, and not just DEREF_NEVER mode.
Reported by James Ralston in <http://bugzilla.redhat.com/438076>.
* tests/mv/atomic2: New file. Test for the above fix.
* tests/mv/Makefile.am (TESTS): Add atomic2.
* NEWS: Mention the bug-fix.
[Bug introduced in
367719ba5f1dbd5e2f7fa2466c441f23f66a7c9e]
Jim Meyering [Wed, 19 Mar 2008 07:46:41 +0000 (08:46 +0100)]
"make" would not always update man/*.1 files (but "make dist" would)
* man/Makefile.am (BUILT_SOURCES): Define, so that "make" always
updates man/*.1 files. Reported by Bob Proulx.