]> Dogcows Code - chaz/tar/blobdiff - ChangeLog
Merge recent gnulib changes, and remove some lint.
[chaz/tar] / ChangeLog
index af6888b6083d3683b3351de34ffac69ea4db9c55..c85ad8c398e5439250131fd0ac540e284891cbba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,864 @@
+2004-04-04  Paul Eggert  <eggert@twinsun.com>
+
+       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: Accomodate 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>
+
+       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
+       * tests/delete03.sh: Use prereq() instead of passing arguments
+       to 'before'.
+       * tests/incremen.sh: Likewise.
+       * tests/listed01.sh: Likewise.
+       * tests/multiv01.sh: Likewise.
+
+2004-02-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       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.
+       * src/Makefile.am: Added utf8.c
+       * src/create.c (write_header_name) In pax format, use
+       "path" keyword if the file name is not ASCII
+       (start_header): Likewise for uname and gname.
+       * src/list.c: Decode encountered global headers.
+       * src/xheader.c: Use keywords from the global
+       headers.
+       Correctly handle UTF-8 conversions.
+       (xheader_list_destroy): New function.
+       (xheader_set_single_keyword,xheader_set_keyword_equal): Added
+       missing gettext markers
+       (decode_record): Rewritten using caller-provided handler and
+       data closure.
+       * tests/listed01.sh: Give credit to Andreas Schuldei.
+
+2004-02-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/create.c (dump_file0): The conditional at line
+       1296 prevented incremental backups on individual files
+       from working, as reported by Andreas Schuldei
+       <andreas@schuldei.org>.
+
+       This is due to the condition
+
+         (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
+       not affect other functionality, as shown by the reasoning below:
+
+       To begin with, the two parts of this condition are mutually
+       superfluous, because
+
+         1) when top_level < 0, incremental_option == 1
+         so the condition yields false
+         2) when top_level >= 0, incremental_option == 0
+         so the condition yields true.
+
+       In other words, it is completely equivalent to
+
+             (!incremental_option)
+
+       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
+       is invoked only for directories or for files marked with 'Y' by
+       get_directory_contents. The latter are those that did not meet the
+       condition in incremen.c:242, which is exactly the same condition
+       as this at create.c:1296. So, for these files the check
+       (!incremental_option) is useless, since the rest of the
+       conditional will yield false anyway. On the other hand, if
+       dump_file is invoked on a directory, the conditional will yield
+       false due to !S_ISDIR assertion, so these will be processed as usual.
+
+       Thus, for this case the extra condition (!incremental_option) is
+       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
+       In this case the condition yields true and its removal does not
+       affect the functionality.
+
+       * THANKS: Updated
+       * configure.ac: Raised patchlevel to 93
+       * src/incremen.c: Minor stylistic fixes.
+       * 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
+       declarations
+       (xheader_ghdr_name): Changed declaration
+       * src/create.c (start_private_header): Removed static qualifier.
+       (write_extended): Removed superfluous last argument. Use
+       xheader_write()
+       (simple_finish_header): New function.
+       (finish_header): Use simple_finish_header() to break recursive
+       dependency between this function and write_extended().
+       * src/tar.c (assert_format): Do not bail out if several
+       --format arguments are given. This is a common case when
+       TAR_OPTIONS are used.
+       (decode_options): New option --show-defaults displays the
+       compiled-in defaults.
+       Use POSIX format if no --format option was given and
+       --pax-option was specified.
+       Do not allow to use --pax-option unless the archive format is
+       set to POSIX (or reading subcommand is requested).
+
+       * src/update.c (update_archive): Write global extended header if
+       constructed.
+       * 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_write,xheader_write_global): New function.
+       (xheader_decode): Modified to honor overrides whatever
+       the current archive format is.
+
+       * src/delete.c (delete_archive_members): Call xheader_decode
+       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.
+
+       * 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>
+
+       * 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
+       * configure.ac: Added stpcpy
+       * bootstrap: Likewise
+       * lib/Makefile.am: Likewise
+       * src/common.h (xheader_xhdr_name,xheader_ghdr_name): New
+       functions
+       * src/create.c (write_extended): Call xheader_xhdr_name
+       instead of using hardcoded "././@PaxHeader" name.
+       * 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).
+       * 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-15  Paul Eggert  <eggert@twinsun.com>
+
+       Fix Debian bug 230872, originally reported by Jeff King in
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=230872>.
+
+       * doc/tar.texi (posix compliance): Remove.  The whole section
+       was a misunderstanding of what POSIXLY_CORRECT is supposed to
+       mean.  The GNU Coding Standards says that POSIXLY_CORRECT
+       is for disabling extensions that are incompatible with POSIX:
+       it is not for disabling compatible extensions.  All references
+       to this section removed.
+       (posix): This format is created only if the posix format is
+       specified; it is no longer created if gnu format is specified
+       and POSIXLY_CORRECT is set.
+       * src/tar.c (decode_options): Ignore POSIXLY_CORRECT.
+       POSIX does not specify the behavior of tar, so we should
+       not worry about POSIXLY_CORRECT here.
+
+2004-01-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * Makefile.am: Removed m4
+       * configure.ac: Require automake-1.8/autoconf-2.59. Removed
+       m4/Makefile.
+       * README-alpha: Updated
+       * bootstrap: Updated TP URL, improved help output. Default
+       to :ext:anoncvs and set CVS_RSH, unless already set.
+       * m4/Makefile.am: Removed
+
+2004-01-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Bugfix by Marco Gerards <metgerards@student.han.nl>:
+       Use $option instead of $1 so all options will be parsed.
+
+2004-01-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Started rewriting buffer.c ...
+
+       * bootstrap: New option --no-po
+       * src/buffer.c (new_volume,check_label_pattern): Changed return type.
+       (time_to_start_writing): Changed data type
+       (file_to_switch_to): Removed. Variable never assigned to.
+       (open_archive) Moved option compatibility checks to tar.c
+       Other minor changes.
+       * src/common.h (maybe_backup_file): Changed return type
+       * src/misc.c: Likewise.
+       * src/create.c: Updated invocations of safer_name_suffix
+       * src/extract.c: Likewise
+       * src/delete.c: Updated assignment to write_archive_to_stdout
+       * src/tar.c (decode_options): More option compatibility checks
+       (moved from buffer.c)
+       * src/update.c (time_to_start_writing): Changed data type.
+       * tests/recurse.sh: New test case.
+       * tests/mksparse.c: New file.
+       * tests/Makefile.am: Added recurse.sh and mksparse.c
+
+2004-01-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c (sparse_diff_file): Bugfix. Thanks
+       Martin Simmons for the patch.
+       * src/create.c (dump_dir0): Bugfix. Thanks Piotr Czerwinski
+       <pius@pld-linux.org> for the patch.
+
+2003-12-26  Paul Eggert  <eggert@twinsun.com>
+
+       Synchronize with Gettext 0.13.1, Automake 1.8, Autoconf 2.59,
+       and translation website.
+
+       * bootstrap: Don't bother skipping codeset.m4, glibc21.m4,
+       intdiv0.m4, inttypes_h.m4, inttypes.m4, inttypes-pri.m4,
+       isc-posix.m4, and lcmessage.m4 from gnulib.  This list of files is
+       a bit obsolete anyway, now that gettext 0.13.1 is out.  Also, the
+       files are replaced by autoreconf.  Also, there seems to be a bug
+       in gettext/autoconf/automake if we try to omit these files after
+       autoreconf has replaced them, even though the gettext manual says
+       they're optional.  So give up and just include them for now, even
+       though they make 'configure' longer and slower.
+
+       Change translation URL from
+       <http://www.iro.umontreal.ca/contrib/po/maint/tar/> to
+       <http://www2.iro.umontreal.ca/~gnutra/po/maint/tar/> to
+       accommodate translator website revamp.
+
+       Fail if autoreconf fails.
+
+       * m4/.cvsignore: Add intmax.m4, longdouble.m4, printf-posix.m4,
+       signed.m4, size_max.m4, wchar_t.m4, wint_t.m4, xsize.m4, to
+       ignore files now supplied by gettext 0.13.1.
+
+2003-12-25  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Synchronized with the backup repository on Mirddin
+
+2003-12-19  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Check for varios members of struct stat
+       that may represent file modification times with a subsecond
+       precision.
+       Check for utimes (for future use)
+       * src/buffer.c (short_read): Issue a warning on short reads.
+       * src/common.h (sys_stat_nanoseconds): New function
+       * src/create.c (dump_file0): Use sys_stat_nanoseconds().
+       * src/list.c (read_and): Treat only two successive zero
+       filled blocks as an EOF indicator. Issue a warning if
+       a single one is encountered.
+       * src/system.c (sys_stat_nanoseconds): New function
+       * src/tar.h (tar_stat_info.atime_nsec,mtime_nsec,ctime_nsec): New
+       members.
+       * src/xheader.c (code_time,decode_time): Support for subsecond
+       precision.
+       (atime_coder,atime_decoder,ctime_coder,ctime_decoder)
+       (mtime_coder,mtime_decoder): Update invocations of code_time and
+       decode_time.
+       (gid_decoder,size_decoder,uid_decoder,sparse_size_decoder)
+       (sparse_numblocks_decoder,sparse_offset_decoder)
+       (sparse_numbytes_decoder): Updated
+
+2003-12-18  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/names.c (safer_name_suffix): Reverted change made
+       2003-11-14. Reason: Discussion with Paul Eggert and
+       Jean-Louis Martineau. See also ChangeLog entry from
+       1999-08-14.
+       * tests/delete03.sh: Likewise.
+       * tests/extrac04.sh: Likewise.
+       * tests/multiv01.sh: Likewise.
+
+2003-12-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/incremen.c (write_directory_file): Use sys_truncate
+       * src/list.c (print_header): Use archive_file_size member
+       when printing real file size.
+       * src/sparse.c (sparse_scan_file): Correctly handle files with
+       a hole at the end.
+       (sparse_dump_region,sparse_extract_region): Allow for zero size
+       trailing blocks
+
+2003-12-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Raised version number to 1.13.92
+       * src/list.c (decode_header): Discern between pax and ustar
+       formats
+       Initialize current_stat_info.archive_file_size.
+
+       NOTE: Modifications from this date on are temporarily
+       stored on local CVS on mirddin. This repository will
+       be synchronized with Savannah as soon as the latter
+       becomes operational again.
+
+2003-12-01  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * TODO: Updated
+       * src/sparse.c: Initial implementation of GNU/pax sparse
+       file format.
+       * src/common.h (xheader_store): Changed prototype.
+       * src/create.c: Update calls to xheader_store
+       * src/extract.c (extract_archive): Check reported size vs.
+       archive file size to determine if we have to do with a
+       sparse file.
+       * src/tar.c (usage): Cleaned up the sample argument to --newer
+       option.
+       (decode_options): Allow --sparse for POSIX_FORMAT archives.
+       * src/xheader.c (struct xhdr_tab.coder; all coder function): Added
+       extra argument
+       Implemented GNU.sparse.* keywords.
+
+2003-11-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Check for setlocale. Thanks Bruno Haible for
+       reporting.
+
+2003-11-25  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/create.c (write_gnu_long_link): Use oldgnu
+       magic with @LongLink blocks.
+
+2003-11-17  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.h: Support for star sparse format.
+       * src/sparse.c: Likewise.
+
+2003-11-17  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c (sparse_diff_file): New function
+       * src/common.h (sys_compare_uid,sys_compare_gid): New functions
+       (sys_compare_uid_gid): Removed.
+       (sys_compare_links,report_difference): Changed prototype
+       (sparse_diff_file): New function
+       * src/system.c (sys_compare_uid,sys_compare_gid): New functions
+       (sys_compare_uid_gid): Removed.
+       (sys_compare_links): Changed declaration
+       * src/compare.c (diff_archive): Use sparse_diff_file.
+
+2003-11-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Rewritten sparse file handling.
+
+       * src/sparse.c: New file. Provides a universal framework
+       for various methods for sparse files handling.
+       * src/Makefile.am: Added sparse.c
+       * src/common.h (struct sp_array,sparsearray,sp_array_size)
+       (init_sparsearray,fill_in_sparse_array): Removed
+       (enum dump_status): New data type
+       (pad_archive,close_diag,open_diag,read_diag_details)
+       (readlink_diag,savedir_diag,seek_diag_details,stat_diag): New
+       functions.
+       (sparse_file_p,sparse_dump_file,sparse_extract_file): New
+       functions.
+       (print_header): Changed prototype declaration.
+       * src/tar.h (struct sp_array): Declaration from common.h
+       (struct tar_stat_info): New members archive_file_size,
+       sparse_map_avail,sparse_map.
+       * src/create.c: Major rewrite.
+       * src/extract.c: Use new sparse file interface.
+       * src/compare.c (diff_sparse_files): Temporary placeholder.
+
+       * src/buffer.c: Minor changes
+       * src/tar.c: Likewise.
+       * src/list.c: Likewise.
+       * src/misc.c (close_diag,open_diag,read_diag_details)
+       (readlink_diag,savedir_diag,seek_diag_details,stat_diag): New
+       diagnostics functions.
+       * src/incremen.c: Use new diagnostics functions.
+       * src/names.c: Likewise.
+
+2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Fixed check for setsockopt
+
+       * src/create.c: Do not zero-terminate name field if
+       the name is exactly 100 characters long.
+       (write_ustar_long_name): Fixed cheking for unsplittable
+       names.
+
+2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/create.c (start_header): Removed debugging hook
+       (dump_file): Fixed handling of linkname field.
+       * src/names.c (safer_name_suffix): If the input
+       file name ends with a slash, output one should do so
+       as well.
+       * doc/tar.texi: Documented --format=ustar
+
+2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.h (archive_format): USTAR_FORMAT: New type.
+       * src/create.c: Added POSIX.1-1988 support.
+       * src/names.c (safer_name_suffix): Skip leading ./
+       * src/tar.c: New option --format=ustar forces
+       POSIX.1-1988 archive format.
+       * tests/delete03.sh: Updated.
+       * tests/extrac04.sh: Updated.
+       * tests/multiv01.sh: Updated.
+
+2003-11-13  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/list.c (read_and): Initialize current_stat_info
+       and extended_header at the start of the loop.
+       * src/names.c (all_names_found): Check if the argument
+       contains valid filename. Fixes coredump on `not_a_tar_file'
+       * src/xheader.c (atime_decoder,gid_decoder,ctime_decoder)
+       (mtime_decoder,size_decoder,uid_decoder): Use xstrtoumax.
+       Fixes `pax-big-10g' bug.
+
+2003-11-12  Paul Eggert  <eggert@twinsun.com>
+
+       Fix some C compatibility bugs reported by Joerg Schilling.
+
+       * src/common.h (stripped_prefix_len): Fix misspelling
+       "stripped_path_len" in declaration.
+       * src/rmt.c (main): Use "return FOO;" rather than
+       "exit (FOO);"; we no longer have to worry about
+       pre-ANSI hosts that mishandled returned values from "main".
+       * src/tar.c (main): Likewise.  This avoids warnings on some
+       compilers.
+       * src/system.c: Include signal.h, for 'kill'.
+       * src/system.h (DEV_BSIZE): Remove.
+       (DEFAULT_ST_BLKSIZE): New macro.
+       (ST_BLKSIZE): Use it, instead of DEV_BSIZE.
+       * src/tar.c (enum): Remove comma just before }.
+
+2003-11-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/list.c (decode_header): Initialize st_atime and
+       st_ctime.
+
+2003-11-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac (tar_save_LIBS): Bugfix. Thanks Adrian
+       Bunk <bunk@fs.tum.de> for reporting.
+       * doc/tar.texi: Fixed spelling. Thanks Martin Buchholz
+       <martin@xemacs.org> for spotting.
+
+2003-11-04  Paul Eggert  <eggert@twinsun.com>
+
+       * src/xheader.c (xhdr_tab): Make it extern, not static, as C89 and
+       C99 require this.
+
+2003-10-26  Paul Eggert  <eggert@twinsun.com>
+
+       * src/system.c (sys_spawn_shell): Cast trailing null to (char *).
+       Bug reported by Christian Weisgerber.
+
+2003-10-19  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * AUTHORS: Updated
+       * NEWS: Updated
+       * src/tar.c (decode_options): Removed superfluous archive format
+       check
+       * doc/tar.texi: Documented new features.
+
+2003-10-08  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * NEWS: Updated
+       * THANKS: Added Wojciech Polak
+       * configure.ac: Added checks for missing functions. Raised
+       version number to indicate alpha release.
+       * lib/Makefile.am: Added missing headers
+       * lib/waitpid.c: Added missing includes.
+       * src/extract.c: Likewise.
+       * src/names.c: Removed spurious includes.
+       * src/xheader.c: Likewise.
+       * src/system.h [MSDOS]: Fixed spelling of EACCES. Added
+       macro overriding broken mkdir prototypes.
+
+2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * configure.ac: Check for dev_t and ino_t.
+       * m4/Makefile.am: Added missing files.
+       * src/system.c: New file.
+       * src/Makefile.am: Added system.c
+       * src/common.h: Prototypes for functions from system.c
+       * src/system.h (SET_BINARY_MODE, ERRNO_IS_EACCESS): New defines
+       * src/buffer.c: Moved system dependencies to system.c
+       * src/compare.c: Likewise.
+       * src/create.c: Likewise.
+       * src/delete.c: Likewise.
+       * src/extract.c: Likewise.
+       * src/rtapelib.c: Likewise.
+
+2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Implemented --occurrence option.
+
+       * NEWS: Updated.
+       * src/tar.c: New option --occurrence.
+       * src/common.h (occurrence_option): New global
+       (struct name): Changed `found' member to `uintmax_t
+       found_count'.
+       (names_done): Removed
+       (all_names_found): Changed prototype.
+       (ISFOUND,WASFOUND): New macros
+       * src/delete.c (delete_archive_members): Honor --occurrence
+       option.
+       * src/list.c (read_and): Likewise.
+       * src/names.c: Count number of occurrences of each name in the
+       archive.
+       (name_match): Honor --occurrence option.
+       (names_done): Removed
+       (all_names_found,names_notfound): Rewritten.
+
+2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/tar.c: Removed extra precaution regarding
+       subcommand_option == CAT_SUBCOMMAND
+       * lib/Makefile.am: Updated
+
+2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/common.h (names_done): New function.
+       * src/names.c: Likewise.
+       * src/list.c (read_and): Use all_names_found() as `while'
+       condition.
+       * src/tar.c: New option --first-copy
+       * NEWS: Updated
+
+2003-09-24  Paul Eggert  <eggert@twinsun.com>
+
+       * src/rmt.c (main): Don't translate Copyright string; international
+       law says the word "Copyright" should be in English.
+       * src/tar.c (decode_options): Likewise.
+
 2003-09-22  Paul Eggert  <eggert@twinsun.com>
 
        * doc/tar.texi (extracting untrusted archives): New section.
 
 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>
 
 See ChangeLog.1 for earlier changes.
 
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003 Free Software Foundation,
-Inc.
+
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software
+Foundation, Inc.
 
 This file is part of GNU tar.
 
This page took 0.039356 seconds and 4 git commands to generate.