X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=ChangeLog;h=14e01a7a69a6abb2c9a6b0f586c00eb15bb94344;hb=d659cbaccdc1f3279c49107cf15f15a639738529;hp=9d3a96151b28df544042c9c20be03bfd64e3cf09;hpb=7f271040629147abc488ef288f8e0d96c96c262c;p=chaz%2Ftar diff --git a/ChangeLog b/ChangeLog index 9d3a961..14e01a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,960 @@ +2005-06-21 Paul Eggert + + Further improvements inspired by Jim Meyering's fixes. + + * NEWS: Better support for full-resolution time stamps. + The -v option now prints time stamps only to 1-minute resolution. + * gnulib.modules: Add utimens. + * lib/.cvsignore: Add imaxtostr.c, inttostr.c, inttostr.h, + offtostr.c, umaxtostr.c, utimens.c, utimens.h. Remove paxconvert.c. + * lib/Makefile.tmpl (libtar_a_SOURCES): Remove paxconvert.c. + * lib/paxconvert.c: Remove; superseded by umaxtostr.c. + * po/POTFILES.in: Remove lib/paxconvert.c. Add lib/xalloc-die.c, + lib/obstack.c. + * src/buffer.c (set_start_time, compute_duration, start_time): + Use gettime rather than rolling our own code. + * src/common.h (OLDGNU_NAME_FIELD_SIZE, MAXOCTAL11, MAXOCTAL7): Remove. + (newer_ctime_option): Remove. + (timespec_lt): New function. + (OLDER_STAT_TIME): Use it. + (string_to_chars): First arg is char const *, not char *. + (tartime): Time arg is now struct timespec. New bool arg. + All callers changed. + (code_ns_fraction): New decl. + (sys_stat_nanoseconds): Remove decl. + (get_stat_atime, get_stat_ctime, get_stat_mtime): New functions. + (set_stat_atime, set_stat_ctime, set_stat_mtime): New functions. + * src/compare.c: Include utimens.h rather than rolling our own. + (diff_dir, diff_file, diff_link, diff_symlink, diff_special): + Prototype. + (diff_dumpdir, diff_multivol): Prototype. + (diff_file): Support higher-resolution time stamps. + * src/create.c: Include utimens.h rather than rolling our own. + (MAX_OCTAL_VAL): New macro. + (tar_copy_str, string_to_chars): Don't bother to zero-fill; + the destination is already zeroed. + (string_to_chars): First arg is char const *. + (start_private_header): Use MINOR_TO_CHARS, not MAJOR_TO_CHARS, + for minor device number. + (write_header_name, dump_hard_link, dump_file0): + Simplify test for old GNU format. + (start_header): Put in placeholders for uid, etc., even when + using extended headers, for benefit of older "tar" implementations. + Don't assume uintmax_t is wider than 32 bits. + Output extended header for mtime if needed. + (dump_regular_finish, dump_file0): + Support extended time stamp resolution. + * src/extract.c: Include utimens.h rather than rolling our own. + (check_time): Support extended time stamp resolution. + * src/list.c: Include . + (tartime): Use umaxtostr rather than stringify_uintmax_t_backwards. + * src/xheader.c: Include . + Do not include . + (strtoimax) [!HAVE_DECL_STRTOIMAX && !defined strtoimax]: New decl. + (strtoumax) [!HAVE_DECL_STRTOUMAX && !defined strtoumax]: New decl. + (BILLION, LOG10_BILLION): New constants. + (to_decimal): Remove; superseded by inttostr. All callers changed + to use umaxtostr. + (xheader_format_name): Don't assume pids and uintmax_t values + fit in 63 bytes (!) when printed. + (decode_record): Don't bother to check for ERANGE; an out of range + value must be treater than len_max anyway. + If the length is out of range, output it in the diagnostic. + (format_uintmax): Remove; all callers changed to use umaxtostr. + (xheader_print): Don't assume sizes can be printed in 99 bytes (!). + (out_of_range_header): New function. + (decode_time): Use it. + (code_time): Accept struct timespec, not time_t and unsigned long. + All callers changed. Size sbuf properly, and remove unnecessary check. + Don't assume time stamps can fit in 199 bytes. + Handle negative time stamps. Handle fractional time stamps + more consistently. Don't output unnecessary trailing zeros. + (decode_time): Yield struct timespec, not time_t and unsigned long. + All callers changed. + Handle negative time stamps. Truncate towards minus infinity + consistently. Improve overflow checks, and output a better + diagnostic on overflow. + (code_num): Don't assume uintmax_t can be printed in 99 bytes (!). + (decode_num): New function, for better diagnostics. + (atime_coder, atime_decoder, gid_decoder, ctime_coder): + (ctime_decoder, mtime_coder, mtime_decoder, size_decoder): + (uid_decoder, sparse_size_decoder, sparse_numblocks_decoder): + (sparse_offset_decoder, sparse_numbytes_decoder): + Use decode_num, etc., instead of xstrtoumax, etc. + +2005-06-21 Jim Meyering + + Carefully crafted invalid headers can cause buffer overrun. + Invalid header fields go undiagnosed. + Some valid time strings are ignored. + + * src/xheader.c (sparse_numblocks_decoder): Remove unchecked use + of `calloc'. Use xcalloc instead. + (decode_time, gid_decoder, size_decoder, uid_decoder): + (sparse_size_decoder, sparse_offset_decoder, sparse_numblocks_decoder): + Ensure that the result of calling xstrtoumax is no larger than + the maximum value for the target type. Upon any failure, exit with + a diagnostic. + (sparse_numblocks_decoder): Avoid buffer overrun/heap corruption: + use x2nrealloc, rather than `n *= 2' and xrealloc(p, n,.... + (decode_time): Rewrite to accept time strings like + 1119018481.000000000. Before, such strings were always ignored. + +2005-06-13 Sergey Poznyakoff + + * src/create.c (dump_file0): Check for is_avoided_name() + first. Fixes bug reported by Martin Lohmeier + + * tests/update.at: New file + * tests/Makefile.am (TESTSUITE_AT): Add update.at + * tests/testsuite.at: Likewise + +2005-06-13 Sergey Poznyakoff + + * configure.ac (AC_STRUCT_ST_BLKSIZE) + (AC_STRUCT_ST_BLOCKS): Removed. Handled by system.m4. + +2005-06-02 Paul Eggert + + * src/names.c (excluded_name): excluded_filename -> + excluded_file_name, because the name was changed in gnulib. + +2005-05-30 Sergey Poznyakoff + + * src/tar.c (read_name_from_file,update_argv): Automatically + detect nul-terminated list files. + * NEWS: Updated + +2005-05-27 Sergey Poznyakoff + + * scripts/backup.sh.in: Bugfixes. + +2005-05-26 Sergey Poznyakoff + + * scripts/backup.in: Minor fixes + * scripts/backup.sh.in (mt_begin,mt_rewind) + (mt_offline,mt_status): Use $MT to invoke mt + (init_common): Set --rsh-command option for mt if TAPE_FILE is a + remote archive. + * doc/tar.texi: Document new backup scripts behavior + +2005-05-22 Sergey Poznyakoff + + * lib/.cvsignore: Updated + * lib/Makefile.tmpl: Add new paxutils files + * po/POTFILES.in: Likewise + * src/buffer.c: Update invocations of safer_name_suffix() + * src/create.c: Likewise + * src/extract.c: Likewise + * src/xheader.c: Likewise + * src/common.h: Include paxlib.h instead of paxerror.h + (safer_name_suffix,removed_prefixes_p): Removed. The functions are + imported from paxutils + * src/names.c (hash_string_hasher,hash_string_compare) + (hash_string_insert,hash_string_lookup,removed_prefixes_p) + (safer_name_suffix): Moved to paxutils + +2005-05-19 Sergey Poznyakoff + + * bootstrap (copy_files): Accept optional third argument: a prefix + to be appended to destination file names. + Import paxutils/paxlib files. + * configure.ac: Remove checking for LIB_SETSOCKOPT, it is handled + by paxutils. + * lib/Makefile.tmpl (libtar_a_SOURCES): Add paxerror.c paxexit.c + paxconvert.c + * po/POTFILES.in: Likewise. + * src/common.h: Remove defines and declarations imported from + paxutils + * src/misc.c: Likewise + * src/list.c (stringify_uintmax_t_backwards): Moved to paxutils + +2005-05-17 Paul Eggert + + * src/misc.c (remove_any_file): Fix typo in previous change. + +2005-05-14 Paul Eggert + + Port to Solaris 10's treatment of unlinking directories. + * gnulib-modules: Add unlinkdir. + * lib/.cvsignore: Add unlinkdir.h, unlinkdir.c. + * src/common.h (we_are_root): Remove extern decl; it's now static. + * src/extract.c (we_are_root): Now static. + * src/misc.c: Include . + (remove_any_file): Use cannot_unlink_dir () rather than we_are_root. + + * ChangeLog, ChangeLog.1, Makefile.am, NEWS, PORTS, README, + README-alpha, TODO, bootstrap, configure.ac, doc/Makefile.am, + doc/convtexi.pl, doc/fdl.texi, doc/gendocs_template, + lib/Makefile.tmpl, lib/prepargs.c, lib/waitpid.c, po/POTFILES.in, + scripts/Makefile.am, scripts/backup-specs, scripts/backup.in, + scripts/backup.sh.in, scripts/restore.in, src/Makefile.am, + src/arith.h, src/buffer.c, src/common.h, src/compare.c, + src/create.c, src/delete.c, src/extract.c, src/incremen.c, + src/list.c, src/mangle.c, src/misc.c, src/names.c, src/sparse.c, + src/system.c, src/tar.c, src/tar.h, src/update.c, src/utf8.c, + src/xheader.c, tests/Makefile.am, tests/append.at, + tests/append01.at, tests/comprec.at, tests/delete01.at, + tests/delete02.at, tests/delete03.at, tests/delete04.at, + tests/delete05.at, tests/extrac01.at, tests/extrac02.at, + tests/extrac03.at, tests/extrac04.at, tests/extrac05.at, + tests/gzip.at, tests/ignfail.at, tests/incremental.at, + tests/link01.at, tests/listed01.at, tests/listed02.at, + tests/long01.at, tests/longv7.at, tests/multiv01.at, + tests/multiv02.at, tests/multiv03.at, tests/multiv04.at, + tests/old.at, tests/options.at, tests/options02.at, tests/pipe.at, + tests/recurse.at, tests/same-order01.at, tests/same-order02.at, + tests/shortrec.at, tests/sparse01.at, tests/sparse02.at, + tests/testsuite.at, tests/truncate.at, tests/version.at, + tests/volume.at, tests/star/gtarfail.at, tests/star/gtarfail2.at, + tests/star/multi-fail.at, tests/star/pax-big-10g.at, + tests/star/quicktest.sh, tests/star/ustar-big-2g.at, + tests/star/ustar-big-8g.at: + Update FSF postal mail address. + +2005-05-12 Sergey Poznyakoff + + * NEWS: Updated + * THANKS: Updated + * bootstrap: Install files from paxutils/doc + * doc/Makefile.am (tar_TEXINFOS): Add genfile.texi + * doc/tar.texi (Genfile): New appendix + * src/compare.c (diff_file): diff_handle was not initialized + * src/create.c (dump_regular_file): Correctly pad archive members + that shrunk during archiving. Repored by Frank Heckenbach. + * src/extract.c (file_newer_p): Return false if file does not + exist + (prepare_to_extract): Correct warning wording. + * tests/truncate.at: New test case + * tests/Makefile.am: Add truncate.at + * tests/testsuite.at: Likewise. + + * doc/.cvsignore: Updated + * lib/.cvsignore: Updated + * tests/.cvsignore: Updated + +2005-05-02 Paul Eggert + + * tests/multivol04.at: Tell awk to read from /dev/null. + + Adjust to recent gnulib changes. + * lib/.cvsignore: Add dup-safer.c, fd-safer.c, unistd-safer.h. + * src/common.h (initial_umask): New var. + * src/create.c (start_ueader): Use it, and adjust to new modechange + API. + (hash_link): unsigned -> size_t parameters and result. + * src/incremen.c (hash_directory): Likewise. + * src/names.c (hash_string_hasher): Likewise. + * src/tar.c (parse_opt): Set it, and adjust to new modechange API. + +2005-04-19 Sergey Poznyakoff + + * tests/Makefile.am: Add shortrec.at. + +2005-04-18 Paul Eggert + + * src/buffer.c (reading_from_pipe): Remove. All uses removed. + (short_read): Don't warn about short reads; they're normal. + * tests/shortrec.at: New file. + * tests/testsuite.at: Include it. + + * bootstrap (gnulib_modules): Don't create a file modlist.tmp, as + it is sometimes left behind as a garbage file (maybe due to the + multiple traps?). + +2005-04-14 Sergey Poznyakoff + + * src/list.c: Handle Solaris 'X' type flag + * src/tar.h (SOLARIS_XHDTYPE): New define + +2005-04-06 Sergey Poznyakoff + + * src/tar.c: Minor fixes to text messages. Proposed by Benno + Schulenberg. + * src/extract.c: Likewise + (extract_file): Assign orig_file_name + to save_name uniformly over the program. This fixes matching + directory names at the start of an archive volume. + * src/buffer.c (flush_write): Warn when the name of the archive + straddling volume boundary is longer than 100 characters. Earlier + behavior was to issue a fatal error. + (struct zip_magic): Reverted part of changes from 2005-04-04. + They make the maintenance too costly. Removing `unsigned' + qualifier from `magic' member should be enough. + * src/compare.c (diff_init): Read directory file if in listed + incremental. This prevents spurious 'Contents differ' diagnostics. + (diff_archive): Minor fixes to text messages + (diff_file,diff_dumpdir,diff_multivol): Assign orig_file_name + to save_name uniformly over the program. This fixes matching + directory names at the start of an archive volume. + * src/create.c: Assign orig_file_name + to save_name uniformly over the program. This fixes matching + directory names at the start of an archive volume. + * src/list.c: Likewise + + * tests/multiv03.at: Modified to match the new behavior + * tests/multiv04.at: New file. Test splittind directory members between + the archive volumes. + * tests/Makefile.am: Add multiv04.at + * tests/testsuite.at: Likewise. + +2005-04-04 Paul Eggert + + * configure.ac (AC_CONFIG_AUX_DIR): Rename from config to build-aux, + for reasons discussed in the thread beginning at + . + * .cvsignore: Remove config; add build-aux. + + * src/buffer.c (struct zip_magic): Use char arrays, not pointers. + The unsigned char * pointer ran afoul of pedantic C compilers, and + we didn't need pointers anyway. Put the size field before the + data to avoid unnecessary padding. All uses changed. + (magic) Make it const, since it doesn't change. All uses changed. + +2005-04-02 Paul Eggert + + * src/xheader.c (decode_record): Don't dump core when given + a corrupted extended header. Problem reported by Jim Meyering. + Also, check for other ways that the header might be invalid, + e.g., missing newline at end. Do not allow keys with nulls. + Allow blanks before and after length, as POSIX requires. + Do not allow leading "-" in length. Check for length overflow. + (xheader_decode, xheader_decode_global): Let decode_record + check for exhaustion of record. + (xheader_read): Null-terminate the extended record; + decode_record relies on this. + +2005-03-21 Paul Eggert + + * bootstrap (TP_URL): Change from + to + to avoid + some redirection glitches. + Use "trap - 0" rather than "trap 0" to fix a POSIX-conformance bug. + * doc/.cvsignore: Change "tar.info" to "tar.info*". Sort. + * lib/.cvsignore: Add intprops.h (new gnulib file). + +2005-03-04 Sergey Poznyakoff + + * src/list.c (print_header): Print UID/GID in case of + empty user/group name. This could occur when dumping + files belonging to non-existing users and when listing + broken archives. + Reported by Igor Lautar. + + * src/create.c: Correctly parse empty uname/gname + * src/sparse.c (sparse_scan_file): Bugfix. offset had + incorrect type. + + * scripts/backup.in: Use `head -n 1'. Provide missing + argument to ${MT_STATUS}. Proposed by Jan Merka. + * scripts/backup.sh.in: Likewise. Fixed typo in + MT_OFFLINE assignment. + * scripts/restore.in (restore_fs): Use root_fs + +2005-02-15 Sergey Poznyakoff + + * src/create.c: Replace strdup with xstrdup + * src/names.c: Likewise + * src/tar.c: Likewise + + * tests/append01.at: Added reference to bug-tar archive + * tests/listed02.at: Use -print with find. + +2005-02-11 Sergey Poznyakoff + + * THANKS: Added Tim Adye. Fixed UTF. + * src/list.c (read_header): Removed assignment to + oldgnu_header.isextended. It was breaking append mode. + + * tests/append01.at: New test. + * tests/Makefile.am: Added append01.at + * tests/testsuite.at: Likewise + +2005-02-06 Sergey Poznyakoff + + * gnulib.modules: New file. List of required gnulib + modules. + * bootstrap: Merge list of required modules from + paxutils with that from tar proper. + * src/tar.c: Various fixes in help and diagnostic messages. + +2005-02-05 Sergey Poznyakoff + + * src/common.h (EXTRACT_OVER_PIPE): New macro + * src/compare.c: Code clean up. + * src/extract.c (extract_archive): Do not check for + EXTRACT_OVER_PIPE, decode_options() does this. + * src/misc.c (exec_error,fork_error,dup2_error) + (pipe_error): Removed unneeded functions. + * src/system.c (sys_exec_command): Use xclose, xpipe, + xfork, xdup2 and exec_fatal. + * src/tar.c (options): Improved sorting. Document --backup=off. + (decode_options): Clear backup_option if necessary. + +2005-02-05 Sergey Poznyakoff + + Initial implementation of --to-command option proposed + by Hansjoerg Lipp. + + * bootstrap: Get setenv module from gnulib + * src/buffer.c: Do not use 8-bit chars in comments + * src/common.h (to_command_option) + (ignore_command_error_option): New globals + (sys_exec_command,sys_wait_command): New commands + * src/extract.c (extract_file): Handle to_command_option + Fix error recovery: decrease `size' by `written', not + by `count', otherwise tar misses the next header + Do not diagnose write error if to_command_option + is set, since the command may have exited prematurely. + It would be better to check for sigpipe, though. + (prepare_to_extract): Handle to_command_option + * src/misc.c (exec_error, fork_error, dup_error) + (pipe_error): New functions + * src/system.c (sys_exec_command) + (sys_wait_command): New functions + * src/tar.c: Handle new options --to-command, + --ignore-command-error + * THANKS: Added Hansjoerg Lipp + +2005-02-03 Paul Eggert + + * src/list.c (from_header): New arg OCTAL_ONLY, normally false. + All uses changed. Fix typo that sometimes suppressed all "Archive + contains obsolescent base-64 headers" warnings, not just the first + one. + (tar_checksum): Accept only octal checksums, since they aren't + supposed to overflow into weird formats. + + Adjust to gnulib changes. + * lib/.cvsignore: Add chdir-long.c, chdir-long.h, memrchr.c, + memrchr.h, openat.c, openat.h. Remove pathmax.h (added by + mistake, perhaps?), sysexit.h (my typo), xstrdup.c (gnulib removed + this file). Sort entries. + +2005-02-04 Sergey Poznyakoff + + * src/extract.c: Further rewrite. + * src/buffer.c: Removed unused variables. + * src/list.c: Likewise + * src/tar.c (update_argv): Changed type to void + + * src/common.h (OLDGNU_NAME_FIELD_SIZE): New constant + * src/create.c (start_private_header,write_header_name) + (dump_hard_link): Restore compatibility with 1.13.25 + * src/extract.c (extract_archive): Rewritten + * src/list.c: Add translators' comments + * src/tar.c (options) Minor spelling fix + * tests/star/quicktest.sh: Determine path to the tar executable. + +2005-02-03 Sergey Poznyakoff + + * po/POTFILES.in: Added tests/genfile.c + * src/buffer.c (short_read): Use ngettext() + (new_volume): use quote(). + * src/create.c: Use quote() + * src/extract.c: Likewise + * src/xheader.c: Likewise + * src/misc.c: Add comments to translators + + * tests/same-order01.at: sort ls output + * tests/sparse01.at (RE_CHECK): Added missing space + + * tests/sparse02.at: Test extracting sparse files over a pipe. + * tests/Makefile.am: Added sparse02.at + * tests/testsuite.at: Likewise + * tests/listed02.at: Skip the test on filesystems that do not + update ctime of a file when renaming it. To be reverted when + the new incremental mode is ready. + * tests/sparse01.at: Extract and compare sparse file + +2005-02-02 Sergey Poznyakoff + + * src/sparse.c: Extract sparse files even if the output + fd is not seekable. + +2005-02-01 Sergey Poznyakoff + + * bootstrap: Add a comment to lib/Makefile.am saying that this + is an autogenerated file. + Exit with code 1 if any of autotools fails. + * lib/Makefile.tmpl: Insert Emacs magic to the first line. + * tests/Makefile.am: Add append.at + + * m4/.cvsignore: Ignore all *.m4 files + +2005-01-18 Sergey Poznyakoff + + Rewritten handling of -T (--files-from) option. Now it + inserts the file names immediately into argv array which allows + for: + 1) any valid tar options (including another -T) to be used in the file + 2) any number of -T options to be given in command line + + * configure.ac: Raised version number to 1.15.2 + * src/common.h: Include obstack.h + (files_from_option): Removed + (unquote_option): New variable + (stat_fatal): New function + (name_close): Removed function. + * src/incremen.c: Remove inclusion of obstack.h + * src/xheader.c: Likewise. + * src/misc.c (stat_fatal): New function + * src/names.c (name_file): Removed variable. + (read_name_from_file): Removed function. All callers changed. + (name_close): Removed function. All callers changed. + * src/tar.c: New options --unquote (--no-unquote) and + --add-file + (add_file_id,read_name_from_file,update_argv): New functions + (parse_opt): Rewritten handling of -T option. Handle hidden + --HANG option for debugging purposes. + (decode_options): Init unquote_option to true. Init argv_stk. + Remove unneeded references to files_from_option + + * doc/tar.texi: Document new options. + Moved rendition macros and option value definitions into + separate files + * doc/rendition.texi: New file + * doc/value.texi: New file + * doc/Makefile.am: Updated + +2005-01-13 Paul Eggert + + * tests/testsuite.at (RE_CHECK): Use "join - file", not + "join file -", to work around a bug in Solaris 8 join. + Problem reported by Tomohiro Suzuki. + +2005-01-13 Sergey Poznyakoff + + * src/list.c (read_header): Fixed calculation of the + size for GNU long name/link. Tar was reading one block + more if name_size was divisible by 512. Thanks Josef + Bauer. + * tests/long01.at: New file. Test listing of GNU long names + divisible by 512. + * tests/pipe.at: Sort tar output. + * tests/Makefile.am: Added long01.at + * tests/testsuite.at: Likewise. + * THANKS: Added Josef Bauer + * lib/.cvsignore: Updated + * m4/.cvsignore: Updated + * NEWS: Updated + +2005-01-11 Sergey Poznyakoff + + * directory: Updated for 1.15.1 + * doc/Makefile.am: Use gendocs.sh to generate web documentation + * doc/gendocs_template: Template file for gendocs.sh + * doc/tar.texi: Updated docs for --[no-]same-permissions + * src/tar.c: Reworded docstrings for --[no-]same-permissions + +2005-01-06 Sergey Poznyakoff + + * bootstrap: Create m4/paxutils.m4 + * configure.ac: Call tar_PAXUTILS + * tests/options02.at: Test that tar correctly handles non-option + arguments interspersed with options. + * tests/Makefile.am: Add options02.at + * tests/testsuite.at: Likewise + * tests/listed02.at: Do not create useless directory + +2005-01-05 Sergey Poznyakoff + + * src/tar.c (parse_opt): Bugfix: Use ARGP_KEY_ARG. Thanks + Mike Frysinger for reporting. + +2005-01-04 Paul Eggert + + * lib/Makefile.tmpl (localedir.h): Omit needless quotes and a + needless sed command. Problem reported by Paul Jarc. + +2004-12-23 Paul Eggert + + Accommodate latest gnulib. + * doc/.cvsignore: Add getdate.texi. + * bootstrap: Do not treat alloca-opt specially; this is no + longer needed (and breaks builds) with latest gnulib. + +2004-12-22 Sergey Poznyakoff + + * src/tar.c (main): Reverted recent changes (#ifdef). + +2004-12-21 Sergey Poznyakoff + + * configure.ac: Raise version number to 1.15.1 + Check for locale.h + * NEWS: Entry for 1.15.1 + * src/buffer.c: Bugfix. Changes introduced 2004-11-26 + broke extraction from stdin. + * src/list.c (from_header, tar_checksum): Changed declaration. + All callers updated. + * src/common.h: Likewise + * src/tar.c (main): Protect invocation of setlocale by + ifdef. + + * tests/comprec.at: New test + * tests/pipe.at: New test + * tests/Makefile.am (comprec.at,pipe.at): New tests + * tests/testsuite.at: Likewise + * tests/gzip.at: Use AT_GZIP_PREREQ + * tests/star/pax-big-10g.at: Likewise + * tests/star/ustar-big-2g.at: Likewise + * tests/star/ustar-big-8g.at: Likewise + + * tests/extrac04.at: Discard stderr from sort, on some + systems it spits out lots of irrelevant info. + * tests/listed02.at: Likewise + + * doc/index.html.in: Rewritten in xhtml to follow recent + GNU site standards. + * THANKS: Updated + +2004-12-20 Sergey Poznyakoff + + Released version 1.15. Sources up to this point are + tagged release_1_15. + + * configure.ac: Raised version number to 1.15 + * NEWS: Likewise + * directory: Updated + * bootstrap (update_po): Give -r to wget. Always remove index.html + Ignore alloca-opt module (it duplicates alloca) + + * tests/Makefile.am: Distribute star/quicktest.sh + * tests/star/README: Document quicktest.sh + * tests/star/qucktest.sh: Removed. + * tests/star/quicktest.sh: New file. + +2004-12-18 Sergey Poznyakoff + + * NEWS: Updated + * doc/tar.texi: Document auto-detection of compressed archive + formats. + * src/tar.c (decode_options): Ignore --seek if used with --delete. + Delete.c is based on the assumption that the archive is being + actually read, not lseeked. + + * tests/delete05.at: New file + * tests/extrac02.at: Fixed typo in AT_SETUP + * tests/Makefile.am: Added delete05.at + * tests/testsuite.at: Likewise. + +2004-12-17 Sergey Poznyakoff + + * src/delete.c (delete_archive_members): Bugfix: when + attempting to delete an nonexistent member, the last + blocking_factor blocks were zeroed. + +2004-12-14 Paul Eggert + + * TODO: Mention sub-second resolution, lutimes, lchmod. + +2004-11-27 Paul Eggert + + Adjust to recent gnulib changes. + * doc/getdate.texi: Remove, since bootstrap gets it from gnulib now. + * .cvsignore: Add rmt, rmt/*, rmt/*/*. + * lib/.cvsignore: Add allocsa.c, allocsa.h, allocsa.valgrind, + charset.alias, config.charset, getcwd.c, getcwd.h, localcharset.c, + localcharset.h, ref-add.sed, ref-add.sin, ref-del.sed, + ref-del.sin, setenv.c, setenv.h, unsetenv.c. Remove pathmax.h, + xstrdup.c. + * m4/.cvsignore: Add allocsa.m4, eealloc.m4, getcwd-path-max.m4, + localcharset.m4, realloc.m4, setenv.m4. Remove malloc.m4, + pathmax.m4, realloc.m4. + +2004-11-26 Sergey Poznyakoff + + * configure.ac: Raised version number to 1.14.91 + * scripts/tarcat: New file + * scripts/Makefile.am: Added tarcat + * src/buffer.c (hit_eof): Changed type to boolean + (read_full_records,reading_from_pipe): New variables + (check_compressed_archive,open_compressed_archive): New functions + (open_archive): Autodetect compressed archives and act accordingly. + Set reading_from_pipe. This fixes controversial set of changes + introduced 2004-05-11,2004-03-22. + * src/list.c (tar_checksum): New function + (read_header): Use tar_checksum(). + * src/common.h (tar_checksum): New function + + * tests/star/README: Updated + * NEWS: Updated + * PORTS: Updated + +2004-11-16 Sergey Poznyakoff + + * src/tar.c (decode_options): Fixed -o semantics. Thanks + Jean Delvare + +2004-10-25 Sergey Poznyakoff + + * bootstrap: Add localcharset + * lib/Makefile.tmpl: Initialize SUFFIXES and CLEANFILES since the + makefile snippet from localcharset uses '+=' on them. + * src/Makefile.am (LDADD): Add LIBICONV + * src/list.c (decode_header): Set uname/gname to NULL if their + header counterparts are empty + * src/tar.c (options): Use OPTION_NO_TRANS + * src/utf8.c: Use locale_charset() from gnulib + + * tests/star/README: Updated + + * NEWS: Updated + * TODO: Minor fix + +2004-10-04 Sergey Poznyakoff + + * THANKS: Added Bryan Ford + * doc/Makefile.am (.text): Fixed rule + * po/POTFILES.in: Added argp-help.c + +2004-10-04 Bryan Ford + + * src/tar.c: New option --exclude-caches, to exclude + cache directories automatically on archive creation. + Cache directories are directories containing a + standardized tag file, as specified at: + http://www.brynosaurus.com/cachedir/spec.html + * src/common.h: New variable exclude_caches_option. + * src/create.c: New function check_cache_directory(), + called from dump_dir0() if exclude_caches_option is set, + to check for a cache directory tag and exclude the directory + if such a tag is found. + * doc/tar.texi: Updated accordingly. + +2004-09-16 Sergey Poznyakoff + + * doc/tar.texi: Minor fix + * src/tar.c (options): Minor fix + +2004-09-12 Sergey Poznyakoff + + * TODO: Updated + * lib/Makefile.tmpl: Added 'rtapelib.o: localedir.h' dependency + * src/common.h: Comment WANT_DIRECTORY_REMOVE_OPTION. + * src/extract.c: Normalized use of remove_any_file(). + * src/misc.c: Likewise. + * src/tar.c (parse_opt): Emit warning if -l option is used. + (show_default_settings): REMOTE_SHELL may be undefined + +2004-09-07 Sergey Poznyakoff + + Test suite rewritten in autotest. + + * configure.ac: Updated for autotest + * src/tar.c (argp_program_version): Modified. + * tests/Makefile.am: Rewritten for autotest. + + * tests/.cvsignore: Updated + * tests/append.at: New file + * tests/atlocal.in: New file + * tests/delete01.at: New file + * tests/delete02.at: New file + * tests/delete03.at: New file + * tests/delete04.at: New file + * tests/extrac01.at: New file + * tests/extrac02.at: New file + * tests/extrac03.at: New file + * tests/extrac04.at: New file + * tests/extrac05.at: New file + * tests/gzip.at: New file + * tests/ignfail.at: New file + * tests/incremental.at: New file + * tests/link01.at: New file + * tests/listed01.at: New file + * tests/listed02.at: New file + * tests/longv7.at: New file + * tests/multiv01.at: New file + * tests/multiv02.at: New file + * tests/multiv03.at: New file + * tests/old.at: New file + * tests/options.at: New file + * tests/recurse.at: New file + * tests/same-order01.at: New file + * tests/same-order02.at: New file + * tests/sparse01.at: New file + * tests/testsuite.at: New file + * tests/version.at: New file + * tests/volume.at: New file + * tests/star/gtarfail.at: New file + * tests/star/gtarfail2.at: New file + * tests/star/multi-fail.at: New file + * tests/star/pax-big-10g.at: New file + * tests/star/ustar-big-2g.at: New file + * tests/star/ustar-big-8g.at: New file + + * tests/preset.in: Removed + * tests/before: Removed + * tests/after: Removed + * tests/version.sh: Removed. + * tests/append.sh: Removed. + * tests/delete01.sh: Removed. + * tests/delete02.sh: Removed. + * tests/delete03.sh: Removed. + * tests/delete04.sh: Removed. + * tests/extrac01.sh: Removed. + * tests/extrac02.sh: Removed. + * tests/extrac03.sh: Removed. + * tests/extrac04.sh: Removed. + * tests/extrac05.sh: Removed. + * tests/gzip.sh: Removed. + * tests/incremen.sh: Removed. + * tests/ignfail.sh: Removed. + * tests/link01.sh: Removed. + * tests/listed01.sh: Removed. + * tests/listed02.sh: Removed. + * tests/longv7.sh: Removed. + * tests/multiv01.sh: Removed. + * tests/multiv02.sh: Removed. + * tests/multiv03.sh: Removed. + * tests/old.sh: Removed. + * tests/options.sh: Removed. + * tests/same-order01.sh: Removed. + * tests/same-order02.sh: Removed. + * tests/volume.sh: Removed. + * tests/recurse.sh: Removed. + * tests/sparse01.sh: Removed. + * tests/star/gtarfail.sh: Removed. + * tests/star/gtarfail2.sh: Removed. + * tests/star/multi-fail.sh: Removed. + * tests/star/ustar-big-2g.sh: Removed. + * tests/star/ustar-big-8g.sh: Removed. + * tests/star/pax-big-10g.sh: Removed. + +2004-09-07 Sergey Poznyakoff + + * bootstrap: Install genfile.c from paxutils + * tests/genfile.c: Removed. Integrated into + paxutils. + * tests/mksparse.c: Removed. Integrated into + (paxutils) genfile.c + * tests/Makefile.am: Removed mksparse + * tests/sparse01.sh: Use genfile instead of mksparse + +2004-09-06 Sergey Poznyakoff + + Started merging with cpio into paxutils. Sources before + this point are tagged alpha-1_14_90 + + * Makefile.am: Updated for use with paxutils + * README-alpha: Likewise + * bootstrap: Likewise + * configure.ac: Likewise + * lib/Makefile.tmpl: Likewise + * po/POTFILES.in: Likewise + * src/Makefile.am: Likewise + * src/buffer.c: Likewise + * src/common.h: Likewise + * src/compare.c: Likewise + * src/create.c: Likewise + * src/delete.c: Likewise + * src/extract.c: Likewise + * src/incremen.c: Likewise + * src/list.c: Likewise + * src/mangle.c: Likewise + * src/misc.c: Likewise + * src/names.c: Likewise + * src/sparse.c: Likewise + * src/system.c: Likewise + * src/tar.c: Likewise + * src/update.c: Likewise + * src/utf8.c: Likewise + * src/xheader.c: Likewise + + * src/system.h: Removed + * src/rmt.c: Removed + * src/rmt.h: Removed + * src/rtapelib.c: Removed + +2004-09-03 Sergey Poznyakoff + + * tests/listed02.sh: Do not depend on any particular ordering + of output. + +2004-09-02 Sergey Poznyakoff + + * 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 + + * 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 + + * 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 ). + 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 + (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 + (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 . + + * NEWS: Updated + * THANKS: Updated + +2004-08-30 Sergey Poznyakoff + + * src/tar.c: Fix copy-n-paste errors in the license + +2004-08-19 Sergey Poznyakoff + + * 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 + + * src/tar.c (find_argp_option): Fixed typo + 2004-08-12 Paul Eggert Merge argp, getopt, xalloc changes from gnulib. @@ -6,7 +963,7 @@ 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. @@ -77,7 +1034,7 @@ Merge from gnulib. * patches/argp.diff: Remove; no longer needed. - + * lib/.cvsignore: Add stat-macros.h. Remove addext.c, malloc.c, realloc.c. @@ -232,7 +1189,7 @@ * configure.ac: Raised version number to 1.14 * NEWS: Updated. * tests/after: Added copyleft statement - * tests/before: Added copyleft statemente + * tests/before: Added copyleft statement * tests/preset.in: Added copyleft statement Tar 1.14 is released. Sources up to this point are tagged @@ -371,8 +1328,8 @@ 2004-04-20 Sergey Poznyakoff * configure.ac: Fixed test for iconv_t - * src/rmt.h: Bugfix by Jürgen Weigert - * THANKS: Add Jürgen Weigert + * src/rmt.h: Bugfix by Jürgen Weigert + * THANKS: Add Jürgen Weigert * tests/star/README: Fixed typo 2004-04-04 Paul Eggert @@ -657,7 +1614,7 @@ * tests/after: Rewritten * tests/before: Rewritten * tests/preset.in: Rewritten - * tests/delete03.sh: Accomodate for the new testsuite logic + * tests/delete03.sh: Accommodate for the new testsuite logic * tests/gzip.sh: Likewise * tests/incremen.sh: Likewise * tests/listed01.sh: Likewise @@ -1298,7 +2255,7 @@ * TODO: Updated * src/common.h (strip_path_elements): New variable. * src/extract.c (extract_archive): Implemented --strip-path - * src/names.c (cut_path_elements): New functon. + * src/names.c (cut_path_elements): New function. * src/tar.c: New option --strip-path=NUM. (decode_options) Assign boolean values to bool variables. @@ -3252,7 +4209,7 @@ * m4/mbstate_t.m4: Include stdio.h before wchar.h, to work around a bug in glibc 2.1.3. - * lib/xmalloc.c: Fix inaccorate comment for xrealloc. + * lib/xmalloc.c: Fix inaccurate comment for xrealloc. 2000-06-19 Paul Eggert @@ -5429,7 +6386,7 @@ See ChangeLog.1 for earlier changes. -Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software +Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU tar. @@ -5446,8 +6403,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU tar; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. Local Variables: mode: change-log