Happy new year! Maybe the changes in 5.1.0 weren't so destabilizing after all. There have been no bug reports against chmod, chgrp, chown, du, [*] or the underlying code in fts.c. Or maybe it's just that few people were daring enough to deploy coreutils-5.1.0, since I mentioned that it might be risky.
With the new touch feature (allowing -r and -d together), it is trivial to set a file's mtime or atime by a relative amount. E.g., to set existing file F's times back by 30 minutes, you can now do this: touch --reference=F --date='-30 min' F Here's the description of the new configure-time variable, DEFAULT_POSIX2_VERSION: Define the default level of POSIX conformance. The value is of the form YYYYMM, specifying the year and month the standard was adopted. If not defined here, it defaults to the value of _POSIX2_VERSION in <unistd.h>. Define to 199209 to default to POSIX 1003.2-1992, which makes standard programs like `head', `tail', and `sort' accept obsolete options like `+10' and `-10'. Define to 200112 to default to POSIX 1003.1-2001, which makes these standard programs treat leading-`+' operands as file names and require modern usages like `-n 10' instead of `-10'. Whether defined here or not, the default can be overridden at run time via the _POSIX2_VERSION environment variable. Thanks to Paul Eggert for his continuing help. Jim [*] Before 5.1.0, each of chmod, chgrp, chown, du would fail when operating on hierarchies that were too deep or with names that were too long. Here are the compressed sources: ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.1.1.tar.gz (6.2MB) ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.1.1.tar.bz2 (4.1MB) http://fetish.sf.net/coreutils-5.1.1.tar.gz (6.2MB) http://fetish.sf.net/coreutils-5.1.1.tar.bz2 (4.1MB) And here are xdelta-style diffs: ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.1.0-5.1.1.xdelta (456KB) http://fetish.sf.net/coreutils-5.1.0-5.1.1.xdelta (456KB) Here are GPG detached signatures: ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.1.1.tar.gz.sig ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.1.1.tar.bz2.sig http://fetish.sf.net/coreutils-5.1.1.tar.gz.sig http://fetish.sf.net/coreutils-5.1.1.tar.bz2.sig Here are the MD5 and SHA1 signatures: c7bfcb1dd153310c3e17a840382bd2fe coreutils-5.1.1.tar.gz c7b0aa7d7bd352f4c9dda541a8c864f9 coreutils-5.1.1.tar.bz2 f3498710646edc672a5ec02af0ab9b3b coreutils-5.1.0-5.1.1.xdelta ab0460e92783d1f337e24d4e7e174ecb4f87824a coreutils-5.1.1.tar.gz f19b8cd49954081c9bc4b6859cea73aa318adf57 coreutils-5.1.1.tar.bz2 afbf83a20ba3496f7c73e8ce2c05a584a0c371a0 coreutils-5.1.0-5.1.1.xdelta NEWS * Major changes in release 5.1.1 (2004-01-17): ** Configuration option You can select the default level of POSIX conformance at configure-time, e.g., by ./configure DEFAULT_POSIX2_VERSION=199209 ** Bug fixes fold -s works once again on systems with differing sizes for int and size_t (bug introduced in 5.1.0) ** New features touch -r now specifies the origin for any relative times in the -d operand, if both options are given. For example, "touch -r FOO -d '-5 seconds' BAR" sets BAR's modification time to be five seconds before FOO's. join: The obsolete options "-j1 FIELD", "-j2 FIELD", and "-o LIST1 LIST2..." are no longer supported on POSIX 1003.1-2001 systems. Portable scripts should use "-1 FIELD", "-2 FIELD", and "-o LIST1,LIST2..." respectively. If join was compiled on a POSIX 1003.1-2001 system, you may enable the old behavior by setting _POSIX2_VERSION=199209 in your environment. ChangeLog entries: ********************************************************************** ChangeLog ********************************************************************** 2004-01-17 Jim Meyering <[EMAIL PROTECTED]> * Version 5.1.1. 2003-12-15 Paul Eggert <[EMAIL PROTECTED]> * NEWS, doc/coreutils.texi: touch -r and -d can now both be specified, with -r specifying the origin for -d. * src/touch.c (flexible_date): Remove static var. (get_reldate): New function. (main): Use it, to implement this new behavior. 2004-01-16 Jim Meyering <[EMAIL PROTECTED]> * tests/touch/relative: New test for the above. * tests/touch/Makefile.am (TESTS): Add relative. 2004-01-13 Jim Meyering <[EMAIL PROTECTED]> * src/system.h: Include contents of sys2.h. * src/sys2.h: Remove file. * src/Makefile.am (noinst_HEADERS): Remove sys2.h. * Use automake-1.8.2. Regenerate dependent files. * Update to gettext-0.13.1. * configure.ac: Use gettext-0.13.1. * .x-sc_space_tab: Add m4/po.m4 to the list of exceptions. 2004-01-12 Jim Meyering <[EMAIL PROTECTED]> * Makefile.maint (%.sig): Use .sig suffix rather than .asc. * Makefile.maint (po-check): Ensure that cvsu works before using it. Reported by Alexandre Duret-Lutz. * src/tail.c (main): Warn about following stdin only when it's a tty. * configure.ac: Use gl_DEFAULT_POSIX2_VERSION. 2004-01-10 Jim Meyering <[EMAIL PROTECTED]> * tests/misc/stat-fmt: Use backticks, not `$()' notation. 2004-01-09 Jim Meyering <[EMAIL PROTECTED]> * configure.ac: Quote underquoted `jm_DUMMY_1' to avoid new warning. 2004-01-08 Jim Meyering <[EMAIL PROTECTED]> * src/stat.c (human_fstype): Use %lx, not %x format for `unsigned long'. From Andreas Schwab. * tests/Makefile.am (TESTS_ENVIRONMENT): Remove `/vg' (prerelease test remnant) from PATH component. That would cause tests in this directory not to run the just-built binaries, but rather whatever happened to be in one's PATH. Reported by Christian Krackowizer. 2004-01-04 Jim Meyering <[EMAIL PROTECTED]> * src/csplit.c (new_control_record): Use x2nrealloc rather than xrealloc. * src/cp.c (re_protect): Use ASSIGN_STRDUPA rather than alloca and strcpy. (make_path_private): Likewise. 2004-01-03 Jim Meyering <[EMAIL PROTECTED]> * src/paste.c: Use `bool' (not int) as the type for a few global variables. (collapse_escapes): Rewrite to set globals rather than modifying its parameter. Use size_t (not int) for all counters and related index variables. (paste_parallel): Remove needless complexity of using xrealloc in the loop; just allocate the buffers up front. Free the two temporary buffers. Move declarations of locals `down' into scope where used. (paste_serial): Remove `register' attributes. (main): Simplify delim-related code. Free `delims', now that it's malloc'd. 2004-01-02 Jim Meyering <[EMAIL PROTECTED]> * src/chroot.c: Include "quote.h". (CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE): Define. (main): Exit with status of 127, not 1, for too-few-args, chroot failure, or chdir failure. Give a better diagnostic upon execvp failure. * src/du.c (usage): Mention that, with its current meaning, -H is deprecated. * src/tail.c (main): Warn about following stdin when it's a tty. Fail when following by name but no names are specified. 2003-12-30 Jim Meyering <[EMAIL PROTECTED]> * src/fold.c (main): Use memcpy, not strcpy. * src/copy.c (copy_internal): Use ASSIGN_STRDUPA rather than alloca and strcpy. 2003-12-28 Jim Meyering <[EMAIL PROTECTED]> * src/unexpand.c (n_tabs_allocated): New global. (add_tabstop): Use x2nrealloc rather than xrealloc. * src/expand.c: Likewise. * tests/misc/expand: New file. * tests/misc/Makefile.am (TESTS): Add expand. * src/sort.c (add_temp_dir): Use x2nrealloc rather than xrealloc. (fillbuf): Use x2nrealloc rather than xrealloc. (sort): Use xnmalloc rather than xmalloc. (main): Likewise. 2003-12-27 Jim Meyering <[EMAIL PROTECTED]> * src/tee.c (tee): Use xnmalloc rather than xmalloc. 2003-12-29 Paul Eggert <[EMAIL PROTECTED]> * NEWS: Remove support for join -j1 FIELD, -j2 FIELD, and -o LIST1 LIST2 in POSIX 1003.1-2001 hosts, as required by POSIX. * doc/coreutils.texi (join invocation): Remove documentation accordingly. Document that -t makes all separators significant. * src/join.c: Include posixver.h. (obsolete_usage): New var. (longopts): Put obsolete options first. (OBSOLETE_LONG_OPTIONS): New constant. (get_option, add_file_name): New functions. (main): Use them to support new behavior. (usage): Remove documentation for -j1 FIELD and -j2 FIELD. Do not mark -j FIELD as obsolescent; it is longstanding UNIX tradition and is a valid extension to POSIX. * tests/join/Test.pm (tv): Avoid obsolete -o usage. 2003-12-28 Paul Eggert <[EMAIL PROTECTED]> * src/join.c (add_field_list): Don't use alloca with unbounded size; just modify the argument, which is no longer const *. Various other minor cleanups, mostly to avoid the need for casts. (extract_field): Renamed from ADD_FIELD, as it's now a function. (struct field.beg): Now char *, not unsigned char const *. All uses changed. It shouldn't be const since xmemcoll writes on its arguments. (extract_field): Likewise, for 2nd arg. (keycmp): Remove now-unnecessary cast of xmemcoll args. (is_blank): New function, to avoid need to cast arg to unsigned char. (extract_field): Use it. (xfields): Rewrite pretty much from scratch. (hard_LC_COLLATE): Now bool, not int. (get_line, getseq, add_field_list): Now returns bool, not int. (decode_field_spec, add_field_list): Return true on success (not false), for consistency with the rest of the code. All uses changed. (tab): Now char, not unsigned char. This wasn't 100% necessary but is slightly cleaner. (prjoin): Hoist (tab ? tab : ' ') expression, to help the compiler. (empty_filler): Now const *. (make_blank): Remove; wasn't needed. Remove all calls. (main): Don't set uni_blank.nfields; zero is fine. 2003-12-27 Jim Meyering <[EMAIL PROTECTED]> * src/join.c: Include "quote.h". (min, max): Remove definitions. Make a few function parameters and corresponding locals `const'. Use bool for boolean variables. Use size_t (not int) for all counters and related index variables. (prjoin): Remove now-useless assertion. (string_to_join_field): New function. (main): Accept join fields as large as SIZE_MAX. (keycmp): Rename `min' to MIN and max to MAX. 2003-12-26 Jim Meyering <[EMAIL PROTECTED]> fold -s didn't work on e.g., alpha-based systems. * src/fold.c (fold_file): Adjust types (int->size_t) so that using x2nrealloc works properly on systems with differing sizes for int and size_t. Reported by Nelson Beebe. * src/fold.c: Use `bool' (not int) as the type for a few global variables. 2003-12-23 Paul Eggert <[EMAIL PROTECTED]> * src/ls.c (length_of_file_names_and_frills): Remove forward decl; not needed. (print_file_name_and_frills, length_of_file_name_and_frills): With -m, don't output spaces before inum or size. (print_with_commas): Don't output space just before newline. 2003-12-24 Jim Meyering <[EMAIL PROTECTED]> * tests/ls/Makefile.am (TESTS): Add m-option. * tests/ls/m-option: New file. Test for above fixes. ********************************************************************** lib/ChangeLog ********************************************************************** 2004-01-16 Jim Meyering <[EMAIL PROTECTED]> Merge from gnulib. * localcharset.c: Test HAVE_DECL_GETC_UNLOCKED, rather than HAVE_GETC_UNLOCKED. 2003-10-08 Paul Eggert <[EMAIL PROTECTED]> Merge from gnulib. * unlocked-io.h: Include <stdio.h>, so that the caller doesn't have to include <stdio.h> before us. (clearerr_unlocked, feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked, fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked): Define to the unlocked counterpart if not declared, so that we can use getpass.c code from libc without rewriting it. (flockfile, ftrylockfile, funlockfile): New macros. 2004-01-14 Paul Eggert <[EMAIL PROTECTED]> Merge from gnulib. * fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided with like-named macro in fnmatch.c. (EXT): Use an internal constant instead. Merge fnmatch patches from glibc. * fnmatch.c (mbsinit): Remove define. Add libc_hidden_ver (__fnmatch, fnmatch). * fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate. Adjust to renaming of collseq_table_lookup to __collseq_table_lookup. 2003-11-24 Paul Eggert <[EMAIL PROTECTED]> Merge from gnulib. * alloca.c: Remove dependency on xalloc module. (xalloc_die): Remove. (memory_full) [!defined emacs]: New macro. [!defined emacs]: Don't include xalloc.h. (alloca): Invoke memory_full, not xalloc_die, if malloc fails or address arithmetic overflows. Change datatypes a bit to avoid unnecessary casts. 2004-01-14 Paul Eggert <[EMAIL PROTECTED]> * posixver.c: Include posixver.h. 2004-01-12 Jim Meyering <[EMAIL PROTECTED]> * posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new, optional configure-time default. 2004-01-10 Jim Meyering <[EMAIL PROTECTED]> * version-etc.c (version_etc_copyright): Update copyright date. ********************************************************************** m4/ChangeLog ********************************************************************** 2004-01-16 Jim Meyering <[EMAIL PROTECTED]> * onceonly.m4: Sync with version from gettext-0.13.1. 2003-10-08 Paul Eggert <[EMAIL PROTECTED]> Merge from gnulib. * getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h. 2003-08-26 Bruno Haible <[EMAIL PROTECTED]> Merge from gnulib. * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here. This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch' followed by '#define fnmatch fnmatch_posix' gives an error. 2004-01-14 Paul Eggert <[EMAIL PROTECTED]> * posixv.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION. 2004-01-13 Jim Meyering <[EMAIL PROTECTED]> * gettext.m4, lib-ld.m4, lib-prefix.m4, nls.m4, po.m4: Update from gettext-0.13.1. * intmax.m4, isc-posix.m4, printf-posix.m4, size_max.m4, xsize.m4: New files. From gettext-0.13.1. 2004-01-11 Paul Eggert <[EMAIL PROTECTED]> * posixver.m4 (gl_DEFAULT_POSIX2_VERSION): Move the documentation from 'configure' into 'config.hin', so that 'configure --help' isn't burdened by it and we don't have to worry about its formatting there. Reword the documentation so that it's more succinct and can be run together into a single paragraph. 2004-01-12 Jim Meyering <[EMAIL PROTECTED]> * posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro. ********************************************************************** doc/ChangeLog ********************************************************************** 2003-12-15 Paul Eggert <[EMAIL PROTECTED]> * coreutils.texi (touch invocation): touch -r and -d can now both be specified, with -r specifying the origin for -d. 2004-01-15 Alfred M. Szmidt <[EMAIL PROTECTED]> Factor out some common options. * coreutils.texi (Common options): Define macros here. (What information is listed, cp invocation): Use the macro(s). (install invocation, mv invocation, ln invocation): Likewise. (df invocation, du invocation): Likewise. 2004-01-09 Jim Meyering <[EMAIL PROTECTED]> Document the exit status of each and every program. * coreutils.texi (yes invocation): Document that a write error makes `yes' exit unsuccessfully. (chroot invocation): Enumerate the meaning of exit status values. (nice invocation): Likewise. (Exit status) [EMAIL PROTECTED] exitstatus]: New macro. Use @exitstatus to describe the exit status of most programs. 2004-01-02 Jim Meyering <[EMAIL PROTECTED]> * coreutils.texi (du invocation): Mention that -H will eventually mean not --si, but --dereference-args (-D). ********************************************************************** po/ChangeLog ********************************************************************** 2004-01-13 Jim Meyering <[EMAIL PROTECTED]> * POTFILES.in: Replace src/sys2.h with src/system.h. 2004-01-12 Jim Meyering <[EMAIL PROTECTED]> * Makefile.in.in: Update from gettext-0.13.1.
pgp00000.pgp
Description: PGP signature
_______________________________________________ Bug-coreutils mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-coreutils