*** empty log message ***
[platform/upstream/coreutils.git] / ChangeLog
1 2006-01-13  Jim Meyering  <jim@meyering.net>
2
3         * Version 6.0-cvs.
4
5         * tests/Makefile.am (SUBDIRS): Add comments discouraging the
6         addition of new directories under tests/.
7
8         * tests/acl: Redirect stdin to /dev/null.  Otherwise, FreeBSD 5.0's
9         getfacl would hang.
10
11 2006-01-12  Jim Meyering  <jim@meyering.net>
12
13         * tests/du/long-sloop: Adjust not to hard-code the expected
14         diagnostic corresponding to ELOOP.  Solaris' diagnostic differs
15         from that of Linux/libc.  Reported by Paul Eggert.
16
17         * tests/du/long-sloop: Create file at end of symlink chain.
18
19         * tests/misc/test: New file, with a test for one of the
20         bugs fixed by yesterday's test.c changes.
21         * tests/misc/Makefile.am (TESTS): Add test.
22
23 2006-01-11  Jim Meyering  <jim@meyering.net>
24
25         * tests/du/long-sloop: New file.  Test for today's fts.c bug fix.
26         That bug could make du -L, chgrp -L, or chown -L fail to diagnose
27         a very long sequence of symbolic links (not necessarily a loop).
28         * tests/du/Makefile.am (TESTS): Add long-sloop.
29
30 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
31
32         * src/test.c (test_syntax_error): Append a newline.  All callers
33         changed, except for the ones that didn't already append a newline.
34         Bug reported by Eric Blake.
35
36 2006-01-11  Jim Meyering  <jim@meyering.net>
37
38         * src/system.h (X2NREALLOC): Now that verify_true is no longer
39         void, cast its result to void, to avoid gcc's warning that
40         ``left-hand operand of comma expression has no effect''.
41         (DECIMAL_DIGIT_ACCUMULATE, X2REALLOC): Likewise.
42
43 2006-01-10  Jim Meyering  <jim@meyering.net>
44
45         * tests/chmod/no-x: Add a test for today's fts.c fix.
46
47 2006-01-10  Jim Meyering  <jim@meyering.net>  (tiny change)
48
49         * src/ls.c (gobble_file): Use DTTOIF only if it's defined.
50         This is necessary for Dragonfly.  Patch by Joerg Sonnenberger.
51
52 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
53
54         * src/system.h (X2NREALLOC, X2REALLOC, DECIMAL_DIGIT_ACCUMULATE):
55         Use verify_true instead of verify_expr, to sync with gnulib.
56
57 2006-01-08  Jim Meyering  <jim@meyering.net>
58
59         * src/date.c (usage): Adjust the formatting of the entries for
60         %::z and %:::z (separate with two spaces, not one) so that help2man
61         formats them properly.  Reported by Philip Rowlands.
62
63 2006-01-06  Paul Eggert  <eggert@cs.ucla.edu>
64
65         * configure.ac (gl_IGNORE_UNUSED_LIBRARIES): Add.
66
67 2006-01-06  Jim Meyering  <jim@meyering.net>
68
69         * Makefile.maint (copyright-check): Use date +%Y in place of
70         hard-coded 2005.
71
72         * src/remove.c (rm_1): Remove `static' attribute on local `status'.
73         First off, the attribute should have been `volatile' (not static)
74         to avoid longjmp-related risk of clobber.  Secondly, now there is
75         no longer any risk of a local variable being clobbered, so there's
76         no need for any attribute at all.
77
78 2006-01-05  Jim Meyering  <jim@meyering.net>
79
80         * src/remove.c: Give a few functions the inline attribute.
81         (AD_pop_and_chdir): Use gotos to avoid some duplication.
82         (AD_push): Rewrite an assertion so that the entire computation
83         goes away when assertions are turned off.
84
85         * src/tail.c (ENOSYS) [!defined ENOSYS]: Don't define here.
86         It's already defined in "system.h".
87         * Makefile.maint: Add a FIXME comment.
88
89 2006-01-04  Jim Meyering  <jim@meyering.net>
90
91         * ChangeLog: Remove entries from 2005-10-22 and earlier.
92         * ChangeLog-2005: New file, for entries up to version 5.92.
93
94 2006-01-03  Jim Meyering  <jim@meyering.net>
95
96         * tests/du/no-x: Also allow a slightly different diagnostic -- the
97         one you get when using openat-enabled fts.c and du (coming soon).
98         * tests/chmod/no-x: Likewise.
99         * tests/chgrp/no-x: Likewise.
100
101         * src/system.h (O_DIRECTORY) [!defined O_DIRECTORY]: Define.
102
103 2006-01-02  Paul Eggert  <eggert@cs.ucla.edu>
104
105         * src/chown-core.c (RC_do_ordinary_chown): New enum value.
106         (restricted_chown): Return it, if the file cannot be accessed due
107         to EPERM, or if no uid or gid are required, or if the file is
108         neither a directory nor a regular file.  Rewrite to avoid gotos.
109         (change_file_owner): Handle RC_do_ordinary_chown case.
110         Rewrite to avoid gotos.
111         * tests/chgrp/basic: Make sure we can change the group of
112         inaccessible files.
113
114         * src/date.c (usage): Explain %g, %G, and %V a bit better.
115
116 2006-01-02  Jim Meyering  <jim@meyering.net>
117
118         * src/copy.c (set_owner): Correct a comment.
119
120         * src/tail.c (parse_options): Change warning to say that --retry
121         is useful `mainly' (not `only') when following by name.
122         Reported here: http://bugs.debian.org/273781
123
124 2006-01-01  Paul Eggert  <eggert@cs.ucla.edu>
125
126         * NEWS: Document that mkfifo and mknod -m no longer set special bits.
127         * src/copy.c: Include lchmod.h.
128         (copy_internal): Use lchmod rather than chmod.
129         * src/cp.c: Include lchmod.h.
130         (re_protect, make_dir_parents_private): Use lchmod rather than chmod.
131         * src/mkdir.c: Include lchmod.h.
132         (usage): Clarify -m's operation.
133         (main): Use lchmod rather than chmod.  Don't use lchmod unless the
134         new mode contains bits outside the 777 range.
135         * src/mkfifo.c (usage): Clarify -m's operation.
136         (main): If -m is given, don't invoke chmod; use umask 0 instead.
137         Report an error if -m asks for bits outside the 777 range.
138         * src/mknod.c (usage, main): Likewise.
139
140         * src/mkdir.c, src/mkfifo.c, src/mknod.c: Undo 2005-12-19 changes.
141
142 2005-12-27  Jim Meyering  <jim@meyering.net>
143
144         * Makefile.maint (sc_obsolete_symbols): Prohibit use of O_NDELAY.
145         (sc_prohibit_assert_without_use): New rule.
146         (syntax-check-rules): Add it to the list.
147         * .x-sc_prohibit_assert_without_use: New empty file.
148         * Makefile.am (EXTRA_DIST): Add it.
149
150         * Makefile.maint (CVS_LIST): Define in terms of $(srcdir).
151
152         * cp.c, df.c, link.c, mknod.c, nice.c, sleep.c, unlink.c:
153         Don't include <assert.h>; it wasn't used.
154
155 2005-12-26  Paul Eggert  <eggert@cs.ucla.edu>
156
157         * src/chown-core.c (restricted_chown):
158         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
159         * src/remove.c (fd_to_subdirp): Open with O_DIRECTORY | O_NOCTTY
160         | O_NOFOLLOW too, for consistency with other dir-openers.
161         Use POSIX-preferred O_NONBLOCK rather than O_NDELAY.
162         (is_empty_dir): Likewise.
163         * src/shred.c (wipename): Likewise.  Don't bother trying to open
164         dir for writing, since POSIX prohibits it.
165
166 2005-12-22  Jim Meyering  <jim@meyering.net>
167
168         * tests/help-version: Redirect stderr to /dev/full, to suppress
169         write error diagnostic.
170
171 2005-12-19  Jim Meyering  <jim@meyering.net>
172
173         * src/mkdir.c, src/mknod.c, src/mkfifo.c (main)
174         Avoid a minor race condition when `-m MODE' is specified, by using
175         open, fchown, and close rather than just chown.  To do that reliably --
176         even with an overly restrictive umask -- ensure that each mkdir,
177         mknod and mkfifo call uses a mode including at least owner-read access.
178         * src/mknod.c (main): When `-m MODE' is specified, exit nonzero if
179         the subsequent chown (or equivalent open,fchown,close) fails.
180         * tests/misc/mknod: New tests.
181         * tests/misc/Makefile.am (TESTS): Add mknod.
182
183 2005-12-17  Jim Meyering  <jim@meyering.net>
184
185         * src/remove.c (is_empty_dir): Open with O_NDELAY, so we don't hang,
186         e.g., on a named pipe.
187         (OPEN_NO_FOLLOW_SYMLINK): Remove definition.  Use O_NOFOLLOW in
188         place of all uses, since it is guaranteed (system.h) to be defined.
189
190 2005-12-05  Andreas Gruenbacher  <agruen@suse.de>
191
192         Add POSIX ACL support
193         * src/ls.c: Switch back from HAVE_ACL to USE_ACL: The acl() syscall
194         is no requirement for ACL support; particularly, it does not exist
195         on systems that have POSIX ACLs.
196         * src/copy.h (cp_option_init) [umask_kill]: Remove member.
197         * src/cp.c (umask_kill): With default acls, the umask is not to be
198         applied.  Remove umask_kill, don't change the process umask, and let
199         the kernel apply the umask where appropriate.
200         * src/cp.c (make_dir_parents_private): Fix logic for POSIX ACLs.
201         * src/copy.c (get_dest_mode): Remove; it is obsolete after removing
202         umask_kill.
203         (copy_reg, copy_internal): Use copy_acl and set_acl
204         instead of fchown/chown. Fix the logic for POSIX ACLs.
205         (chown_succeded): Remove; we now always copy acls and
206         preserve S_ISUID, S_ISGID, and S_ISVTX when needed, no matter if we
207         did a chown before or not.
208         * src/mv.c, src/install.c (cp_option_init): Don't set umask_kill member.
209         * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD, cp_LDADD,
210         mv_LDADD, ginstall_LDADD): On systems with an ACL library, arrange
211         to link with it via $(LIB_ACL), for the utilities that need it.
212
213 2005-12-16  Paul Eggert  <eggert@cs.ucla.edu>
214
215         * src/remove.c (OPENAT_CWD_RESTORE__REQUIRE): Remove.
216         (OPENAT_CWD_RESTORE__ALLOW_FAILURE): Likewise.
217         (fd_to_subdirp): Remove openat_cwd_restore_allow_failure arg; its
218         value is now signified by whether cwd_errno is null.
219         (fd_to_subdirp, remove_dir, rm_1); Change cwd failure indicator from
220         pointer-to-bool to pointer-to-errno-value.  All callers changed.
221         (rm_1): Don't bother setting a local cwd failure flag and then
222         ORing it into the caller's.  Just set the caller's.
223         (rm): Use cwd failure errno value to print a slightly-better
224         diagnostic.
225
226 2005-12-15  Jim Meyering  <jim@meyering.net>
227
228         * src/stat.c (print_it): Properly handle a backslash at the
229         end of a --printf format string.  Reported by Paul Eggert.
230         * tests/misc/stat-printf (end-bs): Add a test for the above.
231
232 2005-12-15  Paul Eggert  <eggert@cs.ucla.edu>
233
234         * tests/acl: Port to pre-POSIX shells like Solaris 8 /bin/sh.
235         Don't assume /etc/passwd contains user names; use 'id' instead.
236
237 2005-12-15  Jim Meyering  <jim@meyering.net>
238
239         stat: revert behavior of --format=FMT (-c)
240         stat: add new option: --printf=FMT
241         * NEWS: Mention this.
242         * src/stat.c (isodigit, octtobin, hextobin): Define.
243         (PRINTF_OPTION): Define.
244         (interpret_backslash_escapes, trailing_delim): New globals.
245         (usage): Document them.  Alphabetize on long option names.
246         (print_esc_char): New function.
247         (print_it): Rewrite, in order to handle backslash escapes.
248         (main): Handle new option.  Set globals for --format, too.
249
250         * tests/misc/stat-printf: Test --printf and --format.
251         * tests/misc/Makefile.am (TESTS): Add stat-printf.
252
253 2005-12-14  Paul Eggert  <eggert@cs.ucla.edu>
254
255         * NEWS: sort now reports incompatible options.
256         * src/sort.c (incompatible_options, check_ordering_compatibility):
257         New functions.
258         (main): Use them.  Don't bother with a usage message for
259         "sort -c a b", for consistency with other error diagnostics.
260         * tests/sort/Test.pm (incompat1, incompat2, incompat3, incompat4):
261         New tests.
262
263         * src/cat.c (main): Undo previous change.  close_stdout already
264         does the check, so the previous change wasn't necessary.
265
266 2005-12-13  Paul Eggert  <eggert@cs.ucla.edu>
267
268         * src/cat.c (main): Check for close (STDOUT_FILENO) failure.
269
270 2005-12-12  Paul Eggert  <eggert@cs.ucla.edu>
271
272         Install a more-conservative approach for sort -R.  It's the
273         same basic idea as the existing code, except it uses the full ISAAC
274         approach (called the "more kosher" approach in the existing comments).
275         This makes "sort -R" quite a bit slower (about a factor of 2 on my
276         little tests involving 10000 lines on a 2.4 GHz P4), but I think it's
277         better to be conservative here at first, and review any performance
278         improvements carefully.
279         * .x-sc_require_config_h: Add src/rand-isaac.c.
280         * src/rand-isaac.h: Remove.  All uses now simply include rand-isaac.c.
281         * src/Makefile.am (noinst_HEADERS): Remove rand-isaac.h.
282         (shred_SOURCES, sort_SOURCES): Remove.
283         (EXTRA_DIST): Add rand-isaac.c.
284         * src/rand-isaac.c: Revert to what used to be in shred.c, without
285         changing it to allow for varying numbers of words in the state.
286         Alter so that we include rand-isaac.c directly rather than
287         compiling it and linking to it.  Don't include config.h or
288         system.h; that's the includer's responsibility.
289         Omit functions that are specific to shred.
290         (ISAAC_LOG, ISAAC_WORDS, ISAAC_BYTES, struct isaac_state, ind):
291         (isaac_step, struct irand_state):
292         Resurrect these, with the same defns that used to be in shred.c.
293         (ISAAC_SIZE, isaac_new, isaac_copy): Remove.
294         (isaac_refill, isaac_seed_start, isaac_seed_data, irand_init, irand32):
295         static again.
296         (struct isaac_state, isaac_refill, isaac_mix, isaac_init):
297         (isaac_seed_start, isaac_seed_data, isaac_seed_finish, isaac_seed):
298         (irand_init, irand32, irand_mod):
299         Number of words is constant again.
300         (struct irand_state, irand_init, irand32, irand_mod): Move to shred.c.
301         * src/shred.c: Include rand-isaac.c rather than rand-isaac.h.
302         * src/sort.c: Likewise.
303         * src/shred.c (fillrand, dopass, main): Undo previous change.
304         (struct irand_state, irand_init, irand32, irand_mod): Moved back here,
305         from rand-isaac.c.
306         * src/sort.c: Don't include md5.h; it wasn't needed.
307         (struct keyfield): Rename random_hash to random, for consistency
308         with the other member names.  All uses changed.
309         (usage): Tweak wording to mention STRING for --seed option.
310         (short_options): Rorder for consistency with other programs.
311         (rand_state): Now a struct, not a pointer to one.  All uses changed.
312         (HASH_WORDS, HASH_SIZE): Remove.
313         (get_hash): Remove comments around resbuf size, since we can assume C89.
314         Use a "more-kosher" (but slower) approach of invoking isaac_refill.
315         (keycompare): Adjust to the new get_hash.
316         Add a FIXME.
317         (badfieldspec): Omit recently-introduced comment; it isn't needed.
318         (main): Don't set need_random simply because gkey has it set; that
319         doesn't necessarily mean we'll need random numbers.
320         Redo seeding to match new get_hash approach.
321
322 2005-12-10  Jim Meyering  <jim@meyering.net>
323
324         * src/Makefile.am (noinst_HEADERS): Add rand-isaac.h.
325
326         Avoid shred segfault on 64-bit systems.
327         * src/rand-isaac.c (isaac_refill): Don't try to negate a
328         local of type uint32_t.  Make the local an `int' instead.
329
330         * NEWS: Mention sort's new options.
331
332         * src/rand-isaac.c (isaac_mix): Declare to be static.
333         Mark all other functions as `extern' so the tight-scope
334         part of `make distcheck' passes once again.
335         * src/rand-isaac.h (isaac_mix): Remove declaration.
336
337         * src/sort.c (get_hash): Change position of `*' in parameter
338         type to conform with convention.
339         (main): Split a long line so it fits in 80 columns.
340         (keycompare): Remove stray SPACE before TAB that was
341         causing `make distcheck' to fail.
342
343         * src/shred.c: Don't include gethrxtime.h.  No longer needed.
344
345         * tests/misc/sort-rand: New file: basic tests for the new options.
346         * tests/misc/Makefile.am (TESTS): Add sort-rand.
347
348 2005-12-10  Frederik Eaton  <frederik@ofb.net>
349
350         * src/Makefile.am (sort_LDADD): Add $(LIB_GETHRXTIME).
351         (shred_SOURCES, sort_SOURCES): New macros, so we compile rand-isaac.c.
352         * src/rand-isaac.c: New file, containing ISAAC code that was in shred.c.
353         Make state size runtime-configurable.
354         (isaac_new, isaac_copy): New functions.
355         * src/rand-isaac.h: New file.
356         * src/shred.c: Include rand-isaac.h.  Move ISAAC code to rand-isaac.c.
357         (fillrand, main): Adjust to the fact that the state size is now
358         runtime-configurable.
359         * src/sort.c (short_options, long_options, WORDS, keycompare, main):
360         (usage): Add options --random-sort and --seed to implement a random
361         shuffle.
362         Include md5.h and rand-isaac.h.
363         (get_hash): New function.
364         (rand_state): New var.
365         (HASH_WORDS, HASH_SIZE): New macros.
366
367 2005-12-09  Paul Eggert  <eggert@cs.ucla.edu>
368
369         * tests/dd/misc: Add test for dd iflags=noatime.
370
371 2005-12-09  Jim Meyering  <jim@meyering.net>
372
373         * src/sort.c (usage): Mention white space vs -b and -t options.
374         From The Wanderer.
375
376 2005-12-09  Eric Blake  <ebb9@byu.net>
377
378         * src/test.c (main): Fix misleading comment.
379
380 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
381
382         * NEWS: Mention dd's new noatime flag.
383         * src/system.h (O_NOATIME): Define to 0 if not already defined.
384         * src/dd.c (flags, usage): Add support for noatime flag.
385
386 2005-12-07  Jim Meyering  <jim@meyering.net>
387
388         Distribute the cvsu script, used only by `make syntax-check'.
389         * Makefile.am (EXTRA_DIST): Add build-aux/cvsu.
390         * Makefile.maint (CVS_LIST): Use build-aux/cvsu, now that we
391         distribute a copy of this script.
392         * .x-sc_unmarked_diagnostics: Add build-aux/cvsu.
393
394         * tests/mv/acl: exit-77 before the trap, not after, if we fail
395         to create a temporary directory on another partition.
396         From Andreas Gruenbacher.
397
398 2005-12-06  Tomas Pospisek  <tpo@sourcepole.ch>  (tiny change)
399
400         * man/basename.x: Cross-reference to dirname and readlink.
401         * man/dirname.x: Cross-reference to basename and readlink.
402
403 2005-12-05  Andreas Gruenbacher
404
405         * src/copy.c [!HAVE_FCHOWN]: Define fchown(...) to -1.
406         (set_owner, preserve_author): New functions, factored out of copy_reg.
407         (copy_reg): Use them.
408         (copy_internal): Use them here, too.
409
410 2005-12-04  Jim Meyering  <jim@meyering.net>
411
412         * src/sleep.c (usage): Say what happens with two or more arguments.
413         Suggested by Justin Pryzby.
414
415         * src/uptime.c (print_uptime): Move decl of `upsecs' into scope
416         where it's used.
417
418 2005-12-03  Jim Meyering  <jim@meyering.net>
419
420         * src/rm.c (long_opts): Change the name of each undocumented, for-
421         testing-only option to start with `-', so that it cannot render
422         ambiguous any prefix it happens to share with some other option name.
423         Problem reported by Eric Blake.
424         * src/head.c (long_options): Likewise.
425         * src/tail.c (long_options): Likewise.
426
427         * tests/misc/head-elide-tail: Update uses of undocumented, for-
428         testing-only --presume* options to start with `---'.
429         * tests/rm/dangling-symlink: Likewise.
430         * tests/rm/dir-no-w: Likewise.
431         * tests/rm/isatty: Likewise.
432
433 2005-11-30  Jim Meyering  <jim@meyering.net>
434
435         * Makefile.maint: Add a comment about cvsu.
436
437 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
438
439         * NEWS: df updates for "none", "proc", inaccessible file systems.
440         * src/df.c (show_point): Ignore inaccessible file systems.
441         (usage): -a includes dummy file systems, not size-0 file systems.
442
443         * src/od.c (unsigned_long_long_int): Renamed from ulonglong_t,
444         to avoid collision with POSIX name space.  All uses changed.
445
446 2005-11-24  Jim Meyering  <jim@meyering.net>
447
448         * tests/Makefile.am (EXTRA_DIST): Add acl to the list.
449         * tests/acl: Add `$0: ' prefix to diagnostics.
450
451         * .x-sc_require_config_h: Add lib/buffer-lcm.c to the list.
452
453 2005-11-23  Paul Eggert  <eggert@cs.ucla.edu>
454
455         * src/copy.c: Improve performance a bit by optimizing away
456         unnecessary system calls and going to a block size of at least
457         8192 (on normal hosts, anyway).  This improved performance 5% on my
458         Debian stable host (2.4.27 kernel, x86, copying from root
459         ext3 file system to itself).
460         Include "buffer-lcm.h".
461         (copy_reg): Omit last argument.  All callers changed.
462         Use xmalloc to allocate rather than trusting alloca
463         (which is unwise with large block sizes).
464         Declare locals more locally, if possible.
465         Use uintptr_t words instead of int words, for a bit more speed
466         when looking for null blocks on 64-bit hosts.
467         Optimize away reads of zero bytes on regular files.
468         In the typical case, insist on 8 KiB buffers, at least.
469         Avoid unnecessary extra call to fstat when checking for sparse files.
470         Avoid now-unnecessary cast to off_t, and "0L".
471         Avoid unnecessary test of *new_dst when checking for same owner
472         and group.
473
474 2005-11-22  Paul Eggert  <eggert@cs.ucla.edu>
475
476         * src/remove.c (rm): Don't assume C99 for-loop syntax.
477
478 2005-11-22  Jim Meyering  <jim@meyering.net>
479
480         * src/remove.c (AD_push): Remove debugging cruft.
481
482         * tests/rm/unread2 (rm): Change expected diagnostic,
483         `cannot open directory' to `cannot remove', to align with
484         new version of rm.
485         * tests/rm/rm2: Ensure that rm now continues removing entries
486         even after certain types of failure.
487
488         * src/remove.c: Rewrite.  Now, this module is reentrant on systems
489         that provide openat (Solaris), and on systems like Linux+procfs
490         where our openat emulation code is reentrant.  This also fixes a
491         few low-probability leaks and eliminates some code that could,
492         in very unusual circumstances, cause rm() (via a callee) to exit.
493         * NEWS: Mention this.
494
495         * configure.ac: Put copyright dates all on one line so the
496         emacs function that updates them works properly.
497
498 2005-11-18  Paul Eggert  <eggert@cs.ucla.edu>
499
500         * configure.ac (AM_PROG_CC_C_O): Add.  Needed for CVS Automake.
501         Problem reported by Eric Blake.
502         (AC_PROG_CC_STDC): Use this instead of AC_PROG_CC, so that
503         we get a standard-conforming compiler.  This relies on the new
504         m4/c.m4 file.  Note that it's a bit tricky, since c.m4 doesn't
505         define AC_PROG_CC_STDC; we are relying on Autoconf 2.59 internals.
506         m4/c.m4 can go away with Autoconf 2.60 comes out.
507
508 2005-11-17  Jim Meyering  <jim@meyering.net>
509
510         * src/remove.c (AD_mark_helper): Make a `char *' parameter `const'.
511         (AD_mark_current_as_unremovable): Likewise, but for a local.
512         (rm_1): Likewise.
513
514         * tests/mv/acl: Let traps handle removing temporary directories.
515
516         Expect acl-related tests to fail, until the corresponding
517         patches are committed.
518         * tests/mv/Makefile.am (XFAIL_TESTS): Add acl.
519         * tests/cp/Makefile.am (XFAIL_TESTS): Likewise.
520
521         ACL tests, from Andreas Gruenbacher.
522         * tests/acl, tests/mv/acl, tests/cp/acl: New files.
523         * tests/mv/Makefile.am (TESTS): Add acl.
524         * tests/cp/Makefile.am (TESTS): Add acl.
525
526         * src/ls.c (basename_is_dot_or_dotdot): Correct wording in comment.
527
528 2005-11-16  Paul Eggert  <eggert@cs.ucla.edu>
529
530         * NEWS: Improve quality of ln's diagnostics.
531         * src/ln.c (do_link, usage): Likewise.
532         (do_link): Don't use alloca on a buffer of unbounded size.
533
534 2005-11-16  Jim Meyering  <jim@meyering.net>
535
536         * tests/cp/fail-perm: Accommodate HPUX.  It appears to fail
537         with EACCES rather than EPERM.  Reported by Peter O'Gorman here:
538         http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/5766
539
540 2005-11-14  Jim Meyering  <jim@meyering.net>
541
542         * NEWS (sort): Mention consequences of today's mkstemp-safer.c fix.
543
544 2005-11-13  Jim Meyering  <jim@meyering.net>
545
546         * announce-gen: Accept new option, --gpg-key-id=ID and
547         emit a blurb telling how to use the .sig files.
548         * Makefile.cfg (gpg_key_ID): Define.
549         * Makefile.maint (announcement): Use new option and key.
550
551         Require that most .c files include <config.h>.
552         * Makefile.maint (sc_require_config_h): New rule.
553         (syntax-check-rules): Add it.
554         * .x-sc_require_config_h: New file listing exceptions to the
555         above rule.  Some are legit, others are simply grandfathered in.
556         * Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h here, too.
557
558 2005-11-12  Jim Meyering  <jim@meyering.net>
559
560         * src/checksum.h, src/md5.c, src/sha1sum.c: Remove now-unused files.
561
562 2005-11-11  Jim Meyering  <jim@meyering.net>
563
564         * NEWS: Mention `readlink -f' bug fix in 5.3.0 news.
565         Mention new readlink options in 5.3.0's `New features' section.
566         Spotted by Thomas Hood.
567
568 2005-11-08  Jim Meyering  <jim@meyering.net>
569
570         * NEWS: Merge in changes from b5_9x branch.
571
572 2005-11-08  Paul Eggert  <eggert@cs.ucla.edu>
573
574         * NEWS: ls now defaults to --time-style='locale', which in turn acts
575         like --time-style='posix-long-iso' if the locale settings are messed up.
576         * src/ls.c (decode_switches): Implement this.
577
578 2005-11-08  Jim Meyering  <jim@meyering.net>
579
580         * tests/du/2g: s/expensive/very expensive/ in a comment.
581         From Paul Townsend.
582
583 2005-10-17  Eric Blake  <ebb9@byu.net>
584
585         * src/ls.c (usage): Fix descriptions of --sort, --time.
586         Reported by Vitaly A. Ostanin.
587
588 2005-11-04  Paul Eggert  <eggert@cs.ucla.edu>
589
590         * src/ln.c: Include filenamecat.c.
591         (FILE_BASENAME_CONCAT): Remove.
592         (do_link): Remove last arg DEST_IS_DIR.  All callers changed.
593         (main): Use file_name_concat, base_name, and strip_trailing_slashes
594         instead of FILE_BASENAME_CONCAT.  This simplifies the code, and avoids
595         the use of alloca.
596
597 2005-11-04  Jim Meyering  <jim@meyering.net>
598
599         * src/du.c (process_file): Don't overflow for files of size >= 2^31
600         on systems with stat.st_blocks of a signed 32-bit type.
601         This bug causes trouble on some AIX 5.1 systems.
602         Report and trivial patch from Paul Townsend:
603         <http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00033.html>
604         * NEWS: Mention this.
605
606         * tests/du/2g: New (very-expensive) test for the above-fixed bug.
607         * tests/du/Makefile.am (TESTS): Add it here.
608         * tests/very-expensive: New file.
609         * tests/Makefile.am (EXTRA_DIST): Add it here.
610         * tests/cp/perm: Mark this test as `very-expensive', too.
611
612 2005-11-02  Paul Eggert  <eggert@cs.ucla.edu>
613
614         * NEWS: Mention that rm -d and maybe ln -d are scheduled for
615         removal in 2006.
616         * src/remove.h (struct rm_options): Remove unlink_dirs.  All uses
617         removed.
618         * src/rm.c (usage): Don't mention rm -d.
619
620 2005-11-02  Jim Meyering  <jim@meyering.net>
621
622         * tests/dd/skip-seek: Fix typo in comment: s/fileutils/coreutils.
623         From Andreas Schwab.
624
625         * tests/dd/unblock-sync: Redirect stderr to /dev/null so the
626         `M+N records in/out' lines don't pollute `make check' output.
627
628         * tests/dd/skip-seek (sk-seek4): New test, to exercise the bug
629         fixed on 2005-10-31.  This test uses the new, IN_PIPE specifier.
630         * tests/Coreutils.pm: Accept a new type of input specifier: IN_PIPE,
631         to indicate that the input file should be piped into the command
632         under test (via `cat FILE | $prog ...').
633
634         * src/remove.c (remove_entry): Emit a better diagnostic when rm
635         (without -r) fails to remove a directory on a non-Linux system.
636         This change affects only newer Solaris systems (with priv_*
637         functions like priv_allocset).  Reported by Keith Thompson.
638
639         * tests/rm/dir-nonrecur: New file/test for the above fix.
640         * tests/rm/Makefile.am (TESTS): Add dir-nonrecur.
641
642 2005-11-01  Paul Eggert  <eggert@cs.ucla.edu>
643
644         * NEWS: "tail -c 2 FILE" and "touch 0101000000" now operate as
645         POSIX 1002.1-2001 requires.
646         * src/tail.c (parse_obsolete_option): Implement this.
647         Problem reported by Vincent Lefevre.
648         * src/touch.c (main): Pass PDS_PRE_2000 to posixtime.
649         * tests/tail/Test.pm (c-2, c-2-minus, c2, c2-minus): New tests.
650         (test_vector): Add special cases for _POSIX2_VERSION, and
651         regularize the old ones a bit.
652         * tests/touch/obsolescent: Add y2000 test.
653
654 2005-10-31  Paul Eggert  <eggert@cs.ucla.edu>
655
656         * src/dd.c (skip): Fix off-by-one error reported by
657         Theodoros V. Kalamatianos.
658
659 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
660
661         * tests/mkdir/p-3: Require that the test be run as non-root.
662         Problem and trivial fix reported by Theodoros V. Kalamatianos.
663
664 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
665
666         * src/ln.c (FILE_BASENAME_CONCAT): Omit unnecessary slashes in the
667         boundary between DEST and SOURCE in the result.
668
669 2005-10-26  Dmitry V. Levin  <ldv@altlinux.org>
670
671         * src/md5sum.c (main) [!O_BINARY]: Changed default read mode
672         back to text, to sync with documentation and for backwards
673         compatibility.
674
675 2005-10-25  Jim Meyering  <jim@meyering.net>
676
677         * tests/dircolors/simple (other-wr): Add an explicit test for
678         the dircolors bug (NULL-dereference) fixed yesterday.
679
680 2005-10-24  Jim Meyering  <jim@meyering.net>
681
682         * src/tac.c (tac_file): When determining whether a file is seekable,
683         also test whether it is a tty.  Using only the lseek-based test would
684         give a false positive on Solaris.  Reported by Peter Fales.
685
686 2005-10-24  Dmitry V. Levin  <ldv@altlinux.org>
687
688         * tests/install/d-slashdot: New test, for "install -d" failure.
689         * tests/install/Makefile.am (TESTS): Add d-slashdot.
690         * tests/mkdir/p-slashdot: New test, for "mkdir -p" failure.
691         * tests/mkdir/Makefile.am (TESTS): Add p-slashdot.
692
693 2005-10-24  Jim Meyering  <jim@meyering.net>
694
695         * src/dircolors.c (ls_codes): Add missing comma.
696         Anonymous report and patch from
697         http://savannah.gnu.org/bugs/?func=detailitem&item_id=14849
698
699         * src/dircolors.c: Add compile-time assertion that the slack_codes
700         and ls_codes arrays have the same number of elements.  This would
701         have prevented the above-fixed bug.
702
703         * src/expand.c (parse_tab_stops): Add a comment to make this function
704         identical to the one in unexpand.c.
705         * src/unexpand.c (parse_tab_stops): Adjust syntax to make this function
706         identical to the one in expand.c.
707
708         * src/expand.c (next_file): Don't assume fopen cannot return stdin.
709
710 2005-10-23  Jim Meyering  <jim@meyering.net>
711
712         * src/md5sum.c (digest_check, main): Use ptr_align rather than
713         a dangerous pointer-value-to-`unsigned' cast.
714         * NEWS: mention the new sha* programs.
715         * AUTHORS: Add new sha* programs.
716
717 2005-08-28  David Madore  <david.madore@ens.fr>
718
719         Add new programs: sha224sum, sha256sum, sha384sum, sha512sum.
720         * README: Add their names to the list.
721         * src/md5sum.c: Provide framework for computing sha-2 hashes.
722         * src/Makefile.am (sha224sum, sha256sum, sha384sum, sha512sum):
723         Rules for compiling sha-2 utilities
724         (noinst_HEADERS): Remove checksum.h.
725         * man/sha512sum.x, man/sha384sum.x, man/sha256sum.x, man/sha224sum.x:
726         New files.
727         * man/Makefile.am (dist_man_MANS): Add the corresponding .1 names.
728         (sha224sum.1, sha256sum.1, sha384sum.1, sha512sum.1): New dependencies.
729         * tests/misc/sha224sum, tests/misc/sha256sum: New files.
730         * tests/misc/sha384sum, tests/misc/sha512sum: New files.
731         * tests/misc/Makefile.am (TESTS): Add new sha224sum, sha256sum,
732         sha384sum, sha512sum test scripts here rather that each in its
733         own directory.
734
735 2005-08-28  David Madore  <david.madore@ens.fr>
736
737         * tests/sha1sum/basic-1 (million-a): Add the "million a's" test (one
738         of the FIPS test vectors).
739
740 2005-10-23  Jim Meyering  <jim@meyering.net>
741
742         * configure.ac: Use 6.0-cvs as the version string.
743         * NEWS: Adjust accordingly.