]> Dogcows Code - chaz/tar/blobdiff - ChangeLog
* bootstrap: Redo po file retrieval to match Bison's method,
[chaz/tar] / ChangeLog
index 728052fe1c56caae20d36129bee4f79d26dbe9a0..7d24603876146fca6edac904f8b0550978e4b367 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,442 @@
+2006-08-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap: Redo po file retrieval to match Bison's method,
+       since the translation project changed its index format.
+       Don't use --assume-autoconf; it's now replaced
+       by looking in configure.ac.
+       (m4/codeset.m4, m4/intdiv.m4, m4/inttypes-pri.m4, m4/isc-posix.m4):
+       (m4/lcmessage.m4, m4/onceonly_2_57.m4, m4/gettext.m4, m4/glibc21.m4):
+       (m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-prefix.m4, m4/po.m4):
+       (m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4):
+       Don't rename to ..._gl.m4, as this is no longer needed.
+       (m4/geteext.m4): Patch to remove the need for intl/*.
+       Use autopoint manually, then remove the intl files,
+       then undo changes to gnulib files that autoreconf made,
+       and then run aclocal/autoconf/autoheader/automake.
+       This makes our bootstrap procedure closer to Bison's.
+       (po/Makevars): Generate automatically.
+       * configure.ac (AC_PREREQ): Update from 2.59 to 2.60.
+       (gl_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T): Remove.
+       * gnulib.modules: Add inttypes, stdint.
+       * lib/.cvsignore: Add close-stream.c, close-stream.h,
+       stdint.h, stdint_.h.
+       * po/Makefile: Remove; now automatically generated.
+
+       * src/incremen.c (read_incr_db_01): Check input strings more
+       carefully.  Do not pass arbitrary char values to isspace, as
+       this has undefined behavior.  Likewise for assigning arbitrary
+       uintmax_t values to other types.
+       (read_negative_num, read_unsigned_num, read_timespec):
+       New functions, to check input values a bit more carefuly.
+       (read_num): Use read_unsigned_num.  New arg MAX_VAL;
+       all callers changed.
+       (read_incr_db_2): Use these new functions.
+       Use a consistent diagnostic for unexpected EOF.
+       (read_directory_file): Do not assign arbitrary uintmax_t value
+       to int.
+       (read_timespec, write_directory_file_entry, write_directory_file):
+       Handle negative time_t values correctly.  We don't bother to do
+       this with pre-2 formats, since presumably the time stamps were
+       output incorrectly.
+
+       * src/tar.c (doc): Don't use \v in an argument to gettext;
+       gettext 0.15 rejects this.
+
+2006-07-24  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/tar.c (decode_options): Do not require -L with -M -Hpax.
+       It could be needed in future, but currently it is not.
+       * src/create.c (to_chars_subst): Update comment regarding OLDGNU
+       vs. GNU format differences.
+       (mode_to_chars): Treat OLDGNU_FORMAT same as GNU_FORMAT. Fixes bug
+       reported by TAMUKI Shoichi <tamuki@linet.gr.jp>, which caused
+       equivalent `tar cf ...' and `tar rf ...' commands to produce
+       different archives.
+
+       * tests/append02.at: New test case
+       * tests/Makefile.am, tests/testsuite.at: Add append02.at
+
+2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap: Adjust to today's change to gnulib-tool by invoking
+       it with --assume-autoconf='latest-stable'.
+
+2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to recent gnulib changes.
+       * lib/.cvsignore: Remove atexit.c, exit.c, getndelim2.c, getndelim2.h,
+       pathmax.h, paxconvert.c, paxerror.h, xstrdup.c.
+       Add inttypes.h, mktime.c, wcwidth.h, xstrndup.c, xstrndup.h.
+       * src/create.c (start_header): Adjust to API change to mode_adjust.
+
+2006-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * THANKS: Add Ralf Wildenhues
+       * NEWS: Update
+
+2006-07-09  Ralf Wildenhues   <Ralf.Wildenhues@gmx.de>
+
+       * doc/dumpdir.texi, doc/snapshot.texi, doc/sparse.texi,
+        doc/tar.texi: Fix some typos.
+
+2006-07-06  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       tar --index-file=FILE --file=- sent the archive to FILE, and
+       the listing to stderr. Bug reported by Marcin Gryszkalis
+       <mg@fork.pl>
+
+       * src/buffer.c (_open_archive): Remove stdlis initialization
+       * src/tar.c (decode_options): Initialize stdlis
+       * tests/indexfile.at: New test case
+       * tests/testsuite.at: Include indexfile.at
+       * tests/Makefile.am (TESTSUITE_AT): Add indexfile.at
+
+2006-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/Makefile.am (manual): Fix TEXINPUTS
+       * doc/rendition.texi (FIXME): Do not use deprecated @quote-args.
+       Do not use @allow-recursion. In its current form the macro is not
+       recursive.
+
+2006-07-03  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * bootstrap (update_po): Fix single translation update
+
+2006-07-03  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * configure.ac (AC_CHECK_FUNCS): Check for getdtablesize
+       * src/common.h (closeopen): New function
+       * src/misc.c (chdir_arg): Use x2nrealloc to reallocate wd.
+       (get_max_open_files,closeopen): New functions
+       (chdir_do): Do not use save_cwd if it was already used more than
+       max_open_files-4 times to avoid running off the file
+       descriptors.
+       * src/tar.c (main): Call closeopen
+       * doc/tar.texi: Update --directory description
+       * NEWS: Update
+
+2006-06-26  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Update. Add cross-references.
+       * doc/sparse.texi: Add cross-references.
+
+2006-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * scripts/xsparse.c: A sample utility to expand sparse files
+       extracted by third-party tars. It is not meant to be installed nor
+       to be included in the distribution. It is here, so that it can be
+       obtained either from CVS or from the tar web site.
+       * doc/Makefile.am (tar_TEXINFOS): Sorted
+       * doc/tar.texi (Other Tars): New node describing how to extract
+       GNU-specific member formats using third-party tars.
+       * src/common.h (sparse_file_p): Remove
+       * src/sparse.c: Likewise
+       * src/create.c: Use ST_IS_SPARSE instead of sparse_file_p (update
+       paxutils first)
+       * src/tar.c: --sparse-version turns on --sparse
+
+2006-06-24  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/buffer.c (print_total_stats): Add default case.
+       * src/common.h (name_init): New prototype.
+       (xheader_string_end): Return bool.
+       * src/extract.c (extract_volhdr): Add missing return
+       * src/incremen.c: Remove not used variables
+       * src/sparse.c (pax_dump_header_0): Return false if
+       xheader_string_end fails (for 0.1 formats).
+       (pax_dump_header): Return meaningful value
+       * src/transform.c (segm_count): Change type to size_t
+       * src/xheader.c (xhdr_tab.decoder): pass keyword as a second
+       argument. All callers changed.
+       (decode_record): Check for numeric overflow
+       (xheader_string_end): Return boolean value. Check for possible
+       numeric overflow
+
+2006-06-23  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/sparse.texi: New file
+       * doc/Makefile.am (tar_TEXINFOS): Add sparse.texi
+       * doc/intern.texi (Sparse Formats): New node
+       * doc/tar.texi: Update master menu
+
+       * src/common.h (tar_sparse_major,tar_sparse_minor): New globals.
+       * src/sparse.c: Implement sparse format versioning. Implement new
+       version (1.0) of PAX sparse format.
+       (pax_sparse_member_p): Fix condition
+       (pax_dump_header): A dispatcher function
+       (pax_dump_header_0,pax_dump_header_1): New functions.
+       (pax_optab): Update
+       (oldgnu_dump_header): Minor fix: make sure
+       sparse_header.isextended is set before calling
+       set_next_block_after
+       * src/tar.c: New option --sparse-version
+       * src/tar.h (struct tar_stat_info.sparse_major,sparse_minor): New
+       members.
+       * src/xheader.c: Implement new keywords: GNU.sparse.name,
+       GNU.sparse.major, GNU.sparse.minor, GNU.sparse.realsize
+
+       * tests/spmpv00.at, tests/spmvp01.at, tests/spmvp10.at: New
+       testcases.
+
+       * tests/Makefile.am: Add spmvp00.at, spmpv01.at, spmpv10.at
+       * tests/shortrec.at: Explicitely give `-f -' to the tar invocation
+       * tests/sparsemvp.at: Rewritten as an include file.
+       (TAR_MVP_TEST): New macro
+       * tests/testsuite.at: Include sparsemvp.at, spmvp00.at,
+       spmvp01.at, spmvp10.at
+
+2006-06-21  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi (Overriding File Metadata): New node
+       Document --mtime option.
+       * src/common.h (set_mtime_option,mtime_option): New globals
+       * src/create.c (start_header): Override mtime if requested
+       * src/tar.c: Implement new option, --mtime, allowing to set
+       modification times for all archive members during creation.
+       (struct tar_args): textual_date_option replaced with a linked list
+       textual_date. All references updated.
+       (get_date_or_file,report_textual_dates): New functions.
+       * configure.ac: Raise version number to 1.15.92
+       * NEWS: Update
+
+2006-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/common.h (struct name.explicit): Remove
+       Use variable names in all declarations
+       (name_scan): Remove second argument
+       * src/delete.c: Remove second argument from calls to name_scan
+       * src/update.c: Likewise
+       * src/incremen.c (procdir): Use is_individual_file to check for
+       files explicitely specified in the command line. Fixes bug
+       reported by Dat Head on 19 Jun 2006 (descending into mountpoints
+       with --one-file-system in use)
+       * src/misc.c (maybe_backup_file): Second argument is bool
+       * src/names.c (name_next_elt): Call register_individual_file
+       (namelist_match): Remove third argument
+       (name_match): Change return type to bool
+       (name_scan): Remove second argument
+       * src/sparse.c (pax_dump_header): Store original sparse file name
+       in GNU.sparse.name variable. The name field in the ustar header
+       now contains generated name (%d/GNUSparseFile.%p/%f), so that
+       non-pax-aware tars won't extract the file under the original
+       filename.
+       * src/xheader.c (GNU.sparse.name): New variable for storing sparse
+       file name.
+
+2006-06-13  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/Makefile.am (check-options): Expand macros before grepping
+       in $(info_TEXINFOS)
+       * doc/rendition.texi (FIXME) [!PROOF_FOOTNOTED]: Enclose in a
+       cartouche
+       * doc/tar.texi: Define op as codeindex. Use special macros to
+       populate it
+       Consequently prefer @dfn{long options} over @dfn{mnemonic
+       options}.
+       Document --unquote, --no-unquote
+       (Short Option Summary): Build a table of cross-references to the
+       corresponding long options.
+       (Using Multiple Tapes,Multi-Volume Archives): Rewritten
+
+       * doc/value.texi (xopindex,opsummary): New macros
+
+       * doc/Makefile.am (check-options): New goal
+       * doc/tar.texi: Update
+       * src/tar.c: Implement --overwrite-dir option (long ago
+       documented).
+
+2006-06-12  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Document better the --totals option
+       * NEWS: Update
+       * src/buffer.c (total_blocks_deleted): New variable
+       (set_start_time): Set volume_start_time and last_stat_time as well
+       (set_volume_start_time): New function
+       (compute_duration): Do not call set_start_time, update
+       last_stat_time instead. Use it in calculation instead of
+       start_time, which is now set only once, upon startup.
+       (print_total_written): Removed.
+       (print_total_stats): New function for printing byte/speed statistics.
+       (_open_archive): Detect attempts to update compressed archives.
+       (_gnu_flush_write): Always update prev_written.
+       (open_archive): Call set_volume_start_time.
+       * src/common.h (volume_start_time,last_stat_time): New globals
+       (print_total_written): Replaced with:
+       (print_total_stats): New function
+       * src/delete.c (records_skipped): Remove static qualifier, the
+       variable is used by print_total_stats in buffer.c
+       * src/extract.c (check_time): Use volume_start_time when checking
+       for timestamp plausability.
+       * src/tar.c: (options, parse_opt): Allow for optional argument to
+       the --totals option, which specifies a signal upon delivery of which
+       the statistics must be output.
+       (main): Call print_total_stats if total_option is set.
+
+2006-06-11  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/xheader.c (xheader_set_single_keyword): Fix typo.
+       (decode_time): Avoid using gotos.
+
+       * doc/mastermenu.el: New file
+       * doc/Makefile.am (master-menu): New goal
+       * doc/tar.texi: Update master menu
+
+2006-06-10  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Remove leftover include
+
+2006-06-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/Makefile.am (tar_TEXINFOS): Add intern.texi
+       (EXTRA_DIST): Remove convtexi.pl, add texify.sed
+       * doc/intern.texi: New file
+       * doc/convtexi.pl: Remove
+       * doc/texify.sed: Auxiliary script to convert ../src/tar.h to
+       header.texi
+       * doc/rendition.texi: Fix typo
+       * doc/tar.texi: Update
+       * src/tar.h: Fix indentation, introduce end-of-format marker for
+       texify.sed
+
+       * THANKS: Add Jason Armistead
+       * doc/tar.texi: Update
+       * NEWS: Update
+       * src/buffer.c: Implement more flexible checkpoint style
+       * src/common.h (checkpoint_option): Change type to unsigned
+       (checkpoint_style): New variable.
+       * src/tar.c: --checkpoint takes an optional argument specifying
+       number of records between two successive checkpoints (proposed
+       by Jason Armistead on 2004-06-22).  Optional dot starting the
+       argument means "print dots instead of textual checkpoints".
+       (tar_help): New function
+       * src/transform.c: Minor fixes.
+
+2006-06-08  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * gnulib.modules: Add mkdtemp
+       * doc/dumpdir.texi: New file
+       * doc/Makefile.am (tar_TEXINFOS): Add dumpdir.texi
+       * doc/tar.texi: Document dumpdir format
+       * src/incremen.c (dumpdir_locate,obstack_code_rename):
+       (purge_directory): Re-implement renaming. Introduce
+       'X' control code.
+       (make_tmp_dir_name): Remove
+
+       * src/transform.c (set_transform_expr,_transform_name_to_obstack):
+       Implement NUMBER flag.
+       (add_char_segment): Fix length assignement
+
+       * doc/tar.texi: Update
+
+2006-06-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/transform.c (transform_name_fp): Run fun even if
+       _transform_name_to_obstack returns false.
+       (_transform_name_to_obstack,set_transform_expr): Implement GNU
+       extension case conversion operations.
+
+       * doc/tar.texi (transform): Document the option.
+
+2006-06-02  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * NEWS: Update
+       * src/common.h (set_transform_expr): New function
+       * tests/Makefile.am: Add incr04.at
+       * tests/testsuite.at: Likewise
+       * tests/incr04.at: New test case
+       * tests/long01.at: Fix typo in the comment
+       * tests/multiv04.at: Use genfile --files-from
+
+       (Above changes need new genfile.c from paxutils)
+
+       * TODO: Update
+       * NEWS: Update
+       * doc/tar.texi: Update
+       * src/transform.c: New file
+       * src/Makefile.am (tar_SOURCES): New module transform.c
+       * src/common.h (transform_name, transform_name_fp): New functions
+       (show_stored_names_option): Renamed to
+       show_transformed_names_option. All uses changed
+       * src/create.c (dump_file0): Transform file name
+       * src/extract.c (extract_archive): safer_name_suffix and
+       stripped_prefix_len are now called by decode_header
+       * src/list.c (print_header): Update displayable name selection.
+       * src/tar.c: New option --transform
+       New option --show-transformed-names generalizes
+       --show-stored-names. The latter is retained as an alias.
+
+2006-05-31  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/incremen.c (make_directory): Fix initialization of struct
+       directory.
+
+2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Document use of globbing patterns.
+       * src/tar.c (parse_opt): Add comment before --preserve case.
+
+2006-05-24  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * NEWS: Update
+       * doc/tar.texi: Update
+       * configure.ac (AM_INIT_AUTOMAKE): Use tar-ustar option. Raise
+       version requirement to 1.9
+       * src/common.h (struct name): Refactured
+       (warn_regex_usage): New variable.
+       (dump_file): First argument is const char*.
+       (name_init,name_add): Removed
+       (name_add_name,name_add_dir): New functions
+       (name_next): Return const char*.
+       * src/create.c: (dump_file,dump_file0): First argument is const
+       char*. All callers updated.
+       * src/names.c: Rewritten handling of member names in the command
+       line. Tar no longer attempts to guess globbing patterns, instead
+       it relies on --wildcard option.
+       (init_names): Removed.
+       (struct name_elt): New structure.
+       (name_array): Change type to struct name_elt. All references updated
+       (name_add_name,name_add_dir): New functions
+       (name_next_elt): New function
+       (name_next): Rewritten using name_next_elt.
+       (namelist_match): Rewritten pattern matching using
+       exclude_fnmatch.
+       (names_notfound): Warn if globbing patterns were used without
+       --wildcards option
+       * src/tar.c (options): Move globbing-related options into a
+       separate group. Set -l as an alias to --check-links, as required
+       by UNIX98
+       (struct tar_args): New fields
+       wildcards,matching_flags,include_anchored
+       (MAKE_EXCL_OPTIONS,MAKE_INCL_OPTIONS): New macros
+       (parse_opt): Use x2nrealloc to grow archive_name_array.
+       Use MAKE_EXCL_OPTIONS,MAKE_INCL_OPTIONS to create appropriate
+       fnmatch options, and name_add_name,name_add_dir to handle member
+       name and -C arguments.
+       (decode_options): Likewise
+       (main): Remove call to init_names.
+
+       * tests/append.at, tests/append01.at, tests/extrac01.at,
+       tests/options.at, tests/options02.at, tests/same-order01.at,
+       tests/same-order02.at: Make AT_SETUP more readable.
+
+2006-05-23  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/buffer.c (change_tape_menu): Fix typo (uninitialized
+       variable) introduced yesterday.
+
+2006-05-22  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Use @var{file_name} instead of @var{file name}
+       * src/buffer.c (change_tape_menu): Break the loop after obtaining
+       new archive name. Check for empty input line.
+
+2006-05-15  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * tests/atlocal.in (XFAILFILE): New variable
+       * tests/version.at: Create $XFAILFILE on failure
+       * tests/testsuite.at (AT_TAR_CHECK): Declare expected failure if
+       $XFAILFILE exists.
+
 2006-05-13  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        * THANKS: Update
@@ -9,6 +448,8 @@
        names.
        * src/list.c (read_header_primitive): New function
        (read_header): Front end for read_header_primitive
+       * tests/chtype.at: New file
+       * tests/volsize.at: New file
        * tests/Makefile.am (TESTSUITE_AT): Add chtype.at, volsize.at
        (check-full): New target.
        * tests/atlocal.in (TEST_DATA_URL,STAR_DATA_URL)
        (AT_STAR_PREREQ): Provide md5 sum.
 
        * lib/.cvsignore: Update
-       
+
 2006-05-08  Sergey Poznyakoff  <gray@gnu.org.ua>
-       
-       * tests/testsuite.at (AT_SORT_PREREQ, AT_UNPRIVILEGED_PREREQ): New 
+
+       * tests/testsuite.at (AT_SORT_PREREQ, AT_UNPRIVILEGED_PREREQ): New
        defines
-       
+
        * tests/extrac04.at, tests/incr03.at, tests/listed02.at,
        tests/pipe.at, tests/rename01.at, tests/rename02.at,
        tests/rename03.at, tests/same-order01.at: Call
        directories. Handle renamed directories more effectively
        (initial implementation, more updates to follow).
        Source tree before this point is tagged
-       alpha_1_15_90_incremental_1. 
-       
+       alpha_1_15_90_incremental_1.
+
         * NEWS: Update
         * configure.ac: Raise version number to 1.15.91
        * src/common.h (rename_directory,append_incremental_renames): New
        (procdir): Change return type to struct directory. Return
        immediately if the directory was already initialized. Discover
        directory renames using directory_meta_table.
-       (append_incremental_renames): New function.     
+       (append_incremental_renames): New function.
         (read_directory_file, write_directory_file): Use new snapshot file
         format.
        * src/names.c (collect_and_sort_names): Update dir_contents of the
        first non-fake name entry when in listed incremental mode.
-       
+
         * tests/incr03.at: New testcase
        * tests/rename01.at: New testcase
        * tests/rename02.at: New testcase
        tests/pipe.at, tests/same-order01.at, tests/same-order02.at,
        tests/sparse01.at, tests/sparse03.at: Always use genfile --file,
        this enables extra error checking.
-        
+
        * tests/multiv03.at: Attempt to extract a member with truncated
        file name from the archive.
-       
+
        * src/buffer.c (_open_archive): Remove unnecessary argument to
-       check_compressed_archive. 
+       check_compressed_archive.
 
 2006-04-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
 
        * src/extract.c (extract_dir): Fix toggling existing directory
        permissions (Debian bug #361077). Use parts of patch provided by
-       Ian Jackson <iwj@ubuntu.com>. 
+       Ian Jackson <iwj@ubuntu.com>.
        * src/compare.c: Minor changes
        * src/incremen.c (directory.new): New member
        (note_directory,find_directory: Use make_directory to create
        (procdir): Avoid duplicating  directories in the incremental
        backup map.
        * tests/Makefile.am (TESTSUITE_AT): Add extrac06.at
-       * tests/testsuite.at: Include extrac06.at 
-       
+       * tests/testsuite.at: Include extrac06.at
+
 2006-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (trivial change)
 
        * tests/atlocal.in (PATH): Add build-aux from the source tree,
This page took 0.031 seconds and 4 git commands to generate.