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