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