
1: 2007-03-22 Jim Meyering <jim@meyering.net> 2: 3: Version 6.9. 4: * NEWS: Record release date and new version number. 5: * configure.ac (AC_INIT): New version number. 6: 7: * tests/mv/hard-3: Correct the preceding change: $3 -> $2. 8: 9: 2007-03-22 Paul Eggert <eggert@cs.ucla.edu> 10: 11: Improve a test script. 12: * tests/mv/hard-3: Check for 'ls' failure, too. 13: Generate more-useful debugging output when 'ls' fails. 14: 15: 2007-03-21 Jim Meyering <jim@meyering.net> 16: 17: Fix a test script not to claim an ext2 file system is of type xfs. 18: * tests/du/slink: When using df --local and df --type=TYPE, 19: test only the exit code. Don't bother with stdout. 20: Prompted by a report by Thomas Schwinge of an inaccurate diagnostic. 21: 22: * gl/lib/savewd.c: Remove this file, since the savewd_save change 23: is now in gnulib. The other wasn't useful. 24: 25: 2007-03-20 Jim Meyering <jim@meyering.net> 26: 27: * gl/lib/acl.c: Remove this file, now that gnulib's version subsumes it. 28: 29: Skip part of this test when "." is not a local file system. 30: * tests/install/basic-1: Otherwise, it would fail on some NFS 31: file systems. 32: * tests/mkdir/p-3: Likewise. 33: 34: 2007-03-19 Paul Eggert <eggert@cs.ucla.edu> 35: 36: * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): 37: Add $(LIB_ACL_TRIVIAL). 38: 39: 2007-03-18 Jim Meyering <jim@meyering.net> 40: 41: Fix a generic NFS-related test failure. 42: * tests/mkdir/p-3: When setting up an unreadable "." in an 43: inaccessible parent, make the parent inaccessible *after* making "." 44: unreadable. Otherwise, running "chmod a-r ." in an already- 45: inaccessible parent would fail on NFS with "Stale NFS file handle". 46: 47: Fix a bug in how pr -m -s works. 48: * NEWS: Describe how the fix affects pr. 49: * src/pr.c (init_parameters): The --merge (-m) option does 50: not imply --expand-tabs (-e), so don't set "untabify_input". 51: Reported by Wis Macomson. 52: * tests/misc/pr: New file. Test for the above fix. 53: * tests/misc/Makefile.am (TESTS): Add pr. 54: * THANKS: Update. 55: 56: 2007-03-17 Jim Meyering <jim@meyering.net> 57: 58: Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted. 59: * bootstrap: Put ""s around use of $build_aux, in case 60: someone uses a name containing shell meta-characters. 61: Reported by Alfred M. Szmidt. 62: * tests/misc/tty-eof: Add shuf to the list of tested commands. 63: 64: Avoid test failure on NFS-mounted Solaris ZFS file system. 65: * tests/du/basic: Skip a test if "." is on a non-local file system. 66: 67: Avoid an obscure build failure, prefer waitpid over wait. 68: * src/install.c (strip): Use waitpid, not wait. It's equivalent, 69: but feels less obsolescent. 70: 71: * bootstrap: Don't use \> in grep regexp. For HP-UX. 72: 73: 2007-03-16 Jim Meyering <jim@meyering.net> 74: 75: Begin adding support for Solaris ZFS (4 entries per trivial ACL) 76: * gl/lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro. 77: (file_has_acl, copy_acl): Use it, rather than enumerating errno values. 78: (is_trivial_acl): New function. Incomplete, for now. 79: (file_has_acl, copy_acl): Use the new function, rather than 80: counting the number of entries in an ACL. 81: 82: * bootstrap: Update from gnulib. 83: 84: * .x-sc_prohibit_atoi_atof: Add TODO here, too. 85: 86: 2007-03-16 Paul Eggert <eggert@cs.ucla.edu> 87: 88: * src/copy.c: Include filemode.h. 89: (overwrite_prompt): Say "try to overwrite", not "overwrite", to 90: make it clearer that the attempt may fail. Problem reported by 91: Dan Jacobson in: 92: http://lists.gnu.org/archive/html/bug-coreutils/2007-03/msg00130.html 93: Output symbolic mode as well as numeric. 94: * tests/mv/i-2 (fail): Adjust to new prompt format. 95: 96: 2007-03-15 Jim Meyering <jim@meyering.net> 97: 98: Enforce policy: don't use *scanf functions. 99: * Makefile.maint (sc_prohibit_atoi_atof): Add to regexp and diagnostic. 100: * .x-sc_prohibit_atoi_atof: Give stty a temporary pass. 101: * TODO: note that stty.c needs this small clean-up. 102: 103: 2007-03-13 Jim Meyering <jim@meyering.net> 104: 105: Prepare to work on ACL-related failure when using Solaris ZFS. 106: * gl/lib/acl.c: New file, copied from gnulib. 107: 108: Work around a failing test due to an NFS-based race condition. 109: * tests/cp/sparse: Accept a report that the copy is *smaller*. 110: 111: 2007-03-12 Jim Meyering <jim@meyering.net> 112: 113: Make bootstrap.conf a tiny bit more generic. 114: * bootstrap.conf (XGETTEXT_OPTIONS): Exclude gettext-related .m4 115: files when e.g., AM_GNU_GETTEXT([external] appears in configure.ac. 116: 117: 2007-03-10 Jim Meyering <jim@meyering.net> 118: 119: Try to fix today's NFS-related failure: Treat ESTALE like EACCES. 120: * gl/lib/savewd.c: Copy this file from gnulib, then change 121: "errno != EACCES" to (errno != EACCES && errno != ESTALE). 122: The symptom was this failure in tests/install/basic-1: 123: ginstall: cannot create directory `rel/a': Stale NFS file handle 124: 125: The preceding change solved part of the problem. Now ginstall fails. 126: * tests/install/basic-1: Temporarily, don't redirect ginstall's 127: stderr to /dev/null, so I can see why the NFS autobuilder's NFS test 128: is failing. 129: 130: * tests/install/basic-1: When setting up an unreadable "." in an 131: inaccessible parent, make the parent inaccessible *after* making "." 132: unreadable. Otherwise, running "chmod a-r ." in an already- 133: inaccessible parent would fail on NFS with "Stale NFS file handle". 134: Reported by Bob Proulx. 135: 136: * Makefile.maint (po-check): Exclude c99-to-c89.diff. 137: 138: 2007-03-09 Jim Meyering <jim@meyering.net> 139: 140: Avoid test failures on Darwin 7.9.0 (MacOS X 10.3.9) 141: * tests/chgrp/basic: Don't let failure by chgrp to set the 142: group of a symlink make this test fail. Do give a diagnostic. 143: In the chgrp-no-change-ctime test, add darwin7.9.0 as another 144: known-failing system. 145: When failing on some other system, print $host_triplet, too. 146: Also avoid test failures on Darwin 8.8.x (MacOS X 10.4). 147: Reported by Peter Fales. 148: 149: 2007-03-08 Jim Meyering <jim@meyering.net> 150: 151: * src/c99-to-c89.diff: Reflect the new c99'ism, update offsets. 152: 153: 2007-03-08 Paul Eggert <eggert@cs.ucla.edu> 154: 155: rm without -f: give a better diagnostic when euidaccess fails. 156: * src/remove.c (write_protected_non_symlink): Return int, not bool, 157: so that we can indicate failure too (as a postive error number). 158: (prompt): If write_protected_non_symlink fails, report that error 159: number and fail rather than charging ahead and removing the dubious 160: entry. Redo the logic of printing a diagnostic so that we need to 161: invoke quote (full_filename (...)) only once. More details at: 162: <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9952/focus=9996> 163: 164: 2007-03-08 Jim Meyering <jim@meyering.net> 165: 166: Generalize a few more cvs-isms. 167: * bootstrap (checkout_only_file): Rename from CVS_only_file. 168: Change comments and diagnostics not to say "CVS". 169: 170: * bootstrap: Run libtool, if necessary. 171: 172: Make bootstrap a little more general. 173: * bootstrap (build_aux): Factor out/use this definition. 174: Formally require a "AC_CONFIG_AUX_DIR($build_aux)" line in configure.ac. 175: (insert_sorted_if_absent): Move function definition "up", to 176: precede new first use. 177: If $build_aux/ doesn't exist initially, create it, and 178: mark it as ignored. 179: 180: 2007-03-03 Andrew Church <achurch@achurch.org> (tiny change) 181: Paul Eggert <eggert@cs.ucla.edu> 182: 183: Fix a bug: cp -x would fail to set mount point permissions. 184: * NEWS: mention cp -x bug fix 185: * src/copy.c (copy_internal): Don't return immediately after 186: copying a mount point that we do not intend to recurse under. 187: Based on a patch by Andrew Church. 188: 189: 2007-03-03 Jim Meyering <jim@meyering.net> 190: 191: pwd-unreadable-parent: Skip test on ia64/Linux, too. 192: * tests/misc/pwd-unreadable-parent: Also skip when $REPLACE_GETCWD. 193: Reported by Bob Proulx. 194: 195: 2007-03-02 Jim Meyering <jim@meyering.net> 196: 197: pwd-unreadable-parent: Skip test on non-Linux/GNU systems. 198: * tests/misc/pwd-unreadable-parent: Rather than trying to decide 199: whether this test has a chance of succeeding, run it only when 200: $(host_os) is linux-gnu. It was failing on powerpc-apple-darwin8.8.0 201: * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Add host_os=$(host_os). 202: 203: * tests/misc/pwd-long: Also allow "+" in $PWD. 204: 205: Remove another coreutils-ism. Formatting cleanup. 206: * Makefile.maint (my-distcheck): Update an outdated comment. 207: (emit_upload_commands): Use $(PACKAGE) rather than "coreutils". 208: (my-distcheck): Skip the c99/c89 check if there's no such .diff file. 209: 210: 2007-03-01 Jim Meyering <jim@meyering.net> 211: 212: * Makefile.maint (warn_cflags): Hoist, adding "-Dlint -O". 213: (my-distcheck): Use the new variable, instead of too-long literal. 214: 215: Make "make syntax-check" rules less coreutils-specific. 216: * Makefile.maint (sc_cast_of_x_alloc_return_value): Use CVS_LIST_EXCEPT. 217: (sc_cast_of_alloca_return_value): Likewise. 218: (sc_root_tests): Do nothing if there is no check-root target 219: in tests/Makefile.am. 220: 221: Run the writable-files check only for release-building targets. 222: * Makefile.maint (local-checks-available): Remove writable-files. 223: (alpha beta major): Put it here, instead. 224: 225: "make syntax-check" now runs only Makefile.cfg-selected tests 226: * Makefile.maint (syntax-check-rules): Hoist this definition so that 227: it precedes the indirect use in the definition of $(local-check). 228: (local-check): Use :=, not just "=". 229: (syntax-check): Depend on $(local-check), not $(syntax-check-rules). 230: 231: 2007-02-28 Bruno Haible <bruno@clisp.org> 232: 233: * bootstrap.conf (gnulib_modules): Replace xreadlink with 234: xreadlink-with-size. Add xreadlink. 235: * src/copy.c (copy_internal): Update. 236: * src/ls.c (is_directory): Update. 237: * src/stat.c (print_stat): Update. 238: * src/readlink.c (main): Use the one-argument xreadlink function. 239: 240: 2007-02-28 Paul Eggert <eggert@cs.ucla.edu> 241: 242: * doc/coreutils.texi (Common options): --si outputs "M", not "MB". 243: Problem reported by Philip Rowlands in 244: <http://lists.gnu.org/archive/html/bug-coreutils/2007-02/msg00283.html>. 245: 246: 2007-02-28 Jim Meyering <jim@meyering.net> 247: 248: * .x-sc_file_system: Add the new test, tests/misc/df-P, to this 249: list of exceptions, for the "make distcheck" sc_file_system rule. 250: 251: * Makefile.maint (gnulib_snapshot_date): Remove now-unused definition. 252: 253: 2007-02-27 Paul Eggert <eggert@cs.ucla.edu> 254: 255: Make df -P immune to effects of e.g., the BLOCK_SIZE envvar. 256: * NEWS: With -P, the default block size and output format is not 257: affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE. 258: * src/df.c (main): Implement this. 259: 260: 2007-02-27 Jim Meyering <jim@meyering.net> 261: 262: Add a test for the above. 263: * tests/misc/df-P: New file. 264: * tests/misc/Makefile.am (TESTS): Add df-P. 265: 266: 2007-02-25 Jim Meyering <jim@meyering.net> 267: 268: * Makefile.maint (announcement): Adjust so that it works with 269: announce-gen's --gnulib-snapshot-time-stamp option. 270: Indent one of the command lines using TAB, not 8 spaces. 271: 272: Post-release version change. 273: * NEWS: Add a line for 6.8+. 274: * configure.ac (AC_INIT): Set new version string. 275: 276: 2007-02-24 Jim Meyering <jim@meyering.net> 277: 278: Version 6.8. 279: * NEWS: Record release date and new version number. 280: * configure.ac (AC_INIT): New version number. 281: 282: Don't skip this test on new-enough Linux/GNU systems. 283: * tests/misc/pwd-unreadable-parent: Test $REPLACE_GETCWD = 0, 284: rather than for __GETCWD_PREFIX in config.h (the latter is no 285: longer defined, ever, due to gnulib changes). 286: * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define REPLACE_GETCWD. 287: 288: Remove the "gnits" option; it prohibits my using "+" as a version 289: string suffix, and all it does (beyond the default "gnu" option) 290: is to _require_ the THANKS file. 291: * configure.ac (AM_INIT_AUTOMAKE): Remove it. 292: 293: Remove all AUTOMAKE_OPTIONS settings in Makefile.am files. 294: * tests/chgrp/Makefile.am, tests/chmod/Makefile.am: 295: * tests/chown/Makefile.am, tests/cp/Makefile.am: 296: * tests/du/Makefile.am, tests/expr/Makefile.am: 297: * tests/factor/Makefile.am, tests/general/Makefile.am: 298: * tests/install/Makefile.am, tests/ln/Makefile.am: 299: * tests/ls/Makefile.am, tests/mkdir/Makefile.am: 300: * tests/mv/Makefile.am, tests/readlink/Makefile.am: 301: * tests/rm/Makefile.am, tests/rmdir/Makefile.am: 302: * tests/seq/Makefile.am, tests/stty/Makefile.am: 303: * tests/tee/Makefile.am, tests/touch/Makefile.am: 304: 305: * README: Document the OSF/1 4.0d build failure and work-around. 306: Reported by Bruno Haible. 307: 308: * NEWS: Use a simple "+" suffix to denote pre-release, not "-dirty". 309: Nicer connotations. 310: * configure.ac: Use 6.7+, not 6.7-dirty. 311: 312: 2007-02-24 Paul Eggert <eggert@cs.ucla.edu> 313: 314: * NEWS: sort no longer compresses temporaries by default. 315: * bootstrap.conf: Remove findprog. 316: * doc/coreutils.texi (sort invocation): The default is to not 317: compress. Don't treat "" specially. 318: * src/sort.c: Don't include findprog.h. 319: (create_temp): Compress only if the user specified --compress-program. 320: * tests/misc/sort-compress: Adjusts tests to match new behavior. 321: 322: 2007-02-24 Jim Meyering <jim@meyering.net> 323: 324: Avoid a shell syntax error, when building with an inadequate Perl. 325: * man/Makefile.am (.x.1): Add quotes around $(PERL) in case, since 326: it can expand to "/.../missing perl". 327: 328: * man/Makefile.am (.x.1): Warn when unable to update a man page. 329: Suggestion from Bruno Haible. 330: 331: 2007-02-23 Bruno Haible <bruno@clisp.org> 332: 333: Handle better the combination of old Perl and a pre-c99 compiler. 334: * man/Makefile.am (.x.1): If the autoconf test has determined that 335: perl is missing or not a sufficient version, do nothing. 336: 337: * tests/readlink/can-e: Put the closing double-quote at the end of a 338: backquoted word, not in the middle. Works around a bug in sh on 339: OSF/1 4.0d. 340: * tests/readlink/can-f: Likewise. 341: * tests/readlink/can-m: Likewise. 342: 343: * tests/du/slink: Skip the test if executing on an nfsv3 file system. 344: This avoids a test failure at least on OSF/1 4.0d. 345: 346: 2007-02-23 Jim Meyering <jim@meyering.net> 347: 348: * src/date.c (usage): Split a diagnostic that had grown to be 349: longer than the C89 maximum of 509 bytes. 350: 351: 2007-02-23 Ed Santiago <ed@edsantiago.com> 352: 353: * src/date.c (usage): Mention that --rfc-3339 uses space, not 'T', 354: for a separator. Include sample RFC 2822 and 3339 output. 355: 356: 2007-02-23 Jim Meyering <jim@meyering.net> 357: 358: With -Dlint, make shuf free all heap-allocated storage. 359: * src/shuf.c (main): Move declaration of input_lines to 360: function scope, and initialize to NULL, so we can free it. 361: [lint]: Free all malloc'd memory. 362: * tests/misc/shuf: Also test shuf's -e and -i options. 363: 364: 2007-02-22 Jim Meyering <jim@meyering.net> 365: 366: Merge in a change from some other incarnation of this file (gzip?) 367: * bootstrap (gnulib_tool): Skip get_translations if there is no po/ dir. 368: 369: Adjust preceding change not to perform an unaligned access. 370: * src/copy.c (copy_reg): Undo previous change. Instead, make 371: it clearer that we're using a single-byte sentinel, and 372: [lint]: Initialize sizeof (uintptr_t) - 1 bytes after the sentinel. 373: Reported by Andreas Schwab. 374: 375: Placate valgrind, wrt ./cp --sparse=always 376: * src/copy.c (copy_reg): Place the sentinel by setting a 377: full word's worth of bits, not just a single byte's worth. 378: This avoids a harmless (but distracting) case of memory being 379: used-uninitialized. 380: 381: 2007-02-21 Paul Eggert <eggert@cs.ucla.edu> 382: 383: Honor dd's noatime flag if possible, even if not supported on build fs 384: * doc/coreutils.texi (dd invocation): Warn that noatime might not be 385: reliable. 386: * src/dd.c (flags, usage): Look at O_NOATIME, not 387: HAVE_WORKING_O_NOATIME, to decide whether to support the noatime 388: flag, so that dd attempts O_NOATIME even if the build file system 389: does not support it. Problem reported by Jim Meyering today in 390: bug-coreutils. 391: * tests/dd/misc: Generate a warning, not a failure, if noatime 392: exists but fails. 393: 394: 2007-02-21 Jim Meyering <jim@meyering.net> 395: 396: * tests/misc/date: Remove vestigial use of Data::Dumper. 397: 398: 2007-02-20 Paul Eggert <eggert@cs.ucla.edu> 399: 400: * src/copy.c (cached_umask): Cast -1 to mode_t to avoid a warning 401: about out-of-range initializer with Sun C 5.8. 402: 403: 2007-02-20 Jim Meyering <jim@meyering.net> 404: 405: * bootstrap (CVS_only_file): Use README-hacking. 406: 407: Now that we use GIT, not cvs, rename README-cvs. 408: * README-hacking: Renamed from... 409: Update to reflect that we now use git. 410: 411: * README-cvs: ...this. 412: 413: * src/env.c (main): When invoked with no arguments (i.e. when printing 414: the environment), use a local variable to iterate through the global 415: "environ" array, rather than "environ" itself. This is solely to 416: avoid changing the environment for an LD_PRELOAD-substituted "puts" 417: or "exit" function. Tiny patch by Harvey Eneman. See 418: <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9735>. 419: * THANKS: Update. 420: 421: * bootstrap: Move definitions of temporary directory names and the 422: new bt_regex "up" to precede all uses, so it's clearer what their 423: scope is. Also, use [.], rather than \\., since the former works 424: even if eval'd. 425: 426: * bootstrap: Remove occurrences of $bt (._bootmp) from lib/Makefile. 427: Based on the bison 2007-02-19 change by Joel E. Denny. 428: 429: 2007-02-19 Paul Eggert <eggert@cs.ucla.edu> 430: 431: * NEWS: sort now uses a --compress-program option rather than 432: an environment variable. 433: * doc/coreutils.texi (sort invocation): Document this. 434: * src/sort.c (usage): Likewise. 435: (COMPRESS_PROGRAM_OPTION): New const. 436: (long_options, create_temp, main): Support new option. 437: * tests/misc/sort-compress: Test it. 438: 439: 2007-02-19 Jim Meyering <jim@meyering.net> 440: 441: * bootstrap: Fix typo s/dowloading/downloading/ in --help output. 442: 443: 2007-02-18 Jim Meyering <jim@meyering.net> 444: 445: * src/system.h: Don't include exit.h, now that it's subsumed 446: by the gnulib-generated stdlib.h. 447: 448: * tests/rm/fail-eacces: Skip this test when running as root. 449: Reported by Matthew Woehlke. 450: 451: * bootstrap: Use "._bootmp" as the temporary directory name, 452: not ".#bootmp". The latter's "#" caused trouble with the new, 453: gnulib-added "LINK_WARNING_H = $(top_srcdir)/.#bootmp/..." line. 454: 455: 2007-02-14 Paul Eggert <eggert@cs.ucla.edu> 456: 457: * bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase. 458: * src/dircolors.c: Include c-strcase.h. 459: (dc_parse_stream): Use c_strcasecmp rather than 460: strcasecmp to avoid unreliable results in locales like Turkish 461: where strcasecmp is incompatible with the C locale. 462: 463: 2007-02-13 Jim Meyering <jim@meyering.net> 464: 465: Also check for and print stderr output, in case a program fails. 466: * tests/misc/tty-eof: Occasionally (not reproducible), this 467: test would fail, with one or more programs exiting nonzero, e.g., 468: tty-eof: sha224sum exited with status 1 (expected 0) 469: Now, maybe we'll get a clue, the next time that happens. 470: 471: 2007-02-12 Jim Meyering <jim@meyering.net> 472: 473: * .x-sc_useless_cpp_parens: Ignore a false-positive in a shell script. 474: 475: * tests/misc/pwd-unreadable-parent: Skip the test if we're 476: definitely using the replacement. 477: * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define CONFIG_HEADER. 478: 479: 2007-02-10 Jim Meyering <jim@meyering.net> 480: 481: Remove excess leading spaces that would make help2man misbehave. 482: * src/printf.c (usage): Remove excess spaces on 2nd line of %b desc. 483: * src/nl.c (usage): Remove excess spaces on 2nd line of pBRE desc. 484: * src/dd.c (usage): Remove excess spaces on 2nd line of sync desc. 485: * src/date.c (usage): Use two spaces after each optional flag, not one. 486: Reported by Thomas Huriaux in <http://bugs.debian.org/410407>. 487: 488: * Makefile.maint (longopt_re): Relax the regexp, making square 489: brackets optional, so it matches the newly reported violations, too. 490: 491: * src/csplit.c (usage): Use two spaces (not one) to separate 492: each option string from its description, so help2man formats 493: the derived man page properly. Reported by Thomas Huriaux in 494: <http://bugs.debian.org/410407>. 495: * src/df.c (usage): Likewise. 496: * src/du.c (usage): Likewise. 497: * src/install.c (usage): Likewise. 498: * src/ls.c (usage): Likewise. 499: 500: 2007-02-03 Jim Meyering <jim@meyering.net> 501: 502: Test for today's gnulib/lib/getcwd.c fix affecting pwd and readlink 503: * NEWS: Mention the bug fix. 504: * tests/misc/pwd-unreadable-parent: New file. 505: * tests/misc/Makefile.am (TESTS): Ad pwd-unreadable-parent. 506: 507: 2007-02-02 Paul Eggert <eggert@cs.ucla.edu> 508: 509: * NEWS: Document fix for cp --preserve=mode. 510: * src/copy.c (copy_internal): Omit the group- or other-writeable 511: permissions when creating a directory, to avoid a race condition 512: if the special mode bits aren't right just after the directory is 513: created. 514: * src/cp.c (make_dir_parents_private): Likewise. 515: * tests/cp/parent-perm-race: Test for the "cp --preserve=mode" 516: race fix in copy.c. 517: 518: * NEWS: Document fix for cp --parents. 519: * src/cp.c (make_dir_parents_private): Report the error sooner with 520: "cp --parents DIR/FILE DEST" when DIR is a non-directory, thus not 521: creating the directory, DEST/DIR. 522: * tests/cp/cp-parents: Test for the non-race-condition bug fixed 523: by the above change. 524: 525: 2007-02-02 Jim Meyering <jim@meyering.net> 526: 527: * src/nl.c (proc_text): Use "NULL", not "(struct re_registers *) 0". 528: 529: * src/c99-to-c89.diff: Make shred.c Index: and a/b prefixes 530: consistent, so this can be applied with patch -p0. 531: Reported by Matthew Woehlke. 532: 533: * Makefile.maint (patch-check): Use patch with its -p2 option, 534: since that makes this check slightly more strict. 535: 536: 2007-01-29 Jim Meyering <jim@meyering.net> 537: 538: Plug a leak in ls. 539: * src/ls.c (print_dir): Don't leak a "DIR"+fd upon failure to 540: determine dev/inode or upon detecting a symlink loop. 541: 542: * src/ls.c: Rename three global variables. 543: (cwd_file): Rename from 'files'. 544: (cwd_n_alloc): Rename from 'nfiles'. 545: (cwd_n_used): Rename from 'files_index'. 546: 547: Shave 8 bytes off the size of "struct fileinfo". 548: * src/ls.c (fileinfo): Put all members of type "bool" together. 549: 550: 2007-01-28 Paul Eggert <eggert@cs.ucla.edu> 551: 552: Modify "ls" to sort its data faster, using the new gnulib mpsort 553: module rather than qsort. This is particularly a win in 554: environments where strcoll is slow, since mpsort typically calls 555: strcoll less often than qsort does. 556: * bootstrap.conf (gnulib_modules): Add mpsort. 557: * src/ls.c: Include mpsort.h. 558: (sorted_file, sorted_file_alloc): New vars, for a new vector of 559: pointers to the file info, for speed. 560: (clear_files, extract_dirs_from_files, sort_files, print_current_files): 561: (print_many_per_line, print_horizontal, print_with_commas): 562: (calculate_columns): Set and use new vector. 563: (initialize_ordering_vector): New function. 564: 565: 2007-01-26 Paul Eggert <eggert@cs.ucla.edu> 566: 567: Adjust to today's change to gnulib, which added a module for 568: string.h to replace the little include files like strcase.h. 569: * src/dircolors.c: Don't include strcase.h. 570: * src/system.h: Don't include mempcpy.h, memrchr.h, stpcpy.h, strpbrk.h. 571: 572: 2007-01-26 Jim Meyering <jim@meyering.net> 573: 574: * src/dd.c (advance_input_after_read_error): Change diagnostic to 575: say "invalid file offset" rather than "screwy file offset". 576: 577: * .x-sc_cast_of_argument_to_free: Remove this file. 578: * Makefile.am (EXTRA_DIST): Likewise. 579: 580: 2007-01-25 Dan Hipschman <dsh@linux.ucla.edu> 581: 582: * src/sort.c (create_temp): Remove superfluous access-X_OK 583: check. find_in_path does this for us. 584: 585: 2007-01-24 Jim Meyering <jim@meyering.net> 586: 587: Remove usually-skipped test. 588: * tests/cp/open-perm-race: Remove this file. It is subsumed 589: by parent-perm-race. 590: * tests/cp/Makefile.am (TESTS): Remove open-perm-race. 591: * tests/sort/Makefile.am: Regenerate. 592: 593: Pass "make distcheck" again. 594: * src/sort.c (usage): Split a diagnostic that had grown to be 595: longer than the C89 maximum of 509 bytes. 596: * .x-sc_cast_of_argument_to_free: New file. Allow a cast in sort.c. 597: FIXME: this is just temporary, while we wait to remove the offending 598: access-calling code. 599: * Makefile.am (EXTRA_DIST): Add .x-sc_cast_of_argument_to_free. 600: * Makefile.maint (sc_cast_of_argument_to_free): Use the 601: canonical, $$($(CVS_LIST_EXCEPT)). 602: * m4/.gitignore, m4/.cvsignore, lib/.gitignore, lib/.cvsignore: Update. 603: 604: 2007-01-24 Paul Eggert <eggert@cs.ucla.edu> 605: 606: * NEWS: New option sort -C, proposed by XCU ERN 127, which looks 607: like it will be approved. Also add --check=quiet, --check=silent 608: as long aliases, and --check=diagnose-first as an alias for -c. 609: * doc/coreutils.texi (sort invocation): Document this. 610: Also, mention that sort -c can take at most one file. 611: * src/sort.c: Implement this. 612: Include argmatch.h. 613: (usage): Document the change. 614: (CHECK_OPTION): New constant. 615: (long_options): --check now takes an optional argument, and is now 616: treated differently from 'c'. 617: (check_args, check_types): New constant arrays. 618: (check): New arg CHECKONLY, which suppresses diagnostic if -C. 619: (main): Parse the new options. 620: * tests/sort/Test.pm (02d, 02d, incompat5, incompat6): 621: New tests for -C. 622: 623: 2007-01-24 Jim Meyering <jim@meyering.net> 624: 625: Fix a typo. 626: * tests/misc/sort-compress: Use $abs_top_builddir, not $top_builddir. 627: * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise. 628: 629: Don't depend on "which". 630: * tests/misc/sort-compress (SORT): Use $abs_builddir, now which. 631: * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Export top_builddir. 632: 633: 2007-01-24 Dan Hipschman <dsh@linux.ucla.edu> 634: 635: Test sort compression. 636: * tests/misc/Makefile.am: Add the test. 637: * tests/misc/sort-compress: New file containing the tests. 638: 639: 2007-01-24 Jim Meyering <jim@meyering.net> 640: 641: * NEWS: sort temp file compression: tweak wording. 642: * src/sort.c (struct sortfile) [name]: Declare member to be const. 643: 644: 2007-01-21 Jim Meyering <jim@meyering.net> 645: 646: * src/sort.c (MAX_FORK_RETRIES_COMPRESS, MAX_FORK_RETRIES_DECOMPRESS): 647: In pipe_fork callers, use these named constants, not "2" and "8". 648: (proctab, nprocs): Declare to be "static". 649: (pipe_fork) [lint]: Initialize local, pid, 650: to avoid unwarranted may-be-used-uninitialized warning. 651: (create_temp): Use the active voice. Describe parameters, too. 652: 653: 2007-01-21 James Youngman <jay@gnu.org> 654: 655: Centralize all the uses of sigprocmask(). Don't restore an invalid 656: saved mask. 657: * src/sort.c (enter_cs, leave_cs): New functions for protecting 658: code sequences against signal delivery. 659: * (exit_cleanup): Use enter_cs and leave_cs instead of 660: calling sigprocmask directly. 661: (create_temp_file, pipe_fork, zaptemp): Likewise 662: 663: 2007-01-21 Dan Hipschman <dsh@linux.ucla.edu> 664: 665: Add compression of temp files to sort. 666: * NEWS: Mention this. 667: * bootstrap.conf: Import findprog. 668: * configure.ac: Add AC_FUNC_FORK. 669: * doc/coreutils.texi: Document GNUSORT_COMPRESSOR environment 670: variable. 671: * src/sort.c (compress_program): New global, holds the name of the 672: external compression program. 673: (struct sortfile): New type used by mergepfs and friends instead 674: of filenames to hold PIDs of compressor processes. 675: (proctab): New global, holds compressor PIDs on which to wait. 676: (enum procstate, struct procnode): New types used by proctab. 677: (proctab_hasher, proctab_comparator): New functions for proctab. 678: (nprocs): New global, number of forked but unreaped children. 679: (reap, reap_some): New function, wait for/cleanup forked processes. 680: (register_proc, update_proc, wait_proc): New functions for adding, 681: modifying and removing proctab entries. 682: (create_temp_file): Change parameter type to pointer to file 683: descriptor, and return type to pointer to struct tempnode. 684: (dup2_or_die): New function used in create_temp and open_temp. 685: (pipe_fork): New function, creates a pipe and child process. 686: (create_temp): Creates a temp file and possibly a compression 687: program to which we filter output. 688: (open_temp): Opens a compressed temp file and creates a 689: decompression process through which to filter the input. 690: (mergefps): Change FILES parameter type to struct sortfile array 691: and update access accordingly. Use open_temp and reap_some. 692: (avoid_trashing_input, merge): Change FILES parameter like 693: mergefps and call create_temp instead of create_temp_file. 694: (sort): Call create_temp instead of create_temp_file. 695: Use reap_some. 696: (avoid_trashing_input, merge, sort, main): Adapt to mergefps. 697: 698: The idea of compressing sorts temporary files was first 699: suggested/implemented by Jay Soffian in 1998, and again 700: by Charles Randall in 2001. 701: 702: 2007-01-20 Jim Meyering <jim@meyering.net> 703: 704: * tests/misc/pwd-long: Work properly even when run from the 705: wrong one of two or more bind-mounted sibling directories. 706: Suggestion from Mike Stone in <http://bugs.debian.org/380552>. 707: 708: 2007-01-20 Paul Eggert <eggert@cs.ucla.edu> 709: 710: Standardize on list of signals when an app catches signals. 711: * src/csplit.c (main): Also catch SIGALRM, SIGPIPE, SIGPOLL, 712: SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ. 713: * src/ls.c (main): Likewise (except SIGPIPE was already caught). 714: Note that ls.c is special, as it also catches SIGTSTP. 715: * src/sort.c (main): Likewise. Also catch SIGQUIT. More details in 716: <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9510>. 717: 718: 2007-01-19 Dan Hipschman <dsh@linux.ucla.edu> 719: and Paul Eggert <eggert@cs.ucla.edu> 720: 721: * src/sort.c (cleanup): Clear temphead at the end. 722: (exit_cleanup): New function. 723: (main): Don't invoke atexit until we're ready. 724: Invoke it with exit_cleanup, not with cleanup and close_stdout, 725: to avoid a race condition with cleanup and signal handling. More 726: details: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9508 727: 728: 2007-01-18 Jim Meyering <jim@meyering.net> 729: 730: * src/c99-to-c89.diff: Adjust remove.c offsets. 731: 732: 2007-01-17 Jim Meyering <jim@meyering.net> 733: 734: Make "rm --interactive=never ..." never prompt. 735: * NEWS: Mention this. 736: * src/remove.h (enum rm_interactive): New ternary type. 737: (struct rm_options) [interactive]: Use it, here -- rather than bool. 738: * src/remove.c (prompt): Reflect type change. 739: * src/mv.c (rm_option_init): Initialize to RMI_NEVER now. 740: * src/rm.c (main): Add a FIXME comment for '-d' option. 741: Adapt to type change of rm_options.interactive. 742: 743: * tests/rm/i-never: New file. Test for the above fix. 744: * tests/rm/Makefile.am (TESTS): Add i-never. 745: 746: 2007-01-15 Jim Meyering <jim@meyering.net> 747: 748: * bootstrap (gnulib_tool): When adding to .cvsignore and .gitignore, 749: emit foo.h, for each foo_.h. This yields one false-positive, fts.h, 750: but that's ok, since fts_.h will eventually be renamed. 751: 752: * src/remove.c (remove_dir): Don't use errno in diagnostic. 753: