+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 statemente
+ * 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
* 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/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
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.
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>
<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
(!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
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.
* 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
* 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.
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
* 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
-
+
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
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.
-
+\f
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software
Foundation, Inc.
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.
+\f
+Local Variables:
+mode: change-log
+version-control: never
+End: