]> Dogcows Code - chaz/tar/blobdiff - ChangeLog
* gnulib.modules: Add closeout, exitfial.
[chaz/tar] / ChangeLog
index 957b038845141490d050e22f55054e4b5c96c40b..ce1a7d9c326974aa47967395149cee63cbb04db0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gnulib.modules: Add closeout, exitfial.
+       * lib/.cvsignore: Add __fpending.c, __fpending.h, closeout.c,
+       closeout.h.
+       * src/buffer.c: Incluse closeout.h.
+       (_open_archive): Use freopen rather than fopen, so
+       that stdlis is always either stdout or stderr.  Use
+       close_stdout_set_file_name to report its name.
+       * src/tar.c: Include closeout.h and exitfail.h.
+       (parse_opt, usage): Call close_stdout as appropriate, to check for
+       write errors.
+       (decode_options): Exit with status TAREXIT_FAILURE, not 1.
+       (main): Set exit_failure, to exit with proper status on memory
+       allocation failure and the like.
+       Use close_stdout rather than rolling our own test.
+
+       * NEWS: --version now outputs copyright etc., to conform to the
+       GNU coding standards.  Remove --license.
+       * gnulib.modules: Add version-etc-fsf.
+       * doc/tar.texi: Document the change.
+       * lib/.cvsignore: Add version-etc-fsf.c, version-etc.c, version-etc.h.
+       * scripts/Makefile.am (SED_CMD): Update PAKCAGE_NAME, not PACKAGE.
+       * scripts/backup.in: Remove --license.  Change --version to conform
+       to GCS.
+       * scripts/restore.in: Likewise.
+       * scripts/backup.sh.in (license): Output briefer license in the
+       style of coreutils, for consistency with other changes.
+       * src/tar.c: Include <version-etc.h>.
+       (LICENSE_OPTION): Remove.
+       (options): Remove --license.
+       (license): Remove.
+       (parse_opt): Use version_etc instead of rolling it ourselves.
+       Remove --license.
+       * tests/version.at (tar --version): Check only the first line of
+       output.
+
+       * ChangeLog, NEWS, src/common.h, src/extract.c, src/incremen.c:
+       * src/list.c, src/names.c, src/tar.h, src/xheader.c:
+       Update copyright year to 2006.
+
+2006-02-07  Jim Meyering  <jim@meyering.net>
+
+        * src/xheader.c (sparse_map_decoder): Fix misleading diagnostic.
+
+2006-01-31  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/common.h (get_gnu_dumpdir): Remove prototype
+       (is_dumpdir): New function
+       * src/extract.c (prepare_to_extract): Use is_dumpdir member to
+       check for dumpdirs.
+       * src/incremen.c (get_gnu_dumpdir): Static
+       (is_dumpdir): New function
+       (purge_directory): Use is_dumpdir
+       * src/list.c (list_archive): Use is_dumpdir
+       Do not wrap skip_member in mv_begin/mv_end, the function itself
+       takes care of it.
+       (decode_header): Set stat_info->is_dumpdir
+       (skip_member): Do nothing if skipped is true
+       * src/tar.h (struct tar_stat_info): New members is_dumpdir and skipped.
+
+2006-01-22  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/tar.c (decode_options): Refuse using --delete with
+       compression options.
+
+2006-01-18  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * NEWS: Updated.
+       * configure.ac (DEFAULT_QUOTING_STYLE): New configuration variable
+       * doc/tar.texi: Initial documentation for --quoting-style,
+       --quote-chars and --no-quote-chars option.
+       * src/tar.c: Implement new options --quoting-style, --quote-chars
+       and --no-quote-chars.
+
+2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap: Default to pserver, and switch to cvs.sv.gnu.org,
+       to accommodate recent changes to the GNU CVS server.
+       * lib/.cvsignore: Add argp-pin.c, mkdirat.c, openat-priv.h.
+
+2005-12-14  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/names.c (name_scan): Take an additional argument requesting
+       exact matching.
+       * src/common.h (name_scan): Change prototype.
+       * src/delete.c, src/incremen.c, src/update.c: Update invocations
+       of name_scan.
+
+2005-12-13  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/common.h (struct name): New member `explicit'. Remove unused
+       member `isdir'.
+       * src/incremen.c (procdir): If name_scan() returns something,
+       check if it was explicitely given in the command line
+       * src/names.c (addname,add_hierarchy_to_namelist): Initialize
+       explicit member appropriately.
+
+       * src/incremen.c (procdir): If --one-file-system is given and a
+       directory is found to be on another device, *and* this directory
+       is explicitely given in the command line, then do not omit it.
+
+2005-12-11  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * NEWS: Update
+       * doc/tar.texi: Document --delay-directory-restore option.
+       (Configuring Help Summary): Document usage of ARGP_HELP_FMT
+       variable to customize help output.
+       * src/common.h (delay_directory_restore_option): New global.
+       * src/extract.c (directories_first): Replaced by
+       delay_directory_restore_option. All uses changed.
+       * src/tar.c (options,parse_opt): New options
+       --delay-directory-restore and --no-delay-directory-restore
+
+2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/buffer.c (open_archive): Add default case to shut up gcc.
+       * src/common.h (set_file_atime): Add prototype.
+       * src/create.c (to_chars_subst): Remove unused variable
+       Make sure useful result code is returned.
+       * src/incremen.c (read_directory_file): Fix format string
+       Thanks Eric Blake for reporting.
+
+2005-12-08  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi (Current status): Renamed to 'Changes' and moved to
+       appendices.
+       (Large or Negative Values): Rewritten
+       * src/common.h (gid_to_chars, major_to_chars, minor_to_chars)
+       (mode_to_chars, off_to_chars, size_to_chars, time_to_chars)
+       (uid_to_chars, uintmax_to_chars): Return bool
+       * src/create.c (gid_to_chars, major_to_chars, minor_to_chars)
+       (mode_to_chars, off_to_chars, size_to_chars, time_to_chars)
+       (uid_to_chars, uintmax_to_chars): Return bool
+       (to_chars): Return bool
+       (start_header): Check return values of convertion routines. Fail
+       if unable to store data in the header.
+
+2005-12-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Following the discussion with Karl Berry,
+       discontinue using @value{} substitutions for Texinfo commands.
+       Properly index all long options. Print a
+       separate long option index.
+       * doc/value.texi: Remove @set's
+
+       * doc/tar.texi: Update --info-script documentation
+       Resolve some more FIXMEs.
+       * scripts/dump-remind.in: Use TAR_VOLUME instead of reading volno
+       file.
+       * src/buffer.c (new_volume): Update invocation
+       (change_tape_menu): New function. Disable '!' command if given
+       --restrict option.
+       * src/common.h (sys_exec_info_script): Update declaration
+       (restrict_option): New global
+       * src/system.c (sys_exec_info_script): The script can supply new
+       archive name to use by writing it to file descriptor 3.
+       * src/tar.c (options): Add --restrict option. Use macros for
+       option grouping.
+       (license): Print full list of copyright years
+       * NEWS: Update
+
+2005-12-06  Eric Blake  <ebb9@byu.net> (trivial changes)
+
+       * configure.ac (DENSITY_LETTER): Fix m4 overquoting.
+       * .cvsignore: Ignore .bootstrap.
+
+2005-12-06  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Document --to-command and --info-script
+       options. Add missing xrefs.
+       * src/buffer.c (new_volume): Use sys_exec_info_script() instead of
+       system().
+       * src/common.h (archive_format_string,subcommand_string)
+       (sys_exec_info_script): New prototypes.
+       * src/system.c (sys_exec_info_script): New function.
+       * src/tar.c (archive_format_string): Remove static qualifier.
+       (subcommand_string): New function.
+
+2005-12-01  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/extract.c: Fix restoring of directory timestamps from
+       incremental archives.
+       (directories_first): New variable.
+       (prepare_to_extract): Set directories_first
+       (extract_archive): Call apply_nonancestor_delayed_set_stat() only
+       if not extracting from an incremental archive
+       (extract_dir): Obtain root_device here, to make sure it works
+       correctly with -C.
+
+       * src/incremen.c (purge_directory): Skip the member and return if
+       the archive is not in incremental format.
+       * tests/incr02.at: New testcase
+       * tests/Makefile.am: Add incr02.at
+       * tests/testsuite.at: Likewise
+
+       * THANKS: Add Guerkan Karaman.
+       * NEWS: Update
+
+2005-11-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/tar.texi (Option Summary): Rewrite the
+       --atime-preserve=system description in response to Ian Turner's
+       proposed patch.
+
+2005-11-30  Ian Turner  <ian@zmanda.com>
+
+       * doc/tar.texi (Extracting Specific Files): Remove obsolescent
+       FIXME.
+
+2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: New option --atime-preserve=system, which uses O_NOATIME.
+       * THANKS: Add Ian Turner.
+
+       * configure.ac: Prefer AC_CHECK_HEADERS_ONCE to AC_CHECK_HEADERS.
+       Check for stropts.h and sys/filio.h too, for _FIOSATIME.
+       * doc/tar.texi: Change "modification time" to "data modification
+       time", "change time" to "status change time", and "filesystem" to
+       "file system", so that we use terminology consistent with POSIX.
+       Use American spacing rather than French for sentence ends.
+       "non-dependable" -> "undependable".
+       (Option Summary, Attributes): Explain better the pitfalls of the
+       --atime-preserve option, and suggest read-only mounts,loopback
+       mounts, and noatime mounts for older systems.
+       * doc/value.texi (op-atime-preserve-system): Renamed from
+       op-atime-preserver-system to fix a misspelling.
+       * src/common.h (enum atime_preserve): Use lower case for enum values.
+       * src/compare.c: Don't include utimens.h; no longer needed.
+       (diff_file): Use set_file_atime rather than utimens; avoid closing
+       diff_handle until after this, so that we can set the file time stamp
+       via the file descriptor rather than via its name.
+       * src/create.c: Don't include utimens.h; no longer needed.
+       (dump_regular_finish): Remove.  All callers now do its work inline.
+       (dump_dir): New arg FD.  All callers changed.
+       Use fdsavedir rather than savedir.
+       (unknown_file_error): Arg is a const pointer now.
+       (dump_file0): 2nd arg is a const pointer now.
+       Treat directories more like files, with respect to --atime-preserve.
+       For example, also warn if a directory changes while we are dumping it.
+       Prefer file descriptors to file names when retrieving/setting file
+       attributes; this saves path-resolution time and allows us to avoid
+       changing mtime/ctime on Solaris when restoring atime as root.
+       Use O_DIRECTORY when opening directories, to avoid some race conditions.
+       Do not reset atime if mtime has changed.  Report an error if
+       we cannot reset atime.
+
+       * lib/.cvsignore: Add malloc.h, regcomp.c, regex.c, regex.h,
+       regex_internal.c, regex_internal.h, regexc.c; used by rpmatch.
+
+2005-11-29  Ian Turner  <ian@zmanda.com>
+
+       First cut at adding support for --atime-preserve=system.
+       * doc/tar.texi (Option Summary): First cut at documenting it.
+       All other uses of --atime-preserve changed to --atime-preserve=replace.
+       * doc/value.texi (op-atime-preserve-replace, op-atime-preserver-system):
+       New.
+       (op-atime-preserve): Mention METHOD.
+       * src/common.h (atime_preserve): New enum.
+       (atime_preserve_option): Now of the enum type rather than bool.
+       All uses changed.
+       * src/compare.c (diff_file): Read with O_NOATIME if asked for.
+       * src/create.c (dump_file0): Read regular and CTG files with O_NOATIME
+       if asked for.
+       * src/tar.c (usage): Mention new usage.
+       (parse_opt): Parse new usage.
+
+2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * THANKS: Convert back to UTF-8, sort (using LC_ALL=C on Debian
+       stable), and consistently use tabs rather than spaces.
+
+2005-11-27  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/xheader.c: Remove parts of code prematurely introduced
+       yesterday. Thanks Eric Blake.
+
+2005-11-26  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/xheader.c (xheader_format_name): Fix memory leak.
+
+2005-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * gnulib.modules: Add rpmatch
+       * lib/stdopen.h, lib/stdopen.c: New file. Imported from coreutils.
+       * lib/Makefile.tmpl: Add stdopen.h, stdopen.c
+       * po/POTFILES.in: Add rpmatch.c
+       * src/tar.c (confirm): Rewritten using rpmatch.
+       (decode_options): Minor optimizations
+       (main): Call stdopen() to ensure the first three descriptors are
+       open.
+
+       * tests/multiv01.at, tests/multiv02.at, tests/multiv03.at,
+       tests/multiv04.at, tests/sparsemv.at, tests/sparsemvp.at,
+       tests/star/multi-fail.at: Close stdin so that if something fails
+       causing tar to ask for the next volume, it won't hang the
+       testsuite.
+
+       * src/buffer.c (flush_write,flush_read): Change data type.
+       (flush_archive): Compute actual buffer fill level before calling
+       low level function.
+       (close_archive): Call flush_archive again if the first call
+       resulted in partially filled buffer.
+       (try_new_volume): Rewritten handling of initial headers.
+       (add_chunk_header): New function. Write an additional header
+       before the continuation chunk. The purpose of the header is to
+       allow third-party tars to extract the member.
+       (simple_flush_write): Take an argument.
+       (_gnu_flush_write): Correctly handle partially filled buffers.
+       * src/common.h (flush_read,flush_write): Functions, again.
+       (write_extended): Changed declaration
+       (xheader_format_name): New declaration
+       * src/create.c (write_extended): Change type and meaning of
+       the first argument. All callers updated
+       * src/xheader.c (xheader_format_name): Remove static
+       qualifier. Change last argument.
+       Correct buffer size calculation (allocated too much space).
+       (xheader_write): Increase global_header_count here ...
+       (xheader_write_global): ... instead of here
+
+       * tests/testsuite.at (AT_TAR_CHECK): Define TEST_TAR_FORMAT
+       * tests/multiv01.at: Update
+       * tests/multiv02.at: Update
+       * tests/multiv03.at: Update
+       * tests/sparsemvp.at: Update
+       * tests/star/multi-fail.at: Update
+
+       * scripts/tarcat: Handle archives in pax format. Improve handling
+       of traditional archives.
+       * doc/tar.texi (Tarcat): New node
+
+2005-11-10  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix splitting of sparse files between the volumes.
+
+       * src/buffer.c (try_new_volume): Bugfix. Always check
+       continued_file_name. If it is absent, the volume is out
+       of sync.
+       (add_multi_volume_header): Create GNU.volume.filename keyword in
+       the extended header.
+       * src/sparse.c (sparse_dump_region): Call mv_size_left.
+       (sparse_dump_file): Enclose the loop in mv_begin/mv_end.
+       * src/system.c: Do not pad compressed output if it goes to
+       stdout.
+       * src/xheader.c (xhdr_tab): New keyword GNU.volume.filename.
+
+       * tests/sparsemv.at: New testcase
+       * tests/sparsemvp.at: New testcase
+       * tests/Makefile.am: Add sparsemv.at and sparsemvp.at.
+       * tests/testsuite.at: Likewise.
+
+2005-11-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/buffer.c: Rewritten in a more modular fashion to provide
+       GNU extensions (multi-volume archives and archive labels) in
+       pax format.
+       NOTICE, that some of the aspects (e.g. splitting the archive
+       on the extended header boundary) are still not solved, others
+       (splitting a sparse file between the volume) require additional
+       testing. Wait for the next commit.
+
+       (volume_label,continued_file_name,continued_file_size)
+       (continued_file_offset): New globals.
+       (save_name,save_totsize,save_sizeleft): Make static
+       (mv_begin,mv_end,mv_total_size,mv_size_left): New functions
+       (open_archive,flush_write,flush_read): Rewritten
+
+       * src/common.h (save_name,save_sizeleft,save_totsize): Remove
+       globals.
+       (volume_label,continued_file_name,continued_file_size): New
+       variables.
+       (flush_read,flush_write): Pointers to functions
+       (mv_begin,mv_end,mv_total_size,mv_size_left): New functions
+       (write_extended): New function.
+
+       * src/compare.c, src/create.c, src/extract.c, src/incremen.c,
+       src/list.c: Use mv_.* functions uniformly instead of fiddling
+       with the global variables.
+       * src/sparse.c: Use mv_.* functions where necessary.
+       * src/tar.c (decode_options): Allow to use --multi-volume and
+       --label with pax archives.
+       * src/xheader.c (xhdr_tab): Support for new GNU keywords.
+
+       * tests/delete01.at, tests/delete02.at, tests/delete03.at,
+       tests/delete04.at, tests/delete05.at, tests/extrac01.at,
+       tests/extrac02.at, tests/extrac03.at, tests/extrac04.at,
+       tests/extrac05.at, tests/incr01.at, tests/incremental.at,
+       tests/listed01.at, tests/listed02.at, tests/long01.at,
+       tests/longv7.at, tests/multiv01.at, tests/multiv02.at,
+       tests/multiv03.at, tests/multiv04.at, tests/options.at,
+       tests/options02.at, tests/same-order01.at, tests/same-order02.at,
+       tests/sparse01.at, tests/sparse02.at, tests/sparse03.at,
+       tests/star/multi-fail.at (AT_KEYWORDS): Improve to allow execution
+       of related tests in groups.
+
+       * doc/tar.texi: Update
+
+2005-11-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/xheader.c (struct xhdr_tab.coder): Last arg is void const *,
+       not void *, to avoid create.c warning from GCC "passing argument 3
+       of 'xheader_store' discards qualifiers from pointer target type".
+       (dummy_coder, atime_coder, gid_coder, gname_coder, linkpath_coder):
+       (ctime_coder, mtime_coder, path_coder, size_coder, uid_coder):
+       (uname_coder, sparse_size_coder, sparse_numblocks_coder):
+       (sparse_offset_coder, sparse_numbytes_coder, dumpdir_coder):
+       (xheader_store): Likewise.
+       * src/common.h (xheader_store): Likewise.
+
+2005-11-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+       and  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/tar.c (NS_PRECISION_FORMAT_MASK): New macro.
+       (tar_timespec_cmp): New function. Wrapper over
+       timespec_cmp using the timespec precision provided by the
+       current archive format.
+       * src/common.h (tar_timespec_cmp): New declaration.
+       * src/compare.c (diff_file): Use tar_timespec_cmp.
+       * src/extract.c (file_newer_p): Likewise.
+       * src/update.c (update_archive): Likewise.
+       * tests/truncate.at: Reverted changes
+       * tests/update.at: Reverted changes
+
+2005-11-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Support for incremental formats in pax archives.
+       Fixed POSIX compatibility of `sparse' extended header keywords.
+
+       * src/common.h (dumpdir_size,get_gnu_dumpdir)
+       (xheader_string_begin,xheader_string_add)
+       (xheader_string_end): New functions.
+       * src/create.c (dump_dir0): Handle incremental backups in pax
+       archives.
+       * src/incremen.c (dumpdir_size, get_gnu_dumpdir): New functions.
+       (purge_directory): Use stat_info.dumpdir instead of getting its
+       value explicitely.
+       * src/list.c (list_archive): Handle incremental backups in pax
+       format.
+       (decode_header): Initialize stat_info.dumpdir
+       * src/sparse.c (sparse_diff_file): Bugfix: set seekable.
+       (pax_dump_header): Store sparse map in GNU.sparse.map. If this
+       variable has been explicitely deleted, use GNU.sparse.offset/
+       GNU.sparse.numbytes variables.
+       * src/tar.c (decode_options): Incremental options are allowed with
+       --format=pax
+       (tar_stat_destroy): Free dumpdir
+       * src/tar.h (struct tar_stat_info.dumpdir): New member.
+       * src/xheader.c (xheader_keyword_deleted_p): Remove static
+       qualifier.
+       (struct xhdr_tab.decoder): Change prototype. POSIX allows string
+       values to contain embedded nulls, so take an extra argument
+       specifying the length of the string.
+       (decx,decg,dummy_decoder,atime_decoder,gid_decoder)
+       (gname_decoder,linkpath_decoder,ctime_decoder,mtime_decoder)
+       (path_decoder,size_decoder,uid_decoder,uname_decoder)
+       (sparse_size_decoder,sparse_numblocks_decoder)
+       (sparse_offset_decoder,sparse_numbytes_decoder): Likewise.
+       (decode_record): Pass value length to the handler
+       (run_override_list): Pass value length to the decoder
+       (xheader_print_n): New function
+       (xheader_print): Rewritten using xheader_print_n
+       (xheader_finish): Do not rely om strlen to compute the length of
+       the collected string: it can contain embedded nulls
+       (xheader_string_begin,xheader_string_add,xheader_string_end): New
+       functions.
+       (sparse_map_decoder,dumpdir_coder,dumpdir_decoder): New
+       functions. Handle GNU.sparse.map and GNU.dumpdir variables.
+       (xhdr_tab): Add new variables.
+
+       * tests/incr01.at: Test gnu, oldgnu, and posix formats
+       * tests/incremental.at: Likewise
+
+2005-11-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Minor language and white space fixes.
+
+       * tests/truncate.at: Create files whose time stamps must fall on
+       1-second boundaries.  This prevents tests from failing on hosts
+       like Solaris 8 that have nanosecond-resolution file time stamps.
+       * tests/update.at: Likewise.
+
+       * src/xheader.c (strtoimax, strtoumax): Remove decls; now done
+       in system.h.
+
+2005-11-06  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Properly document incremental dumps
+       * doc/value.texi: Likewise.
+       * doc/snapshot.texi: Likewise.
+
+2005-11-05  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Improve listed incremental format:
+
+       * src/common.h (update_parent_directory): New prototype.
+       * src/create.c (dump_file): Call update_parent_directory.
+       * src/incremen.c (struct directory.mtime): New member.
+       (note_directory): Take additional arguments. All callers updated.
+       (scan_directory): Updated to use more metadata. In particular,
+       this allows to correctly detect renamed files.
+       (read_directory_file,write_directory_file)
+       (write_directory_file_entry): Support new directory file format.
+       * tests/listed01.at: Sleep 1 sec before creating second file.
+       * tests/listed02.at: Never skip the test. It should work on any
+       filesystem.
+
+       * doc/snapshot.texi: New file
+       * doc/tar.texi: Update.
+       * doc/Makefile.am: Update.
+
+2005-11-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/extract.c (set_stat): Rewrite to avoid bug in Forte
+       Developer 7 C 5.4 Patch 111708-09 (2004-02-19).
+
+2005-11-04  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * bootstrap: Fix quoting in help output.
+       (update_po): Use backward-compatible wget option --cache instead
+       of deprecated -C to accomodate for wget 1.10.
+       Changes proposed by Eric Blake
+       * THANKS: Add Eric Blake
+
+2005-11-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/tar.texi: Consistently put two spaces after sentences,
+       and put commas after "i.e." and "e.g.".  This is the usual GNU
+       style in manuals.
+
+       * lib/.cvsignore: Add creat-safer.c, fcntl--.h, fcntl-safer.h,
+       open-safer.c, openat-die.c, verify.h, to accommodate recent gnulib
+       changes.
+
+2005-10-27  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/compare.c (diff_dumpdir): Pass a valid device number to
+       get_directory_contents.
+
+       * THANKS: Add John Thomas McDole
+
+       * bootstrap: If file `.bootstrap' exists in the cwd and is
+       readable, prepend its contents to the command line
+
+2005-10-21  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * tests/link01.at: Skip test if ln fails (suppose the OS does
+       not support hard links).
+
+2005-10-04  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/tar.c (decode_options): Report error if -A or -r is used
+       together with compression option.
+
+2005-09-29  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Use @option and @kbd consistently.
+       Document new options.
+
+2005-09-28  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * NEWS: Updated
+       * src/common.h (show_stored_names_option): New variable
+       * src/list.c (print_header): If show_stored_names_option is given,
+       list member names as stored in the archive. Patch proposed by Erik
+       Cumps <erik.cumps@icos.be>
+       * src/tar.c: Implement --show-stored-names option
+
+       * src/common.h (test_label_option): New variable;
+       * src/list.c (print_header): Special handling if test_label_option
+       is set.
+       * src/names.c (all_names_found): If test_label_option is set
+       return true.
+       * src/tar.c: New option --test-label tests the archive volume
+       label. The option proposed by Wouter Verhelst <wouter@nixsys.be>
+
+2005-09-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/Makefile.am (clean-local): Don't attempt to run
+       $(TESTSUITE) if it doesn't exist.  Problem reported by
+       Eric Blake.
+
+2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don't filter time stamps through the resolution supported
+       by struct stat; keep them to full nanosecond resolution.
+       This affects behavior only on older hosts or file systems
+       that have lower-resolution time stamps.
+       * src/common.h (OLDER_STAT_TIME): Parenthesize arg.
+       (OLDER_TAR_STAT_TIME): New macro.
+       (code_timespec): New function.
+       (BILLION, LOG10_BILLION, TIMESPEC_STRSIZE_BOUND): New constants.
+       * src/compare.c (diff_file): Use full time stamp resolution.
+       * src/create.c (start_header, dump_file0): Likewise.
+       (start_header, dump_file0): Adjust to new structure layout.
+       (dump_regular_finish): Simplify by using timespec_cmp.
+       * src/extract.c (struct delayed_set_stat): Don't store stat info
+       that we don't need, to save space.  All uses changed.
+       (struct delayed_set_stat, struct delayed_link, file_newer_p):
+       (create_placeholder_file, extract_link, apply_delayed_links):
+       Use full time stamp resolution.
+       (check_time): Use code_timespec rather than rolling our own code.
+       (set_stat, delay_set_stat): Arg now points to tar_stat_info to
+       avoid losing time information.  All callers changed.
+       * src/list.c (read_and, decode_header, print_heaeder):
+       Use full time stamp resolution.
+       * src/misc.c (code_timespec): New function.
+       * src/tar.h (struct tar_stat_info): Record atime, mtime, ctime
+       separately, for benefit of hosts with lower resolution.
+       * src/update.c (update_archive): Use full time stamp resolution.
+       * src/xheader.c (code_time): Use new code_timespec function
+       to simplify code.
+       (atime_coder, atime_decoder, ctime_coder, ctime_decoder):
+       (mtime_coder, mtime_decoder): Use full time stamp resolution.
+
+       Report time stamps to full resolution in environment.
+       Report memory allocation failures rather than ignoring them.
+       * src/system.c (time_to_env): New function.
+       (oct_to_env, str_to_env, chr_to_env): Report memory allocation failures.
+       (stat_to_env): Report full resolution in time stamps.
+
+2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge changes from gnulib for file system sub-second time stamps.
+       * configure.ac: Remove checks for struct stat.st_spare1, struct
+       stat.st_atim.tv_nsec, struct stat.st_atimespec.tv_nsec, struct
+       stat.st_atimensec, as gnulib now does this for us.
+       Similarly for LIB_CLOCK_GETTIME.
+       * gnulib.modules: Add stat-time.
+       * lib/.cvsignore: Add stat-time.h.
+       * src/common.h: Include stat-time.h.
+       (timespec_lt): Remove.  All callers changed to use timespec_cmp.
+       (get_stat_atime, get_stat_ctime, get_stat_mtime):
+       (set_stat_atime, set_stat_ctime, set_stat_mtime):
+       Remove; now defined by stat-time.h.
+
+2005-09-14  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/incremen.c (list_dumpdir): New function. Used to dump
+       contents of GNUTYPE_DUMPDIR blocks.
+       * src/common.h (list_dumpdir): Likewise.
+       * src/list.c (list_archive): Use list_dumpdir() to display
+       GNUTYPE_DUMPDIR blocks. Do that only if two or more -v options are
+       given.
+
+2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/.cvsignore: Adjust to current gnulib and modules used.
+       Add getdelim.c, getdelim.h, mbchar.c, mbchar.h, mbuiter.h, memchr.c,
+       pipe-safer.c, size_max.h, strdup.c, strdup.h, strnlen.h, strnlen1.c,
+       strnlen1.h, unistd--.h.
+       Remove getndelim2.c, getndelim2.h, pathmax.h, sysexits.h, xstrdup.c.
+
+       Treat fishy-looking hard links like fishy-looking symlinks.
+       * src/extract.c (struct delayed_set_stat): Rename after_symlinks
+       member to after_links.  All uses changed.
+       (struct delayed_link): Renamed from struct delayed_symlink.
+       All uses changed.  New member is_symlink.
+       (delayed_link_head): Renamed from delayed_symlink_head.  All uses
+       changed.
+       (create_placeholder_file): New function, taken from extract_symlink.
+       (extract_link): Create placeholders for fishy-looking hard links.
+       (extract_symlink): Move code into create_placeholder_file.
+       (apply_delayed_links): Renamed from apply_delayed_symlinks.
+       All uses changed.  Create both hard links and symlinks.
+
+2005-09-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * README-alpha: Modernize description of software required for
+       developers.
+
+2005-09-03  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * gnulib.modules: Add strdup
+       * src/incremen.c (purge_directory): Do not dereference symbolic
+       links. Bug reported by Ralph Corderoy <ralph@inputplus.co.uk> and
+       David Brown <davidb@davidb.org>
+       * tests/incr01.at: New test.
+       * tests/Makefile.am: Add incr01.at
+       * tests/testsuite.at: Likewise
+       * THANKS: Updated
+
+2005-08-17  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/incremen.c (read_directory_file): Use strtoumax to read
+       snapshot file contents.
+       (write_directory_file_entry): Use umaxtostr().
+
+2005-07-31  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/create.c (file_dumpable_p,dump_file0): Fix handling of
+       sparse files to /dev/null with --totals option.
+       * tests/update.at: Remove dependency on file order.
+
+2005-07-08  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * doc/tar.texi: Fix typo.
+
+2005-07-07  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * tests/pipe.at: Pipe the output from `tar xfv' through sort.
+
+2005-06-25  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c (tar_sparse_init): Fill structure with zeros. Call
+       sparse_select_optab(). All callers updated.
+       (sparse_member_p, sparse_fixup_header): Use tar_sparse_init().
+
+2005-06-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c (pax_sparse_member_p): Checking member size
+       vs. file size is not reliable enough. Use sparse_map_avail.
+
+       * tests/star/gtarfail.at: Adapt to the new output format
+       * tests/star/gtarfail2.at: Likewise
+       * tests/star/multi-fail.at: Likewise
+       * tests/star/pax-big-10g.at: Likewise
+       * tests/star/ustar-big-2g.at: Likewise
+       * tests/star/ustar-big-8g.at: Likewise
+
+       * tests/sparse03.at: New test.
+       * tests/Makefile.am: Add sparse03.at
+       * tests/testsuite.at: Likewise
+
+       * src/xheader.c (size_decoder): Do not set archive_file_size.
+
+       Fix bugs introduced yesterday:
+
+       * src/sparse.c (tar_sparse_init):  Initialize
+       dimped_size to 0.
+       (sparse_scan_file): Initialize archive_file_size to 0. The
+       variable keeps size of the file *as stored in the archive*, not
+       the size reported by stat.
+
+2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       A sweep of the sparse code prompted by a bug report by Jim Meyering.
+       * src/sparse.c: Include <inttostr.h>.
+       (struct tar_sparse_file): offset and dumped_size are off_t, not
+       size_t.  optab is now const *.
+       (dump_zeros): Return bool success flag, not off_t.
+       All callers changed.
+       Use a constant-zero buffer rather than clearing a buffer each time.
+       Don't mess up if write fails.
+       (dump_zeros, check_sparse_region):
+       Don't assume off_t is no wider than size_t.
+       (tar_sparse_init): Don't bother clearing a field that is already clear.
+       (zero_block_p): First arg is const *, not *.
+       (clear_block, SPARSES_INIT_COUNT): Remove.
+       (sparse_add_map): First arg is now struct start_stat_info *, not
+       struct tar_sparse_file *.  All callers changed.
+       Use x2nrealloc to check for size_t overflow.
+       (parse_scan_file): Cache commonly-used parts of file.
+       Use an auto buffer, not a static one.
+       Don't bother clearing the buffer; not needed.
+       Don't bother clearing items that are already clear.
+       (oldgnu_optab, star_optab, pax_optab): Now const.
+       (sparse_dump_region): Don't bother clearing the buffer before
+       reading into it; just clear the parts that aren't read into.
+       (sparse_dump_file): Clear the whole local variable 'file'.
+       (diff_buffer): Remove; now a local var.
+       (check_sparse_region): Don't bother clearing buffer before
+       reading into it.  Don't assume off_t is promoted to long.
+       (oldgnu_get_sparse_info, star_get_sparse_info):
+       Use an auto status, not static.
+       * src/tar.h (struct tar_stat_info): had_trailing_slash is
+       now bool, not int.
+       * src/xheader.c (sparse_offset_coder, sparse_numbytes_coder):
+       Rewrite to avoid cast.
+       (sparse_offset_decoder, sparse_numbytes_decoder):
+       Diagnose excess entries rather than crashing.
+
+2005-06-22  Jim Meyering  <jim@meyering.net>
+
+       * src/common.h (timespec_lt): Add a return type: bool.
+
+2005-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Further improvements inspired by Jim Meyering's fixes.
+
+       * NEWS: Better support for full-resolution time stamps.
+       The -v option now prints time stamps only to 1-minute resolution.
+       * gnulib.modules: Add utimens.
+       * lib/.cvsignore: Add imaxtostr.c, inttostr.c, inttostr.h,
+       offtostr.c, umaxtostr.c, utimens.c, utimens.h.  Remove paxconvert.c.
+       * lib/Makefile.tmpl (libtar_a_SOURCES): Remove paxconvert.c.
+       * lib/paxconvert.c: Remove; superseded by umaxtostr.c.
+       * po/POTFILES.in: Remove lib/paxconvert.c.  Add lib/xalloc-die.c,
+       lib/obstack.c.
+       * src/buffer.c (set_start_time, compute_duration, start_time):
+       Use gettime rather than rolling our own code.
+       * src/common.h (OLDGNU_NAME_FIELD_SIZE, MAXOCTAL11, MAXOCTAL7): Remove.
+       (newer_ctime_option): Remove.
+       (timespec_lt): New function.
+       (OLDER_STAT_TIME): Use it.
+       (string_to_chars): First arg is char const *, not char *.
+       (tartime): Time arg is now struct timespec.  New bool arg.
+       All callers changed.
+       (code_ns_fraction): New decl.
+       (sys_stat_nanoseconds): Remove decl.
+       (get_stat_atime, get_stat_ctime, get_stat_mtime): New functions.
+       (set_stat_atime, set_stat_ctime, set_stat_mtime): New functions.
+       * src/compare.c: Include utimens.h rather than rolling our own.
+       (diff_dir, diff_file, diff_link, diff_symlink, diff_special):
+       Prototype.
+       (diff_dumpdir, diff_multivol): Prototype.
+       (diff_file): Support higher-resolution time stamps.
+       * src/create.c: Include utimens.h rather than rolling our own.
+       (MAX_OCTAL_VAL): New macro.
+       (tar_copy_str, string_to_chars): Don't bother to zero-fill;
+       the destination is already zeroed.
+       (string_to_chars): First arg is char const *.
+       (start_private_header): Use MINOR_TO_CHARS, not MAJOR_TO_CHARS,
+       for minor device number.
+       (write_header_name, dump_hard_link, dump_file0):
+       Simplify test for old GNU format.
+       (start_header): Put in placeholders for uid, etc., even when
+       using extended headers, for benefit of older "tar" implementations.
+       Don't assume uintmax_t is wider than 32 bits.
+       Output extended header for mtime if needed.
+       (dump_regular_finish, dump_file0):
+       Support extended time stamp resolution.
+       * src/extract.c: Include utimens.h rather than rolling our own.
+       (check_time): Support extended time stamp resolution.
+       * src/list.c: Include <inttostr.h>.
+       (tartime): Use umaxtostr rather than stringify_uintmax_t_backwards.
+       * src/xheader.c: Include <inttostr.h>.
+       Do not include <xstrtol.h>.
+       (strtoimax) [!HAVE_DECL_STRTOIMAX && !defined strtoimax]: New decl.
+       (strtoumax) [!HAVE_DECL_STRTOUMAX && !defined strtoumax]: New decl.
+       (BILLION, LOG10_BILLION): New constants.
+       (to_decimal): Remove; superseded by inttostr.  All callers changed
+       to use umaxtostr.
+       (xheader_format_name): Don't assume pids and uintmax_t values
+       fit in 63 bytes (!) when printed.
+       (decode_record): Don't bother to check for ERANGE; an out of range
+       value must be treater than len_max anyway.
+       If the length is out of range, output it in the diagnostic.
+       (format_uintmax): Remove; all callers changed to use umaxtostr.
+       (xheader_print): Don't assume sizes can be printed in 99 bytes (!).
+       (out_of_range_header): New function.
+       (decode_time): Use it.
+       (code_time): Accept struct timespec, not time_t and unsigned long.
+       All callers changed.  Size sbuf properly, and remove unnecessary check.
+       Don't assume time stamps can fit in 199 bytes.
+       Handle negative time stamps.  Handle fractional time stamps
+       more consistently.  Don't output unnecessary trailing zeros.
+       (decode_time): Yield struct timespec, not time_t and unsigned long.
+       All callers changed.
+       Handle negative time stamps.  Truncate towards minus infinity
+       consistently.  Improve overflow checks, and output a better
+       diagnostic on overflow.
+       (code_num): Don't assume uintmax_t can be printed in 99 bytes (!).
+       (decode_num): New function, for better diagnostics.
+       (atime_coder, atime_decoder, gid_decoder, ctime_coder):
+       (ctime_decoder, mtime_coder, mtime_decoder, size_decoder):
+       (uid_decoder, sparse_size_decoder, sparse_numblocks_decoder):
+       (sparse_offset_decoder, sparse_numbytes_decoder):
+       Use decode_num, etc., instead of xstrtoumax, etc.
+
+2005-06-21  Jim Meyering  <jim@meyering.net>
+
+       Carefully crafted invalid headers can cause buffer overrun.
+       Invalid header fields go undiagnosed.
+       Some valid time strings are ignored.
+
+       * src/xheader.c (sparse_numblocks_decoder): Remove unchecked use
+       of `calloc'.  Use xcalloc instead.
+       (decode_time, gid_decoder, size_decoder, uid_decoder):
+       (sparse_size_decoder, sparse_offset_decoder, sparse_numblocks_decoder):
+       Ensure that the result of calling xstrtoumax is no larger than
+       the maximum value for the target type.  Upon any failure, exit with
+       a diagnostic.
+       (sparse_numblocks_decoder): Avoid buffer overrun/heap corruption:
+       use x2nrealloc, rather than `n *= 2' and xrealloc(p, n,....
+       (decode_time): Rewrite to accept time strings like
+       1119018481.000000000.  Before, such strings were always ignored.
+
+2005-06-13  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/create.c (dump_file0): Check for is_avoided_name()
+       first. Fixes bug reported by Martin Lohmeier
+       <martin@mein-horde.de>
+       * tests/update.at: New file
+       * tests/Makefile.am (TESTSUITE_AT): Add update.at
+       * tests/testsuite.at: Likewise
+
+2005-06-13  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac (AC_STRUCT_ST_BLKSIZE)
+       (AC_STRUCT_ST_BLOCKS): Removed. Handled by system.m4.
+
+2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/names.c (excluded_name): excluded_filename ->
+       excluded_file_name, because the name was changed in gnulib.
+
+2005-05-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.c (read_name_from_file,update_argv): Automatically
+       detect nul-terminated list files.
+       * NEWS: Updated
+
+2005-05-27  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * scripts/backup.sh.in: Bugfixes.
+
+2005-05-26  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * scripts/backup.in: Minor fixes
+       * scripts/backup.sh.in (mt_begin,mt_rewind)
+       (mt_offline,mt_status): Use $MT to invoke mt
+       (init_common): Set --rsh-command option for mt if TAPE_FILE is a
+       remote archive.
+       * doc/tar.texi: Document new backup scripts behavior
+
+2005-05-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * lib/.cvsignore: Updated
+       * lib/Makefile.tmpl: Add new paxutils files
+       * po/POTFILES.in: Likewise
+       * src/buffer.c: Update invocations of safer_name_suffix()
+       * src/create.c: Likewise
+       * src/extract.c: Likewise
+       * src/xheader.c: Likewise
+       * src/common.h: Include paxlib.h instead of paxerror.h
+       (safer_name_suffix,removed_prefixes_p): Removed. The functions are
+       imported from paxutils
+       * src/names.c (hash_string_hasher,hash_string_compare)
+       (hash_string_insert,hash_string_lookup,removed_prefixes_p)
+       (safer_name_suffix): Moved to paxutils
+
+2005-05-19  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap (copy_files): Accept optional third argument: a prefix
+       to be appended to destination file names.
+       Import paxutils/paxlib files.
+       * configure.ac: Remove checking for LIB_SETSOCKOPT, it is handled
+       by paxutils.
+       * lib/Makefile.tmpl (libtar_a_SOURCES): Add paxerror.c paxexit.c
+       paxconvert.c
+       * po/POTFILES.in: Likewise.
+       * src/common.h: Remove defines and declarations imported from
+       paxutils
+       * src/misc.c: Likewise
+       * src/list.c (stringify_uintmax_t_backwards): Moved to paxutils
+
+2005-05-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/misc.c (remove_any_file): Fix typo in previous change.
+
+2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to Solaris 10's treatment of unlinking directories.
+       * gnulib-modules: Add unlinkdir.
+       * lib/.cvsignore: Add unlinkdir.h, unlinkdir.c.
+       * src/common.h (we_are_root): Remove extern decl; it's now static.
+       * src/extract.c (we_are_root): Now static.
+       * src/misc.c: Include <unlinkdir.h>.
+       (remove_any_file): Use cannot_unlink_dir () rather than we_are_root.
+
+       * ChangeLog, ChangeLog.1, Makefile.am, NEWS, PORTS, README,
+       README-alpha, TODO, bootstrap, configure.ac, doc/Makefile.am,
+       doc/convtexi.pl, doc/fdl.texi, doc/gendocs_template,
+       lib/Makefile.tmpl, lib/prepargs.c, lib/waitpid.c, po/POTFILES.in,
+       scripts/Makefile.am, scripts/backup-specs, scripts/backup.in,
+       scripts/backup.sh.in, scripts/restore.in, src/Makefile.am,
+       src/arith.h, src/buffer.c, src/common.h, src/compare.c,
+       src/create.c, src/delete.c, src/extract.c, src/incremen.c,
+       src/list.c, src/mangle.c, src/misc.c, src/names.c, src/sparse.c,
+       src/system.c, src/tar.c, src/tar.h, src/update.c, src/utf8.c,
+       src/xheader.c, tests/Makefile.am, tests/append.at,
+       tests/append01.at, tests/comprec.at, tests/delete01.at,
+       tests/delete02.at, tests/delete03.at, tests/delete04.at,
+       tests/delete05.at, tests/extrac01.at, tests/extrac02.at,
+       tests/extrac03.at, tests/extrac04.at, tests/extrac05.at,
+       tests/gzip.at, tests/ignfail.at, tests/incremental.at,
+       tests/link01.at, tests/listed01.at, tests/listed02.at,
+       tests/long01.at, tests/longv7.at, tests/multiv01.at,
+       tests/multiv02.at, tests/multiv03.at, tests/multiv04.at,
+       tests/old.at, tests/options.at, tests/options02.at, tests/pipe.at,
+       tests/recurse.at, tests/same-order01.at, tests/same-order02.at,
+       tests/shortrec.at, tests/sparse01.at, tests/sparse02.at,
+       tests/testsuite.at, tests/truncate.at, tests/version.at,
+       tests/volume.at, tests/star/gtarfail.at, tests/star/gtarfail2.at,
+       tests/star/multi-fail.at, tests/star/pax-big-10g.at,
+       tests/star/quicktest.sh, tests/star/ustar-big-2g.at,
+       tests/star/ustar-big-8g.at:
+       Update FSF postal mail address.
+
+2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * NEWS: Updated
+       * THANKS: Updated
+       * bootstrap: Install files from paxutils/doc
+       * doc/Makefile.am (tar_TEXINFOS): Add genfile.texi
+       * doc/tar.texi (Genfile): New appendix
+       * src/compare.c (diff_file): diff_handle was not initialized
+       * src/create.c (dump_regular_file): Correctly pad archive members
+       that shrunk during archiving. Repored by Frank Heckenbach.
+       * src/extract.c (file_newer_p): Return false if file does not
+       exist
+       (prepare_to_extract): Correct warning wording.
+       * tests/truncate.at: New test case
+       * tests/Makefile.am: Add truncate.at
+       * tests/testsuite.at: Likewise.
+
+       * doc/.cvsignore: Updated
+       * lib/.cvsignore: Updated
+       * tests/.cvsignore: Updated
+
+2005-05-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/multivol04.at: Tell awk to read from /dev/null.
+
+       Adjust to recent gnulib changes.
+       * lib/.cvsignore: Add dup-safer.c, fd-safer.c, unistd-safer.h.
+       * src/common.h (initial_umask): New var.
+       * src/create.c (start_ueader): Use it, and adjust to new modechange
+       API.
+       (hash_link): unsigned -> size_t parameters and result.
+       * src/incremen.c (hash_directory): Likewise.
+       * src/names.c (hash_string_hasher): Likewise.
+       * src/tar.c (parse_opt): Set it, and adjust to new modechange API.
+
+2005-04-19  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * tests/Makefile.am: Add shortrec.at.
+
+2005-04-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/buffer.c (reading_from_pipe): Remove.  All uses removed.
+       (short_read): Don't warn about short reads; they're normal.
+       * tests/shortrec.at: New file.
+       * tests/testsuite.at: Include it.
+
+       * bootstrap (gnulib_modules): Don't create a file modlist.tmp, as
+       it is sometimes left behind as a garbage file (maybe due to the
+       multiple traps?).
+
+2005-04-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/list.c: Handle Solaris 'X' type flag
+       * src/tar.h (SOLARIS_XHDTYPE): New define
+
+2005-04-06  Sergey Poznyakoff  <gray@mirddin.farlep.net>
+
+       * src/tar.c: Minor fixes to text messages. Proposed by Benno
+       Schulenberg.
+       * src/extract.c: Likewise
+       (extract_file): Assign orig_file_name
+       to save_name uniformly over the program. This fixes matching
+       directory names at the start of an archive volume.
+       * src/buffer.c (flush_write): Warn when the name of the archive
+       straddling volume boundary is longer than 100 characters. Earlier
+       behavior was to issue a fatal error.
+       (struct zip_magic): Reverted part of changes from 2005-04-04.
+       They make the maintenance too costly. Removing `unsigned'
+       qualifier from `magic' member should be enough.
+       * src/compare.c (diff_init): Read directory file if in listed
+       incremental. This prevents spurious 'Contents differ' diagnostics.
+       (diff_archive): Minor fixes to text messages
+       (diff_file,diff_dumpdir,diff_multivol): Assign orig_file_name
+       to save_name uniformly over the program. This fixes matching
+       directory names at the start of an archive volume.
+       * src/create.c: Assign orig_file_name
+       to save_name uniformly over the program. This fixes matching
+       directory names at the start of an archive volume.
+       * src/list.c: Likewise
+
+       * tests/multiv03.at: Modified to match the new behavior
+       * tests/multiv04.at: New file. Test splittind directory members between
+       the archive volumes.
+       * tests/Makefile.am: Add multiv04.at
+       * tests/testsuite.at: Likewise.
+
+2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * configure.ac (AC_CONFIG_AUX_DIR): Rename from config to build-aux,
+       for reasons discussed in the thread beginning at
+       <http://lists.gnu.org/archive/html/bug-gnulib/2005-03/msg00119.html>.
+       * .cvsignore: Remove config; add build-aux.
+
+       * src/buffer.c (struct zip_magic): Use char arrays, not pointers.
+       The unsigned char * pointer ran afoul of pedantic C compilers, and
+       we didn't need pointers anyway.  Put the size field before the
+       data to avoid unnecessary padding.  All uses changed.
+       (magic) Make it const, since it doesn't change.  All uses changed.
+
+2005-04-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/xheader.c (decode_record): Don't dump core when given
+       a corrupted extended header.  Problem reported by Jim Meyering.
+       Also, check for other ways that the header might be invalid,
+       e.g., missing newline at end.  Do not allow keys with nulls.
+       Allow blanks before and after length, as POSIX requires.
+       Do not allow leading "-" in length.  Check for length overflow.
+       (xheader_decode, xheader_decode_global): Let decode_record
+       check for exhaustion of record.
+       (xheader_read): Null-terminate the extended record;
+       decode_record relies on this.
+
+2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (TP_URL): Change from
+       <http://www2.iro.umontreal.ca/~gnutra/po/maint/tar/> to
+       <http://www.iro.umontreal.ca/translation/maint/tar/> to avoid
+       some redirection glitches.
+       Use "trap - 0" rather than "trap 0" to fix a POSIX-conformance bug.
+       * doc/.cvsignore: Change "tar.info" to "tar.info*".  Sort.
+       * lib/.cvsignore: Add intprops.h (new gnulib file).
+
+2005-03-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/list.c (print_header): Print UID/GID in case of
+       empty user/group name. This could occur when dumping
+       files belonging to non-existing users and when listing
+       broken archives.
+       Reported by Igor Lautar.
+
+       * src/create.c: Correctly parse empty uname/gname
+       * src/sparse.c (sparse_scan_file): Bugfix. offset had
+       incorrect type.
+
+       * scripts/backup.in: Use `head -n 1'. Provide missing
+       argument to ${MT_STATUS}. Proposed by Jan Merka.
+       * scripts/backup.sh.in: Likewise. Fixed typo in
+       MT_OFFLINE assignment.
+       * scripts/restore.in (restore_fs): Use root_fs
+
+2005-02-15  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/create.c: Replace strdup with xstrdup
+       * src/names.c: Likewise
+       * src/tar.c: Likewise
+
+       * tests/append01.at: Added reference to bug-tar archive
+       * tests/listed02.at: Use -print with find.
+
+2005-02-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * THANKS: Added Tim Adye. Fixed UTF.
+       * src/list.c (read_header): Removed assignment to
+       oldgnu_header.isextended. It was breaking append mode.
+
+       * tests/append01.at: New test.
+       * tests/Makefile.am: Added append01.at
+       * tests/testsuite.at: Likewise
+
+2005-02-06  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * gnulib.modules: New file. List of required gnulib
+       modules.
+       * bootstrap: Merge list of required modules from
+       paxutils with that from tar proper.
+       * src/tar.c: Various fixes in help and diagnostic messages.
+
+2005-02-05  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/common.h (EXTRACT_OVER_PIPE): New macro
+       * src/compare.c: Code clean up.
+       * src/extract.c (extract_archive): Do not check for
+       EXTRACT_OVER_PIPE, decode_options() does this.
+       * src/misc.c (exec_error,fork_error,dup2_error)
+       (pipe_error): Removed unneeded functions.
+       * src/system.c (sys_exec_command): Use xclose, xpipe,
+       xfork, xdup2 and exec_fatal.
+       * src/tar.c (options): Improved sorting. Document --backup=off.
+       (decode_options): Clear backup_option if necessary.
+
+2005-02-05  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Initial implementation of --to-command option proposed
+       by Hansjoerg Lipp.
+
+       * bootstrap: Get setenv module from gnulib
+       * src/buffer.c: Do not use 8-bit chars in comments
+       * src/common.h (to_command_option)
+       (ignore_command_error_option): New globals
+       (sys_exec_command,sys_wait_command): New commands
+       * src/extract.c (extract_file): Handle to_command_option
+       Fix error recovery: decrease `size' by `written', not
+       by `count', otherwise tar misses the next header
+       Do not diagnose write error if to_command_option
+       is set, since the command may have exited prematurely.
+       It would be better to check for sigpipe, though.
+       (prepare_to_extract): Handle to_command_option
+       * src/misc.c (exec_error, fork_error, dup_error)
+       (pipe_error): New functions
+       * src/system.c (sys_exec_command)
+       (sys_wait_command): New functions
+       * src/tar.c: Handle new options --to-command,
+       --ignore-command-error
+       * THANKS: Added Hansjoerg Lipp
+
+2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/list.c (from_header): New arg OCTAL_ONLY, normally false.
+       All uses changed.  Fix typo that sometimes suppressed all "Archive
+       contains obsolescent base-64 headers" warnings, not just the first
+       one.
+       (tar_checksum): Accept only octal checksums, since they aren't
+       supposed to overflow into weird formats.
+
+       Adjust to gnulib changes.
+       * lib/.cvsignore: Add chdir-long.c, chdir-long.h, memrchr.c,
+       memrchr.h, openat.c, openat.h.  Remove pathmax.h (added by
+       mistake, perhaps?), sysexit.h (my typo), xstrdup.c (gnulib removed
+       this file).  Sort entries.
+
+2005-02-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/extract.c: Further rewrite.
+       * src/buffer.c: Removed unused variables.
+       * src/list.c: Likewise
+       * src/tar.c (update_argv): Changed type to void
+
+       * src/common.h (OLDGNU_NAME_FIELD_SIZE): New constant
+       * src/create.c (start_private_header,write_header_name)
+       (dump_hard_link): Restore compatibility with 1.13.25
+       * src/extract.c (extract_archive): Rewritten
+       * src/list.c: Add translators' comments
+       * src/tar.c (options) Minor spelling fix
+       * tests/star/quicktest.sh: Determine path to the tar executable.
+
+2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * po/POTFILES.in: Added tests/genfile.c
+       * src/buffer.c (short_read): Use ngettext()
+       (new_volume): use quote().
+       * src/create.c: Use quote()
+       * src/extract.c: Likewise
+       * src/xheader.c: Likewise
+       * src/misc.c: Add comments to translators
+
+       * tests/same-order01.at: sort ls output
+       * tests/sparse01.at (RE_CHECK): Added missing space
+
+       * tests/sparse02.at: Test extracting sparse files over a pipe.
+       * tests/Makefile.am: Added sparse02.at
+       * tests/testsuite.at: Likewise
+       * tests/listed02.at: Skip the test on filesystems that do not
+       update ctime of a file when renaming it. To be reverted when
+       the new incremental mode is ready.
+       * tests/sparse01.at: Extract and compare sparse file
+
+2005-02-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c: Extract sparse files even if the output
+       fd is not seekable.
+
+2005-02-01  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Add a comment to lib/Makefile.am saying that this
+       is an autogenerated file.
+       Exit with code 1 if any of autotools fails.
+       * lib/Makefile.tmpl: Insert Emacs magic to the first line.
+       * tests/Makefile.am: Add append.at
+
+       * m4/.cvsignore: Ignore all *.m4 files
+
+2005-01-18  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Rewritten handling of -T (--files-from) option. Now it
+       inserts the file names immediately into argv array which allows
+       for:
+       1) any valid tar options (including another -T) to be used in the file
+       2) any number of -T options to be given in command line
+
+       * configure.ac: Raised version number to 1.15.2
+       * src/common.h: Include obstack.h
+       (files_from_option): Removed
+       (unquote_option): New variable
+       (stat_fatal): New function
+       (name_close): Removed function.
+       * src/incremen.c: Remove inclusion of obstack.h
+       * src/xheader.c: Likewise.
+       * src/misc.c (stat_fatal): New function
+       * src/names.c (name_file): Removed variable.
+       (read_name_from_file): Removed function. All callers changed.
+       (name_close): Removed function. All callers changed.
+       * src/tar.c: New options --unquote (--no-unquote) and
+       --add-file
+       (add_file_id,read_name_from_file,update_argv): New functions
+       (parse_opt): Rewritten handling of -T option. Handle hidden
+       --HANG option for debugging purposes.
+       (decode_options): Init unquote_option to true. Init argv_stk.
+       Remove unneeded references to files_from_option
+
+       * doc/tar.texi: Document new options.
+       Moved rendition macros and option value definitions into
+       separate files
+       * doc/rendition.texi: New file
+       * doc/value.texi: New file
+       * doc/Makefile.am: Updated
+
+2005-01-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/testsuite.at (RE_CHECK): Use "join - file", not
+       "join file -", to work around a bug in Solaris 8 join.
+       Problem reported by Tomohiro Suzuki.
+
+2005-01-13  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/list.c (read_header): Fixed calculation of the
+       size for GNU long name/link. Tar was reading one block
+       more if name_size was divisible by 512. Thanks Josef
+       Bauer.
+       * tests/long01.at: New file. Test listing of GNU long names
+       divisible by 512.
+       * tests/pipe.at: Sort tar output.
+       * tests/Makefile.am: Added long01.at
+       * tests/testsuite.at: Likewise.
+       * THANKS: Added Josef Bauer
+       * lib/.cvsignore: Updated
+       * m4/.cvsignore: Updated
+       * NEWS: Updated
+
+2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * directory: Updated for 1.15.1
+       * doc/Makefile.am: Use gendocs.sh to generate web documentation
+       * doc/gendocs_template: Template file for gendocs.sh
+       * doc/tar.texi: Updated docs for --[no-]same-permissions
+       * src/tar.c: Reworded docstrings for --[no-]same-permissions
+
+2005-01-06  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Create m4/paxutils.m4
+       * configure.ac: Call tar_PAXUTILS
+       * tests/options02.at: Test that tar correctly handles non-option
+       arguments interspersed with options.
+       * tests/Makefile.am: Add options02.at
+       * tests/testsuite.at: Likewise
+       * tests/listed02.at: Do not create useless directory
+
+2005-01-05  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.c (parse_opt): Bugfix: Use ARGP_KEY_ARG. Thanks
+       Mike Frysinger <vapier@gentoo.org> for reporting.
+
+2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/Makefile.tmpl (localedir.h): Omit needless quotes and a
+       needless sed command.  Problem reported by Paul Jarc.
+
+2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Accommodate latest gnulib.
+       * doc/.cvsignore: Add getdate.texi.
+       * bootstrap: Do not treat alloca-opt specially; this is no
+       longer needed (and breaks builds) with latest gnulib.
+
+2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.c (main): Reverted recent changes (#ifdef).
+
+2004-12-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Raise version number to 1.15.1
+       Check for locale.h
+       * NEWS: Entry for 1.15.1
+       * src/buffer.c: Bugfix. Changes introduced 2004-11-26
+       broke extraction from stdin.
+       * src/list.c (from_header, tar_checksum): Changed declaration.
+       All callers updated.
+       * src/common.h: Likewise
+       * src/tar.c (main): Protect invocation of setlocale by
+       ifdef.
+
+       * tests/comprec.at: New test
+       * tests/pipe.at: New test
+       * tests/Makefile.am (comprec.at,pipe.at): New tests
+       * tests/testsuite.at: Likewise
+       * tests/gzip.at: Use AT_GZIP_PREREQ
+       * tests/star/pax-big-10g.at: Likewise
+       * tests/star/ustar-big-2g.at: Likewise
+       * tests/star/ustar-big-8g.at: Likewise
+
+       * tests/extrac04.at: Discard stderr from sort, on some
+       systems it spits out lots of irrelevant info.
+       * tests/listed02.at: Likewise
+
+       * doc/index.html.in: Rewritten in xhtml to follow recent
+       GNU site standards.
+       * THANKS: Updated
+
+2004-12-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Released version 1.15. Sources up to this point are
+       tagged release_1_15.
+
+       * configure.ac: Raised version number to 1.15
+       * NEWS: Likewise
+       * directory: Updated
+       * bootstrap (update_po): Give -r to wget. Always remove index.html
+       Ignore alloca-opt module (it duplicates alloca)
+
+       * tests/Makefile.am: Distribute star/quicktest.sh
+       * tests/star/README: Document quicktest.sh
+       * tests/star/qucktest.sh: Removed.
+       * tests/star/quicktest.sh: New file.
+
+2004-12-18  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * NEWS: Updated
+       * doc/tar.texi: Document auto-detection of compressed archive
+       formats.
+       * src/tar.c (decode_options): Ignore --seek if used with --delete.
+       Delete.c is based on the assumption that the archive is being
+       actually read, not lseeked.
+
+       * tests/delete05.at: New file
+       * tests/extrac02.at: Fixed typo in AT_SETUP
+       * tests/Makefile.am: Added delete05.at
+       * tests/testsuite.at: Likewise.
+
+2004-12-17  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/delete.c (delete_archive_members): Bugfix: when
+       attempting to delete an nonexistent member, the last
+       blocking_factor blocks were zeroed.
+
+2004-12-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * TODO: Mention sub-second resolution, lutimes, lchmod.
+
+2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to recent gnulib changes.
+       * doc/getdate.texi: Remove, since bootstrap gets it from gnulib now.
+       * .cvsignore: Add rmt, rmt/*, rmt/*/*.
+       * lib/.cvsignore: Add allocsa.c, allocsa.h, allocsa.valgrind,
+       charset.alias, config.charset, getcwd.c, getcwd.h, localcharset.c,
+       localcharset.h, ref-add.sed, ref-add.sin, ref-del.sed,
+       ref-del.sin, setenv.c, setenv.h, unsetenv.c.  Remove pathmax.h,
+       xstrdup.c.
+       * m4/.cvsignore: Add allocsa.m4, eealloc.m4, getcwd-path-max.m4,
+       localcharset.m4, realloc.m4, setenv.m4.  Remove malloc.m4,
+       pathmax.m4, realloc.m4.
+
+2004-11-26  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Raised version number to 1.14.91
+       * scripts/tarcat: New file
+       * scripts/Makefile.am: Added tarcat
+       * src/buffer.c (hit_eof): Changed type to boolean
+       (read_full_records,reading_from_pipe): New variables
+       (check_compressed_archive,open_compressed_archive): New functions
+       (open_archive): Autodetect compressed archives and act accordingly.
+       Set reading_from_pipe. This fixes controversial set of changes
+       introduced 2004-05-11,2004-03-22.
+       * src/list.c (tar_checksum): New function
+       (read_header): Use tar_checksum().
+       * src/common.h (tar_checksum): New function
+
+       * tests/star/README: Updated
+       * NEWS: Updated
+       * PORTS: Updated
+
+2004-11-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.c (decode_options): Fixed -o semantics. Thanks
+       Jean Delvare <khali@linux-fr.org>
+
+2004-10-25  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Add localcharset
+       * lib/Makefile.tmpl: Initialize SUFFIXES and CLEANFILES since the
+       makefile snippet from localcharset uses '+=' on them.
+       * src/Makefile.am (LDADD): Add LIBICONV
+       * src/list.c (decode_header): Set uname/gname to NULL if their
+       header counterparts are empty
+       * src/tar.c (options): Use OPTION_NO_TRANS
+       * src/utf8.c: Use locale_charset() from gnulib
+
+       * tests/star/README: Updated
+
+       * NEWS: Updated
+       * TODO: Minor fix
+
+2004-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * THANKS: Added Bryan Ford
+       * doc/Makefile.am (.text): Fixed rule
+       * po/POTFILES.in: Added argp-help.c
+
+2004-10-04  Bryan Ford  <baford@mit.edu>
+
+       * src/tar.c: New option --exclude-caches, to exclude
+       cache directories automatically on archive creation.
+       Cache directories are directories containing a
+       standardized tag file, as specified at:
+               http://www.brynosaurus.com/cachedir/spec.html
+       * src/common.h: New variable exclude_caches_option.
+       * src/create.c: New function check_cache_directory(),
+       called from dump_dir0() if exclude_caches_option is set,
+       to check for a cache directory tag and exclude the directory
+       if such a tag is found.
+       * doc/tar.texi: Updated accordingly.
+
+2004-09-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * doc/tar.texi: Minor fix
+       * src/tar.c (options): Minor fix
+
+2004-09-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * TODO: Updated
+       * lib/Makefile.tmpl: Added 'rtapelib.o: localedir.h' dependency
+       * src/common.h: Comment WANT_DIRECTORY_REMOVE_OPTION.
+       * src/extract.c: Normalized use of remove_any_file().
+       * src/misc.c: Likewise.
+       * src/tar.c (parse_opt): Emit warning if -l option is used.
+       (show_default_settings): REMOTE_SHELL may be undefined
+
+2004-09-07  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Test suite rewritten in autotest.
+
+       * configure.ac: Updated for autotest
+       * src/tar.c (argp_program_version): Modified.
+       * tests/Makefile.am: Rewritten for autotest.
+
+       * tests/.cvsignore: Updated
+       * tests/append.at: New file
+       * tests/atlocal.in: New file
+       * tests/delete01.at: New file
+       * tests/delete02.at: New file
+       * tests/delete03.at: New file
+       * tests/delete04.at: New file
+       * tests/extrac01.at: New file
+       * tests/extrac02.at: New file
+       * tests/extrac03.at: New file
+       * tests/extrac04.at: New file
+       * tests/extrac05.at: New file
+       * tests/gzip.at: New file
+       * tests/ignfail.at: New file
+       * tests/incremental.at: New file
+       * tests/link01.at: New file
+       * tests/listed01.at: New file
+       * tests/listed02.at: New file
+       * tests/longv7.at: New file
+       * tests/multiv01.at: New file
+       * tests/multiv02.at: New file
+       * tests/multiv03.at: New file
+       * tests/old.at: New file
+       * tests/options.at: New file
+       * tests/recurse.at: New file
+       * tests/same-order01.at: New file
+       * tests/same-order02.at: New file
+       * tests/sparse01.at: New file
+       * tests/testsuite.at: New file
+       * tests/version.at: New file
+       * tests/volume.at: New file
+       * tests/star/gtarfail.at: New file
+       * tests/star/gtarfail2.at: New file
+       * tests/star/multi-fail.at: New file
+       * tests/star/pax-big-10g.at: New file
+       * tests/star/ustar-big-2g.at: New file
+       * tests/star/ustar-big-8g.at: New file
+
+       * tests/preset.in: Removed
+       * tests/before: Removed
+       * tests/after: Removed
+       * tests/version.sh: Removed.
+       * tests/append.sh: Removed.
+       * tests/delete01.sh: Removed.
+       * tests/delete02.sh: Removed.
+       * tests/delete03.sh: Removed.
+       * tests/delete04.sh: Removed.
+       * tests/extrac01.sh: Removed.
+       * tests/extrac02.sh: Removed.
+       * tests/extrac03.sh: Removed.
+       * tests/extrac04.sh: Removed.
+       * tests/extrac05.sh: Removed.
+       * tests/gzip.sh: Removed.
+       * tests/incremen.sh: Removed.
+       * tests/ignfail.sh: Removed.
+       * tests/link01.sh: Removed.
+       * tests/listed01.sh: Removed.
+       * tests/listed02.sh: Removed.
+       * tests/longv7.sh: Removed.
+       * tests/multiv01.sh: Removed.
+       * tests/multiv02.sh: Removed.
+       * tests/multiv03.sh: Removed.
+       * tests/old.sh: Removed.
+       * tests/options.sh: Removed.
+       * tests/same-order01.sh: Removed.
+       * tests/same-order02.sh: Removed.
+       * tests/volume.sh: Removed.
+       * tests/recurse.sh: Removed.
+       * tests/sparse01.sh: Removed.
+       * tests/star/gtarfail.sh: Removed.
+       * tests/star/gtarfail2.sh: Removed.
+       * tests/star/multi-fail.sh: Removed.
+       * tests/star/ustar-big-2g.sh: Removed.
+       * tests/star/ustar-big-8g.sh: Removed.
+       * tests/star/pax-big-10g.sh: Removed.
+
+2004-09-07  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Install genfile.c from paxutils
+       * tests/genfile.c: Removed. Integrated into
+       paxutils.
+       * tests/mksparse.c: Removed. Integrated into
+       (paxutils) genfile.c
+       * tests/Makefile.am: Removed mksparse
+       * tests/sparse01.sh: Use genfile instead of mksparse
+
+2004-09-06  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Started merging with cpio into paxutils. Sources before
+       this point are tagged alpha-1_14_90
+
+       * Makefile.am: Updated for use with paxutils
+       * README-alpha: Likewise
+       * bootstrap: Likewise
+       * configure.ac: Likewise
+       * lib/Makefile.tmpl: Likewise
+       * po/POTFILES.in: Likewise
+       * src/Makefile.am: Likewise
+       * src/buffer.c: Likewise
+       * src/common.h: Likewise
+       * src/compare.c: Likewise
+       * src/create.c: Likewise
+       * src/delete.c: Likewise
+       * src/extract.c: Likewise
+       * src/incremen.c: Likewise
+       * src/list.c: Likewise
+       * src/mangle.c: Likewise
+       * src/misc.c: Likewise
+       * src/names.c: Likewise
+       * src/sparse.c: Likewise
+       * src/system.c: Likewise
+       * src/tar.c: Likewise
+       * src/update.c: Likewise
+       * src/utf8.c: Likewise
+       * src/xheader.c: Likewise
+
+       * src/system.h: Removed
+       * src/rmt.c: Removed
+       * src/rmt.h: Removed
+       * src/rtapelib.c: Removed
+
+2004-09-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * tests/listed02.sh: Do not depend on any particular ordering
+       of output.
+
+2004-09-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * doc/tar.texi: Document the use of -C option in
+       file lists. Document --seek option.
+       * configure.ac: New option --with-rmt. New configuration variable
+       DEFAULT_RMT_DIR. Removed DEFAULT_RMT_COMMAND.
+       * src/Makefile.am: Install rmt into rmtdir
+       * src/tar.c (usage): Minor fix.
+       * NEWS: Updated.
+       * README: Updated.
+
+2004-09-01  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Raised version number to 1.14.90
+       * src/common.h (is_individual_file): New prototype
+       * src/create.c (dump_file0): Fix bug introduced
+       2004-02-21.
+       * src/names.c (register_individual_file)
+       (is_individual_file): New functions.
+       * tests/listed01.sh: Use genfile instead of dd.
+       * tests/listed02.sh: New file.
+       * tests/Makefile.am: Added listed02.sh
+
+       * NEWS: Updated
+
+2004-08-31  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c (sparse_add_map): Fixed improper initializations
+       of sparse_map_size. We assume that whatever number it contains
+       describes adequately the current size of sparse_map. The only
+       number we need to reset is sparse_map_avail.
+       * src/compare.c (verify_volume): Call set_next_block_after
+       if read_header returns HEADER_FAILURE
+       Destroy and reinitialize content of current_stat_info and
+       extended_header after each iteration (bug reported by
+       John L. Males <jlmales@yahoo.com>).
+       Issue a warning if the created archive contains some members
+       whose file names were stripped off their leading prefixes.
+       This is a temporary fix of the issue reported by Bdale Garbee
+       <bdale@gag.com> (Refs: Debian bug 230064, Message-Id
+       <87n07kyzhi.fsf@rover.gag.com>, Sun, 15 Feb 2004 11:22:17 -0700)
+
+       * src/names.c (removed_prefixes_p): New function.
+
+       * src/buffer.c: When computing write rate do not take
+       into account the time needed to verify the archive(s).
+       The bug reported by John L. Males <jlmales@yahoo.com>
+       (set_start_time,compute_duration): New functions.
+       (print_total_written): Use the result of compute_duration().
+       (close_archive): Call compute_duration.
+       * src/common.h (set_start_time, removed_prefixes_p): New prototypes.
+       * src/list.c (decode_header): Fixed initialization
+       of stat_info->is_sparse
+       * src/tar.c (main): Call set_start_time().
+
+       * src/misc.c (unquote_string): Unquote '\a' and '\v'.
+       Reported by Helmut Waitzmann <helmut.waitzmann@web.de>.
+
+       * NEWS: Updated
+       * THANKS: Updated
+
+2004-08-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.c: Fix copy-n-paste errors in the license
+
+2004-08-19  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * scripts/backup.in: Renamed LIBPATH to LIBDIR.
+       Use ROOT_FS with -C option. Do not send mail
+       if ADMINISTRATOR is set to NONE.
+       * scripts/backup.sh.in (test_root): Append / to
+       ROOT_FS if it does not already end in it.
+       * scripts/restore.in: Renamed LIBPATH to LIBDIR.
+       New option -a (--all). Do not start restore unless
+       -a or patterns are given.
+       (restore_fs,restore_files): Fixed use of --listed option.
+       * doc/tar.texi: Updated
+       * NEWS: Updated
+
+2004-08-17  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.c (find_argp_option): Fixed typo
+
+2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge argp, getopt, xalloc changes from gnulib.
+       * bootstrap (gnulib_modules): Add xalloc-die.
+       Remove code to test for patches; we don't have patches now.
+       Set LC_ALL=C so that file names sort consistently.
+       Prefer the gnulib copies of gettext.m4, glibc21.m4,
+       lib-ld.m4, lib-prefix.m4, po.m4 too.
+
+       * patches/getopt.diff: Remove; gnulib now works unpatched.
+       * configure.ac (_getopt_long_only_r): Remove check.
+       gl_ARGP now does this for us.
+       * lib/.cvsignore: Add fnmatch.h, getopt_.h, sysexit.h,
+       xalloc-die.c.
+       * src/extract.c: Adjust to changes to gnulib xalloc module.
+       (extr_init): Remove assignment to xalloc_fail_func; no longer needed.
+       (xalloc_die): New function.
+
+2004-08-10  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * NEWS: Updated
+
+       * src/buffer.c (flush_write): Limit filenames
+       of the members that straddle multivolume archive
+       boundary to 100 characters.
+       (flush_read): Use strncmp when comparing multivolume member
+       names.
+       * tests/multiv03.sh: New file
+       * tests/Makefile.am: Added multiv03.sh
+
+2004-08-09  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/list.c (read_and): Call decode_header before
+       calling skip_member()
+       (skip_member): Use is_sparse field to determine if the
+       member is a sparse file.
+
+       * tests/Makefile.am: Added extrac05.sh
+       * tests/extrac05.sh: New file
+       * tests/append.sh: Rearranged leading comments. Added explicit
+       references to report messages wherever available.
+       * tests/delete01.sh: Likewise
+       * tests/delete02.sh: Likewise
+       * tests/delete03.sh: Likewise
+       * tests/delete04.sh: Likewise
+       * tests/extrac01.sh: Likewise
+       * tests/extrac02.sh: Likewise
+       * tests/extrac03.sh: Likewise
+       * tests/extrac04.sh: Likewise
+       * tests/gzip.sh: Likewise
+       * tests/ignfail.sh: Likewise
+       * tests/incremen.sh: Likewise
+       * tests/link01.sh: Likewise
+       * tests/listed01.sh: Likewise
+       * tests/longv7.sh: Likewise
+       * tests/multiv01.sh: Likewise
+       * tests/multiv02.sh: Likewise
+       * tests/old.sh: Likewise
+       * tests/options.sh: Likewise
+       * tests/recurse.sh: Likewise
+       * tests/same-order01.sh: Likewise
+       * tests/same-order02.sh: Likewise
+       * tests/sparse01.sh: Likewise
+       * tests/version.sh: Likewise
+       * tests/volume.sh: Likewise
+
+2004-08-08  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Extended --update-po option to take an
+       optional argument specifying the po file to update.
+       * src/create.c: Improved compatibility with 1.13.25
+       * tests/link01.sh: New file.
+       * tests/Makefile.am: Added link01.sh
+
+2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge from gnulib.
+
+       * patches/argp.diff: Remove; no longer needed.
+
+       * lib/.cvsignore: Add stat-macros.h.
+       Remove addext.c, malloc.c, realloc.c.
+
+       * src/extract.c: Include <getcwd.h>.
+       (extract_archive): Rewrite with new macro IS_ABSOLUTE_FILE_NAME.
+       * src/extract.c (make_directories):
+       FILESYSTEM_PREFIX_LEN -> FILE_SYSTEM_PREFIX_LEN.
+       * src/misc.c (must_be_dot_or_slash): Likewise.
+       * src/names.c (excluded_name, safer_name_suffix, stripped_prefix_len):
+       Likewise.
+       * src/tar.c (parse_opt): Likewise.
+       * src/incremen.c (purge_directory): Fix format buffer typos in warning
+       strings.
+       * src/tar.c (options): Add missing initializers to pacify gcc.
+       (decode_options): Remove unused var.
+
+2004-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (gnulib_modules): Add getpagesize.
+       * configure.ac (valloc): Remove check; valloc no longer used.
+       * lib/.cvsignore: Add getpagesize.h.
+       * m4/.cvsignore: Add getpagesize.m4.
+       * src/buffer.c (record_buffer): New var.
+       (open_archive): Don't use valloc; on older or buggy hosts, you can't
+       free the result.  Use page_aligned_alloc instead.
+       * src/compare.c (diff_init): Likewise.
+       * src/buffer.c (open_archive): Record the pointer to be freed
+       into record_buffer.
+       (close_archive): Free record_buffer.
+       * src/common.h (page_aligned_alloc): New decl.
+       * src/misc.c (quote_n, quote): Remove these redundant functions.
+       (ptr_align): New function, from coreutils/src/system.h.
+       (page_aligned_alloc): New function.
+       * src/system.h (valloc): Remove.
+
+2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/extract.c (extract_archive): Do not report an error
+       when hard-linking X to X when X exists.  Problem reported by
+       Toby Peterson.
+       * lib/.cvsignore: Add fchown-stub.c.
+
+2004-06-29  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * NEWS: Updated
+       * src/common.h (root_device): New global.
+       (gnu_restore): Renamed to purge_directory().
+       * src/extract.c (extr_init): Save the device number
+       of the root device.
+       (extract_archive): Renamed gnu_restore() to purge_directory().
+       * src/incremen.c (gnu_restore): Renamed to purge_directory().
+       Do not attempt to purge the directory if it is on a different
+       device and one_file_system_option is set.
+
+2004-06-25  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * doc/tar.texi: The actual default for exclude patterns
+       is --no-anchored. Fixed.
+       * src/tar.c (options): Likewise.
+       Thanks "Felix Natter" <felix.natter@ldc.de> for noticing.
+
+2004-06-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * doc/tar.texi: Fixed several inconsistencies.
+       * src/tar.c: Fixed docstring for --checkpoint option.
+
+2004-05-19  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/buffer.c (seek_archive): New function
+       * src/common.h (seek_archive): New function
+       (seekable_archive): New global.
+       * src/list.c (skip_file): Use seek_archive() if
+       possible.
+       * src/tar.c (struct fmttab): Accept 'pax' as alias
+       for 'posix'
+       (options): New option -n (--seek).
+       * src/update.c: Determine type of the archive before
+       appending to it.
+
+       * TODO: Updated.
+
+2004-05-19  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: New option --update-po
+       * src/tar.c: New option -H (short alias to --format)
+       * doc/tar.texi: Document -H option
+       * src/names.c (safer_name_suffix): Fixed bug introduced
+       2004-05-11.
+
+2004-05-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Apply patches from patch subdirectory
+       * patches: New dir
+       * patches/argp.diff: New file
+       * patches/getopt.diff: New file
+       * configure.ac: Check for _getopt_long_only_r and
+       force using included version of getopt if the function
+       is not available.
+       * src/tar.c: Use argp for command line parsing.
+       * src/system.h: Minor formatting fix
+       * m4/.cvsignore: Updated
+       * lib/.cvsignore: Updated
+       * doc/tar.texi: Minor fix.
+       * src/extract.c: Fix improper use of 'path' term
+       * src/incremen.c: Likewise
+       * src/list.c: Likewise
+       * src/misc.c: Likewise
+       * src/names.c: Likewise
+       * src/rmt.h: Likewise
+       * src/rtapelib.c: Likewise
+       * src/update.c: Likewise
+       * src/xheader.c: Likewise
+       * tests/star/README: Minor fix
+
+2004-05-13  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Raised version number to 1.14.1
+       * src/tar.c: Renamed --strip-path to --strip-components
+       Changed improper use of _() to ngettext().
+       * src/extract.c: Renamed strip_path_option to strip_components_option
+       * src/common.h: Likewise.
+       * NEWS: Updated.
+       * doc/tar.texi: Updated
+
+2004-05-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/system.c (sys_child_open_for_uncompress): Do not
+       set read_full_records_option: the compressed archive is
+       likely not to contain integer number of records. Should
+       the user wish to use reblocking, he may always give tar
+       -B option. This is a minor improvement over the change
+       dated 2004-03-22.
+       * src/buffer.c (open_archive): Removed assignment to
+       read_full_records_option.
+
+       * src/names.c (safer_name_suffix): (safer_name_suffix): Use "%s"
+       as the format argument, rather than a possibly-translated variable
+       string. Patch provided by Jim Meyering  <jim@meyering.net>
+       * src/tar.c (decode_options): Fixed typo in the comment.
+       * tests/star/README: Minor correction
+
+2004-05-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * directory: New file. GNU directory entry for tar.
+       * doc/Makefile.am: Rewritten. Added rules for generating
+       documentation for the project's website.
+       * doc/.cvsignore: Updated
+       * doc/index.html.in: New file.
+
+2004-05-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Raised version number to 1.14
+       * NEWS: Updated.
+       * tests/after: Added copyleft statement
+       * tests/before: Added copyleft statement
+       * tests/preset.in: Added copyleft statement
+
+       Tar 1.14 is released. Sources up to this point are tagged
+       release_1_14
+
+2004-05-10  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Fixed prerequisite headers for sys/buf.h
+       (needed on FreeBSD)
+       * src/system.h: Likewise.
+       * tests/after (compare): Fixed argument quoting under eval
+       * tests/before: Quote TAR_ARCHIVE_FORMATS
+
+2004-05-10  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * NEWS: Updated
+       * README: Updated
+       * PORTS: Updated
+       * configure.ac: Call gl_AC_TYPE_INTMAX_T. Document
+       DEFAULT_.* variables. Use DEFAULT_RMT_COMMAND to set
+       the pathname of the rmt utility.
+       New option --enable-backup-scripts.
+       * doc/tar.texi: Updated
+       * scripts/Makefile.am: Install the scripts only if requested
+       by the configure.
+       * scripts/backup.in: Fixed --version output.
+       Fixed initialization of the listing files and printing
+       the time of the last previous level dump.
+       * scripts/restore.in: Fixed --version output.
+       * src/Makefile.am (localedir.h rule): Generate correct
+       DEFAULT_RMT_COMMAND variable.
+       * src/common.h (rmt_command_option): New variable.
+       * src/list.c (read_and): Print block number before
+       issuing 'Skipping to next header' diagnostics, if
+       requested by block_number_option.
+       * src/rtapelib.c: Use rmt_command_option instead of
+       hardcoded "/etc/rmt".
+       * src/tar.c: New option --rmt-command.
+       (decode_options): Handle --rmt-command. Initialize
+       rmt_command_option to DEFAULT_RMT_COMMAND.
+
+2004-05-09  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * doc/tar.texi: Further update.
+
+2004-05-08  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Minor fix
+       * scripts/Makefile.am: Updated
+       * scripts/backup-specs: Updated
+       * scripts/backup.in: Minor fixes
+       * scripts/backup.sh: Removed
+       * scripts/backup.sh.in: New file. Source for backup.sh
+       * scripts/restore.in: New file
+       * scripts/.cvsignore: Updated
+       * scripts/WARNING: Removed
+       * doc/tar.texi: Updated
+       * NEWS: Updated
+
+2004-05-07  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/names.c (name_gather): Bugfix: Honor single -C with
+       --same-order.
+       * tests/same-order01.sh: New file
+       * tests/same-order02.sh: New file
+       * tests/Makefile.am: Updated
+
+       * tests/append.sh: Added copyleft header
+       * tests/delete01.sh: Likewise
+       * tests/delete02.sh: Likewise
+       * tests/delete04.sh: Likewise
+       * tests/extrac01.sh: Likewise
+       * tests/extrac02.sh: Likewise
+       * tests/extrac03.sh: Likewise
+       * tests/extrac04.sh: Likewise
+       * tests/gzip.sh: Likewise
+       * tests/ignfail.sh: Likewise
+       * tests/incremen.sh: Likewise
+       * tests/multiv01.sh: Likewise
+       * tests/old.sh: Likewise
+       * tests/options.sh: Likewise
+       * tests/recurse.sh: Likewise
+       * tests/version.sh: Likewise
+       * tests/volume.sh: Likewise
+       * tests/star/gtarfail.sh: Likewise
+       * tests/star/gtarfail2.sh: Likewise
+       * tests/star/multi-fail.sh: Likewise
+       * tests/star/pax-big-10g.sh: Likewise
+       * tests/star/qucktest.sh: Likewise
+       * tests/star/ustar-big-2g.sh: Likewise
+       * tests/star/ustar-big-8g.sh: Likewise
+
+       * doc/.cvsignore: Updated
+
+2004-05-06  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Check whether date accepts +format argument
+       (for backup scripts).
+       * scripts/level-0: Removed
+       * scripts/level-1: Removed
+       * scripts/weekly.new: Removed
+       * scripts/dump-remind: Removed
+       * scripts/backup.in: New file
+       * scripts/backup.sh: New file
+       * scripts/dump-remind.in: New file
+       * scripts/backup-specs: Updated
+       * scripts/Makefile.am: Updated for new directory contents.
+       * scripts/.cvsignore: Updated
+
+2004-05-05  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * TODO: Updated
+       * doc/tar.texi: Updated
+       * src/tar.c: --utc implies -vv
+
+2004-04-28  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/utf8.c: Make sure ICONV_CONST is defined. AM_ICONV
+       does not define it if it fails to find iconv.h.
+
+2004-04-26  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Use gnulib-tool to generate lib/Makefile.am
+       and parts of configure.ac
+       * configure.ac: Invoke tar_GNULIB to configure gnulib stuff.
+       * lib/Makefile.am: Removed
+       * lib/Makefile.tmpl: New file.
+       * lib/.cvsignore: Updated
+       * m4/.cvsignore: Updated
+       * src/xheader.c: Include stpcpy.h
+
+       * src/create.c: Produce an error, not warning, if the
+       filename is too long.
+       * tests/longv7.sh: Synchronized with the recent changes.
+
+2004-04-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Fixed test for iconv_t
+       * src/rmt.h: Bugfix by Jürgen Weigert
+       * THANKS: Add Jürgen Weigert
+       * tests/star/README: Fixed typo
+
+2004-04-04  Paul Eggert  <eggert@twinsun.com>
+
+       Merge getdate documentation changes from coreutils.
+
+       * doc/getdate.texi: Update from coreutils CVS.
+       * doc/tar.texi: Fix getdate menu to match getdate.texi's.
+
+       Merge recent gnulib changes, and remove some lint.
+
+       Improve support for nanosecond-resolution time stamps.
+       * bootstrap: Add gettime, timespec modules.
+       * configure.ac (gl_GETTIME, gl_TIMESPEC): Add.
+       * lib/.cvsignore (getopt_int.h, gettime.c, gettimeofday.c,
+       timespec.h): Add.
+       * lib/Makefile.am (libtar_a_SOURCES): Add gettime.c, timespec.h.
+       * m4/.cvsignore: Add clock_time.m4, gettime.m4, gettimeofday.m4,
+       st_mtim.m4, timespec.m4.  Remove malloc.m4, realloc.m4.
+       * src/common.h (newer_mtime_option): Now a struct timespec, not
+       time_t.  All uses changed.
+       (NEWER_OPTION_INITIALIZED, OLDER_STAT_MTIME): New macros.
+       * src/create.c (dump_file0): Use OLDER_STAT_TIME to compare times.
+       * src/incremen.c (scan_path): Likewise.
+       * src/list.c (read_and): Likewise.
+       * src/list.c (read_and): Use NEWER_OPTION_INITIALIZED to decide
+       whether newer_mtime_option is initialized.
+       * src/tar.c (decode_options): Likewise.
+       * src/tar.c (decode_options): Adjust to new signature for get_date.
+
+       * src/buffer.c (short_read, flush_read): Use size_t, not ssize_t, for
+       result of safe_read, full_write, and similar functions.
+       Detect safe_read error by comparing to SAFE_READ_ERROR;
+       detect full_write error by comparing to 0.
+       All uses changed.
+       * src/common.h (write_error_details, sys_write_archive_buffer):
+       Likewise.
+       * src/misc.c (write_error_details): Likewise.
+       * src/rmt.c (main): Likewise.
+       * src/rmt.h (rmt_read__, rmt_write__): Likewise.
+       * src/rtapelib.c (rmt_read__, rmt_write__, rmt_ioctl__): Likewise.
+       * src/sparse.c (sparse_scan_file, sparse_dump_region,
+       check_sparse_region, check_data_region): Likewise.
+       * src/system.c (sys_write_archive_buffer, sys_drain_input_pipe,
+       sys_child_open_for_compress, sys_child_open_for_uncompress): Likewise.
+       * src/update.c (append_file): Likewise.
+
+       * src/buffer.c (clear_read_error_count): Use explicit (void)
+       to indicate a function with no arguments.
+       * src/create.c (check_links): Likewise.
+       * src/system.c (sys_get_archive_stat, sys_save_archive_dev_ino,
+       sys_detect_dev_null_output, sys_drain_input_pipe, sys_spawn_shell,
+       sys_reset_uid_gid, sys_get_archive_stat, sys_save_archive_dev_ino,
+       sys_detect_dev_null_output, sys_drain_input_pipe, sys_spawn_shell):
+       Likewise.
+       * src/utf8.c (get_input_charset): Likewise.
+       * src/xheader.c (xheader_ghdr_name, xheader_write_global,
+       xheader_decode_global, extended_header_init): Likewise.
+       * tests/mksparse.c (usage): Likewise.
+
+       * src/buffer.c (new_volume): Rename local variables to avoid
+       shadowing warnings.
+       * src/common.h (file_dumpable_p, sys_stat_nanoseconds,
+       sparse_file_p, sparse_member_p, sparse_fixup_header,
+       sparse_dump_file, sparce_extract_file, sparse_skip_file,
+       sparse_diff_file): Likewise.
+       * src/compare.c (diff_archive): Likewise.
+       * src/create.c (file_dumpable_p, dump_regular_file, dump_dir0,
+       dump_dir, dump_hard_link, file_count_links, dump_file0, dump_file):
+       Likewise.
+       * src/extract.c (repair_delayed_set_stat): Likewise.
+       * src/misc.c (maybe_backup_file, add_hierarchy_to_namelist):
+       Likewise.
+       * src/sparse.c (struct tar_sparse_optab, tar_sparse_dump_region,
+       tar_sparse_extract_region, sparse_dump_region, sparse_extract_region,
+       sparse_dump_file, sparse_file_p, sparse_member_p,
+       sparse_fixup_header, sparse_extract_file, sparse_skip_file,
+       check_data_region, sparse_diff_file): Likewise.
+       * src/system.c (sys_stat_nanoseconds): Likewise.
+       * src/xheader.c (xheader_format_name): Likewise.
+
+       * src/common.h (enum old_files): Remove comma before }; not portable.
+
+       * src/common.h (read_fatal_details): Add __attribute__ ((noreturn)).
+       * src/rmt.c (usage): Likewise.
+       * src/xheader.c (xheader_set_single_keyword): Likewise.
+       * tests/genfile.c (usage): Likewise.
+       * tests/mksparse.c (die, usage): Likewise.  Also add printf attribute
+       to die.
+
+       * src/common.h (gname_to_gid, uname_to_uid): Add const to avoid
+       some gcc warnings.
+       * src/names.c (uname_to_uid, gname_to_gid): Likewise.
+       * src/utf8.c (struct langtab.lang, struct langtab.terr, struct
+       langtab.charset, charset_lookup): Likewise.
+
+       * src/common.h (name_init): Remove unused args.  All callers changed.
+       * src/names.c (name_init): Likewise.
+
+       * src/common.h (usage, xheader_write, xheader_write_global,
+       sys_reset_uid_gid): New decls.
+
+       * src/compare.c (report_difference, process_noop): Add
+       __attribute__ ((unused)) for unused attributes.
+       * src/sparse.c (oldgnu_sparse_member_p, star_sparse_member_p):
+       Likewise.
+       * src/xheader.c (dummy_coder, dummy_decoder, atime_coder,
+       gid_coder, gname_coder, linkpath_coder, ctime_coder, mtime_coder,
+       path_coder, size_coder, uid_coder, uname_coder,
+       sparse_numblocks_coder): Likewise.
+
+       * src/create.c (dump_regular_finish, dump_dir0, dump_dir,
+       dump_file0): Now static.
+       * src/utf8.c (charset_lookup): Likewise.
+       * src/xheader.c (xheader_protected_pattern_p,
+       xheader_protected_keyword_p, xheader_set_single_keyword,
+       xheader_keyword_deleted_p, xheader_keyword_override_p,
+       xheader_list_append, xheader_list_destroy, xheader_set_keyword_equal):
+       Likewise.
+       * tests/genfile.c (usage): Likewise.
+       * tests/mksparse.c (die, mkhole, mksparse, usage, xlat_suffix):
+       Likewise.
+
+       * src/create.c (hash_link): Rewrite to avoid cast.
+
+       * src/extract.c (file_newer_p): Use parameter, not global var.
+       * src/misc.c (write_error_details): Likewise.
+
+       * src/extract.c (prepare_to_extract): Remove directory arg; not
+       used.  All callers changed.
+
+       * src/misc.c (close_fatal): Remove; not used.
+       * src/system.c (sys_utimes): Likewise.
+
+       * src/rmt.c (get_string): Avoid buffer overrun (off by 1 error).
+
+       * src/rmt.c (main): Update copyright date to 2004.
+       * src/tar.c (decode_options): Likewise.
+
+       * src/rtapelib.c (get_status_string): Don't lose errno when
+       skipping the error messages.
+       (get_status): Report an error if atol returns a negative number.
+
+       * src/utf8.c (struct langtab, langtab, charset_lookup,
+       get_input_charset) [!defined HAVE_LIBCONV]: Omit unused
+       definitions.
+       (iconv_open, iconv, iconv_close) [!defined HAVE_LIBCONV]:
+       Use macros, not definitions, to avoid type clashes with system
+       headers.
+       (charset_lookup): Local var is now auto, not static.
+       (utf8_convert): Use ICONV_CONST instead of const, to avoid
+       type clashes.
+
+       * src/utf8.c (langtab): Initialize all elements of struct, to
+       avoid gcc warning.
+       * src/xheader.c (xhdr_tab): Likewise.
+
+       * src/xheader.c: Include fnmatch.h, since we use fnmatch.
+
+       * tests/mksparse.c (mkhole): Fix typo: bool was assigned to off_t.
+
+2004-04-04  Sergey Poznyakoff  <gray@Noldor.runasimi.org>
+
+       * NEWS: Updated
+       * configure.ac: Raised version number to 1.13.94
+       * src/system.h: Protect inclusion of <sys/time.h>
+       by ifdef.
+       Declare time() if HAVE_DECL_TIME is 0
+       * tests/.cvsignore: Added mksparse
+
+       * tests/sparse01.sh: New file
+       * tests/multiv02.sh: New file
+       * tests/Makefile.am: Add sparse01.sh and multiv02.sh
+       * tests/longv7.sh: Added missing call to 'after'
+
+       * src/common.h: Added missing prototypes
+       * src/compare.c (diff_archive): Use is_sparse member
+       instead of GNUTYPE_SPARSE.
+       * src/create.c: Removed unused variables
+       * src/extract.c (extract_archive): Use sparse_member_p instead
+       of GNUTYPE_SPARSE.
+       Removed unused variables
+       * src/list.c (decode_header): Use sparse_fixup_header to correct
+       the st_size value.
+       (print_header): Do not rely on GNUTYPE_SPARSE type.
+       Use st->stat.st_size to print real file size.
+       (skip_member): Assign stat_info.file_name to save_name. This fixes
+       bug reported by Mads Martin Joergensen <mmj@suse.de>
+       Use sparse_skip_file() to skip sparse members.
+       * src/rtapelib.c: include "common.h"
+       * src/sparse.c (struct tar_sparse_optab.sparse_member_p)
+       (struct tar_sparse_optab.fixup_header): New member
+       (tar_sparse_member_p): New function.
+       (tar_sparse_init): Return true if decode_header is not provided
+       (tar_sparse_fixup_header)
+       (sparse_member_p,sparse_fixup_header)
+       (sparse_skip_file)
+       (oldgnu_sparse_member_p,oldgnu_fixup_header,star_sparse_member_p)
+       (star_fixup_header, pax_sparse_member_p): New function
+       (pax_decode_header): Remove
+       * src/system.h: Include <sys/time.h> and <utime.h> when available
+       * src/tar.c (usage): Prototype moved to common.h
+       * src/tar.h (struct tar_stat_info.is_sparse): New member
+       * src/utf8.c (utf8_convert): Changed prototype
+       (get_input_charset): Removed unused variable
+       * src/xheader.c: include <fnmatch.h>
+       (size_decoder): Assign to both st->archive_file_size and
+       st->stat.st_size.
+       (st->stat.st_size): Assign to st->stat.st_size
+       (sparse_numbytes_decoder): Removed unused variable
+       * src/.cvsignore: Added .gdbinit
+       * THANKS: Added Mads Martin Joergensen
+
+2004-03-26  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/create.c (write_long_name): Do not allow more than
+       NAME_FIELD_SIZE-1 characters in a file name for V7 format
+       archives.
+       * tests/longv7.sh: New file.
+       * tests/Makefile.am: Add longv7.sh
+
+2004-03-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/buffer.c (open_archive): Clear read_full_records_option
+       if reading from a pipe.
+       (short_read): Display warning about the deduced record size
+       if version > 1
+       * tests/star/pax-big-10g.sh: Updated to match the above changes.
+       * tests/star/ustar-big-2g.sh: Likewise.
+       * tests/star/ustar-big-8g.sh: Likewise.
+
+       * configure.ac: Added gl_FUNC_STRTOULL
+       * src/create.c (start_header): Check for GNU_FORMAT
+       if incremental_option is set.
+       * src/xheader.c (to_decimal): New function.
+       (xheader_format_name): Use to_decimal() instead of snprintf.
+       * tests/listed01.sh: Use genfile instead of dd
+       * tests/multiv01.sh: Likewise.
+
+2004-03-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/list.c (read_and): Stop processing the archive after
+       encountering a single zero record. Many old archives contain
+       arbitrary garbage after it.
+       The warning is issued anyway.
+
+2004-03-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/rtapelib.c (rmt_lseek__,rmt_ioctl__): Bugfix. The
+       conversion buffer was not null terminated. Fix provided
+       by Leland Lucius <llucius@tiny.net>
+       * THANKS: Added Leland Lucius
+       * src/utf8.c (utf8_convert): Indentation fix.
+
+2004-02-29  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/buffer.c (flush_read): Bugfix: the
+       condition at line 714 included
+
+             || (status > 0 && !read_full_records_option)
+
+       which is grossly wrong, since even if new_volume() below succeeds,
+       the subsequent call to rmtread will overwrite the chunk of data
+       already read in the buffer and thus spoil everything.
+       * src/system.c (sys_child_open_for_uncompress): Minor stylistic
+       fix.
+       * tests/star/multi-fail.sh: New test.
+       * tests/Makefile.am: Added multi-fail.sh
+       * tests/star/README: Updated
+
+2004-02-29  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * NEWS: Updated
+       * configure.ac: Removed spurious AC_CHECK_LIB(iconv)
+       * src/common.h (utc_option): new global
+       (enum old_files.KEEP_NEWER_FILES): New element
+       * src/extract.c: Handle --keep-newer-files option
+       * src/list.c (tartime): Print UTC if --utc was given.
+       * src/tar.c: New options: --utc and keep-newer-files
+
+       * tests/Makefile.am: Added new tests
+       * tests/after: Rewritten
+       * tests/before: Rewritten
+       * tests/preset.in: Rewritten
+       * tests/delete03.sh: Accommodate for the new testsuite logic
+       * tests/gzip.sh: Likewise
+       * tests/incremen.sh: Likewise
+       * tests/listed01.sh: Likewise
+       * tests/multiv01.sh: Likewise
+       * tests/old.sh: Likewise
+       * tests/options.sh: Likewise
+       * tests/version.sh: Likewise
+       * tests/volume.sh: Likewise
+
+       * tests/star: New directory
+       * tests/star/README: New file
+       * tests/star/gtarfail.sh: New file
+       * tests/star/gtarfail2.sh: New file
+       * tests/star/pax-big-10g.sh: New file
+       * tests/star/qucktest.sh: New file
+       * tests/star/ustar-big-2g.sh: New file
+       * tests/star/ustar-big-8g.sh: New file
+
+2004-02-26  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/tar.texi (dircategory Individual utilities): Append period,
+       as suggested by Karl Berry.
+
+2004-02-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/list.c (decode_header): Call xheader_decode before
+       the assignment to current_stat_info.archive_file_size.
+
+2004-02-23  Paul Eggert  <eggert@twinsun.com>
+
+       * configure.ac: Invoke AM_ICONV, to define ICONV_CONST if needed.
+
 2004-02-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 2004-02-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
+       1.13.93 released.
+
        * NEWS: Updated
        * tests/before: Move testing of the prerequisite archive formats
        to the separate function 'prereq'. Do not expect any arguments
        * NEWS: Updated
        * tests/before: Move testing of the prerequisite archive formats
        to the separate function 'prereq'. Do not expect any arguments
 
        Added UTF-8 support. Finished global extended header
        support.
 
        Added UTF-8 support. Finished global extended header
        support.
-       
+
        * NEWS: Minor fix
        * configure.ac: Detect libiconv
        * src/utf8.c: New file. Conversions to and from utf-8.
        * NEWS: Minor fix
        * configure.ac: Detect libiconv
        * src/utf8.c: New file. Conversions to and from utf-8.
        missing gettext markers
        (decode_record): Rewritten using caller-provided handler and
        data closure.
        missing gettext markers
        (decode_record): Rewritten using caller-provided handler and
        data closure.
-       * tests/listed01.sh: Give credit to Andreas Schuldei.   
+       * tests/listed01.sh: Give credit to Andreas Schuldei.
 
 2004-02-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 2004-02-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        <andreas@schuldei.org>.
 
        This is due to the condition
        <andreas@schuldei.org>.
 
        This is due to the condition
-     
-          (0 < top_level || !incremental_option) 
+
+         (0 < top_level || !incremental_option)
 
        Removing it makes incremental backups work for individual
        files as well as for directories. On the other hand, it does
 
        Removing it makes incremental backups work for individual
        files as well as for directories. On the other hand, it does
 
              (!incremental_option)
 
 
              (!incremental_option)
 
-        Now, let's consider the effect of its removal. There are two cases:
+       Now, let's consider the effect of its removal. There are two cases:
 
        1) when incremental_option==1
        This means incremental backup in progress. In this case dump_file
 
        1) when incremental_option==1
        This means incremental backup in progress. In this case dump_file
        irrelevant, and its removal won't alter the behavior of tar,
        *except* that it will enable incremental backups on individual
        files, which is the wanted effect.
        irrelevant, and its removal won't alter the behavior of tar,
        *except* that it will enable incremental backups on individual
        files, which is the wanted effect.
-     
-        2) when incremental_option==0
+
+       2) when incremental_option==0
        In this case the condition yields true and its removal does not
        affect the functionality.
 
        In this case the condition yields true and its removal does not
        affect the functionality.
 
        * tests/listed01.sh: New test. Check listed incremental
        backups on individual files.
        * tests/Makefile.am: Added listed01.sh
        * tests/listed01.sh: New test. Check listed incremental
        backups on individual files.
        * tests/Makefile.am: Added listed01.sh
-       
+
 2004-02-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/common.h (simple_finish_header,start_private_header): New
 2004-02-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/common.h (simple_finish_header,start_private_header): New
 
        * src/update.c (update_archive): Write global extended header if
        constructed.
 
        * src/update.c (update_archive): Write global extended header if
        constructed.
-       * src/xheader.c (xheader_format_name): Bugfix. 
+       * src/xheader.c (xheader_format_name): Bugfix.
        (xheader_xhdr_name): Changed the default extended header name
        to '%d/PaxHeaders.%p/%f', as POSIX requires.
        (xheader_ghdr_name): Removed unused argument.
        (xheader_xhdr_name): Changed the default extended header name
        to '%d/PaxHeaders.%p/%f', as POSIX requires.
        (xheader_ghdr_name): Removed unused argument.
        unconditionally.
        * src/list.c (decode_header): Likewise.
        * src/incremen.c (sort_obstack): Fixed typo in the comment
        unconditionally.
        * src/list.c (decode_header): Likewise.
        * src/incremen.c (sort_obstack): Fixed typo in the comment
-       
+
        * doc/tar.texi: Document new default for extended
        header names.
        * doc/tar.texi: Document new default for extended
        header names.
-       
+
        * tests/before: Accept an optional list of allowed archive
        formats. Exit with the status 77 if the current archive
        format does not match any of them.
        * tests/delete03.sh: Require gnu, oldgnu or posix format
        * tests/incremen.sh: Require gnu or oldgnu format
        * tests/multiv01.sh: Likewise
        * tests/before: Accept an optional list of allowed archive
        formats. Exit with the status 77 if the current archive
        format does not match any of them.
        * tests/delete03.sh: Require gnu, oldgnu or posix format
        * tests/incremen.sh: Require gnu or oldgnu format
        * tests/multiv01.sh: Likewise
-       
+
 2004-02-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2004-02-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
-       
+
        * doc/tar.texi (Option Summary): Documented --pax-option
        * src/tar.c: Likewise.
        * NEWS: Likewise.
        * src/create.c (to_chars): Added a comment.
        * src/tar.h: Comment to GNU_FORMAT
        * doc/tar.texi (Option Summary): Documented --pax-option
        * src/tar.c: Likewise.
        * NEWS: Likewise.
        * src/create.c (to_chars): Added a comment.
        * src/tar.h: Comment to GNU_FORMAT
-       
+
 2004-02-18  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * README: Updated
 2004-02-18  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * README: Updated
        * src/tar.c: New option --pax-option (equivalent to -o option
        of pax).
        * src/xheader.c: Implement pax -o option. Fixed misleading
        * src/tar.c: New option --pax-option (equivalent to -o option
        of pax).
        * src/xheader.c: Implement pax -o option. Fixed misleading
-       heading comment (introduced 2003-09-02). 
+       heading comment (introduced 2003-09-02).
        * src/incremen.c: Minor fixes
        * m4/.cvsignore: Updated
        * src/incremen.c: Minor fixes
        * m4/.cvsignore: Updated
-       
+
 2004-02-17  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/incremen.c: Removed accumulator stuff in favor of obstack.
        (get_directory_contents): Split into two functions
        * src/update.c: Minor changes
        * doc/tar.texi: Fixed typo
 2004-02-17  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/incremen.c: Removed accumulator stuff in favor of obstack.
        (get_directory_contents): Split into two functions
        * src/update.c: Minor changes
        * doc/tar.texi: Fixed typo
-       
+
 2004-02-15  Paul Eggert  <eggert@twinsun.com>
 
        Fix Debian bug 230872, originally reported by Jeff King in
 2004-02-15  Paul Eggert  <eggert@twinsun.com>
 
        Fix Debian bug 230872, originally reported by Jeff King in
        * TODO: Updated
        * src/common.h (strip_path_elements): New variable.
        * src/extract.c (extract_archive): Implemented --strip-path
        * TODO: Updated
        * src/common.h (strip_path_elements): New variable.
        * src/extract.c (extract_archive): Implemented --strip-path
-       * src/names.c (cut_path_elements): New functon.
+       * src/names.c (cut_path_elements): New function.
        * src/tar.c: New option --strip-path=NUM.
        (decode_options) Assign boolean values to bool variables.
 
        * src/tar.c: New option --strip-path=NUM.
        (decode_options) Assign boolean values to bool variables.
 
 
 2003-09-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 2003-09-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
-        * src/create.c (start_header): Store long file names
-        in "path" keyword of an extended header if in POSIX
-        mode.
-        (finish_header): print header before calling write_extended().
-        * src/list.c (list_archive): Always decode the header. This
-        is necessary so the extended header is processed and the correct
-        filename is printed no matter what the state of verbose_option.
-        * src/xheader.c (xhdr_tab): Reserved GNU keywords (commented out
-        for the time being).
+       * src/create.c (start_header): Store long file names
+       in "path" keyword of an extended header if in POSIX
+       mode.
+       (finish_header): print header before calling write_extended().
+       * src/list.c (list_archive): Always decode the header. This
+       is necessary so the extended header is processed and the correct
+       filename is printed no matter what the state of verbose_option.
+       * src/xheader.c (xhdr_tab): Reserved GNU keywords (commented out
+       for the time being).
 
 2003-09-01  Paul Eggert  <eggert@twinsun.com>
 
 
 2003-09-01  Paul Eggert  <eggert@twinsun.com>
 
        * m4/mbstate_t.m4: Include stdio.h before wchar.h, to work around
        a bug in glibc 2.1.3.
 
        * m4/mbstate_t.m4: Include stdio.h before wchar.h, to work around
        a bug in glibc 2.1.3.
 
-       * lib/xmalloc.c: Fix inaccorate comment for xrealloc.
+       * lib/xmalloc.c: Fix inaccurate comment for xrealloc.
 
 2000-06-19  Paul Eggert  <eggert@twinsun.com>
 
 
 2000-06-19  Paul Eggert  <eggert@twinsun.com>
 
 See ChangeLog.1 for earlier changes.
 
 
 See ChangeLog.1 for earlier changes.
 
 
-
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software
-Foundation, Inc.
+\f
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
+Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
 
 This file is part of GNU tar.
 
@@ -4752,5 +7178,10 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU tar; see the file COPYING.  If not, write to
 
 You should have received a copy of the GNU General Public License
 along with GNU tar; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
+\f
+Local Variables:
+mode: change-log
+version-control: never
+End:
This page took 0.0698220000000001 seconds and 4 git commands to generate.