X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=ChangeLog;h=e353e5288458f2de34e3ed75b426c0d160f57647;hb=78b078b455b834695ebd3104ec3dbe8a4ac9f3a3;hp=2eedec0569b25572a2dd426d9d2bda9901f1a5f1;hpb=49f39c25b4be8fe8d824ac169add3c002976d6eb;p=chaz%2Ftar diff --git a/ChangeLog b/ChangeLog index 2eedec0..e353e52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,546 @@ +2006-02-07 Paul Eggert + + * NEWS: --version now outputs copyright etc., to conform to the + GNU coding standards. Remove --license. + * gnulib.modules: Add version-etc-fsf. + * doc/tar.texi: Document the change. + * lib/.cvsignore: Add version-etc-fsf.c, version-etc.c, version-etc.h. + * scripts/Makefile.am (SED_CMD): Update PAKCAGE_NAME, not PACKAGE. + * scripts/backup.in: Remove --license. Change --version to conform + to GCS. + * scripts/restore.in: Likewise. + * scripts/backup.sh.in (license): Output briefer license in the + style of coreutils, for consistency with other changes. + * src/tar.c: Include . + (LICENSE_OPTION): Remove. + (options): Remove --license. + (license): Remove. + (parse_opt): Use version_etc instead of rolling it ourselves. + Remove --license. + * tests/version.at (tar --version): Check only the first line of + output. + + * ChangeLog, NEWS, src/common.h, src/extract.c, src/incremen.c: + * src/list.c, src/names.c, src/tar.h, src/xheader.c: + Update copyright year to 2006. + +2006-02-07 Jim Meyering + + * src/xheader.c (sparse_map_decoder): Fix misleading diagnostic. + +2006-01-31 Sergey Poznyakoff + + * src/common.h (get_gnu_dumpdir): Remove prototype + (is_dumpdir): New function + * src/extract.c (prepare_to_extract): Use is_dumpdir member to + check for dumpdirs. + * src/incremen.c (get_gnu_dumpdir): Static + (is_dumpdir): New function + (purge_directory): Use is_dumpdir + * src/list.c (list_archive): Use is_dumpdir + Do not wrap skip_member in mv_begin/mv_end, the function itself + takes care of it. + (decode_header): Set stat_info->is_dumpdir + (skip_member): Do nothing if skipped is true + * src/tar.h (struct tar_stat_info): New members is_dumpdir and skipped. + +2006-01-22 Sergey Poznyakoff + + * src/tar.c (decode_options): Refuse using --delete with + compression options. + +2006-01-18 Sergey Poznyakoff + + * NEWS: Updated. + * configure.ac (DEFAULT_QUOTING_STYLE): New configuration variable + * doc/tar.texi: Initial documentation for --quoting-style, + --quote-chars and --no-quote-chars option. + * src/tar.c: Implement new options --quoting-style, --quote-chars + and --no-quote-chars. + +2006-01-09 Paul Eggert + + * bootstrap: Default to pserver, and switch to cvs.sv.gnu.org, + to accommodate recent changes to the GNU CVS server. + * lib/.cvsignore: Add argp-pin.c, mkdirat.c, openat-priv.h. + +2005-12-14 Sergey Poznyakoff + + * src/names.c (name_scan): Take an additional argument requesting + exact matching. + * src/common.h (name_scan): Change prototype. + * src/delete.c, src/incremen.c, src/update.c: Update invocations + of name_scan. + +2005-12-13 Sergey Poznyakoff + + * src/common.h (struct name): New member `explicit'. Remove unused + member `isdir'. + * src/incremen.c (procdir): If name_scan() returns something, + check if it was explicitely given in the command line + * src/names.c (addname,add_hierarchy_to_namelist): Initialize + explicit member appropriately. + + * src/incremen.c (procdir): If --one-file-system is given and a + directory is found to be on another device, *and* this directory + is explicitely given in the command line, then do not omit it. + +2005-12-11 Sergey Poznyakoff + + * NEWS: Update + * doc/tar.texi: Document --delay-directory-restore option. + (Configuring Help Summary): Document usage of ARGP_HELP_FMT + variable to customize help output. + * src/common.h (delay_directory_restore_option): New global. + * src/extract.c (directories_first): Replaced by + delay_directory_restore_option. All uses changed. + * src/tar.c (options,parse_opt): New options + --delay-directory-restore and --no-delay-directory-restore + +2005-12-09 Sergey Poznyakoff + + * src/buffer.c (open_archive): Add default case to shut up gcc. + * src/common.h (set_file_atime): Add prototype. + * src/create.c (to_chars_subst): Remove unused variable + Make sure useful result code is returned. + * src/incremen.c (read_directory_file): Fix format string + Thanks Eric Blake for reporting. + +2005-12-08 Sergey Poznyakoff + + * doc/tar.texi (Current status): Renamed to 'Changes' and moved to + appendices. + (Large or Negative Values): Rewritten + * src/common.h (gid_to_chars, major_to_chars, minor_to_chars) + (mode_to_chars, off_to_chars, size_to_chars, time_to_chars) + (uid_to_chars, uintmax_to_chars): Return bool + * src/create.c (gid_to_chars, major_to_chars, minor_to_chars) + (mode_to_chars, off_to_chars, size_to_chars, time_to_chars) + (uid_to_chars, uintmax_to_chars): Return bool + (to_chars): Return bool + (start_header): Check return values of convertion routines. Fail + if unable to store data in the header. + +2005-12-07 Sergey Poznyakoff + + * doc/tar.texi: Following the discussion with Karl Berry, + discontinue using @value{} substitutions for Texinfo commands. + Properly index all long options. Print a + separate long option index. + * doc/value.texi: Remove @set's + + * doc/tar.texi: Update --info-script documentation + Resolve some more FIXMEs. + * scripts/dump-remind.in: Use TAR_VOLUME instead of reading volno + file. + * src/buffer.c (new_volume): Update invocation + (change_tape_menu): New function. Disable '!' command if given + --restrict option. + * src/common.h (sys_exec_info_script): Update declaration + (restrict_option): New global + * src/system.c (sys_exec_info_script): The script can supply new + archive name to use by writing it to file descriptor 3. + * src/tar.c (options): Add --restrict option. Use macros for + option grouping. + (license): Print full list of copyright years + * NEWS: Update + +2005-12-06 Eric Blake (trivial changes) + + * configure.ac (DENSITY_LETTER): Fix m4 overquoting. + * .cvsignore: Ignore .bootstrap. + +2005-12-06 Sergey Poznyakoff + + * doc/tar.texi: Document --to-command and --info-script + options. Add missing xrefs. + * src/buffer.c (new_volume): Use sys_exec_info_script() instead of + system(). + * src/common.h (archive_format_string,subcommand_string) + (sys_exec_info_script): New prototypes. + * src/system.c (sys_exec_info_script): New function. + * src/tar.c (archive_format_string): Remove static qualifier. + (subcommand_string): New function. + +2005-12-01 Sergey Poznyakoff + + * src/extract.c: Fix restoring of directory timestamps from + incremental archives. + (directories_first): New variable. + (prepare_to_extract): Set directories_first + (extract_archive): Call apply_nonancestor_delayed_set_stat() only + if not extracting from an incremental archive + (extract_dir): Obtain root_device here, to make sure it works + correctly with -C. + + * src/incremen.c (purge_directory): Skip the member and return if + the archive is not in incremental format. + * tests/incr02.at: New testcase + * tests/Makefile.am: Add incr02.at + * tests/testsuite.at: Likewise + + * THANKS: Add Guerkan Karaman. + * NEWS: Update + +2005-11-30 Paul Eggert + + * doc/tar.texi (Option Summary): Rewrite the + --atime-preserve=system description in response to Ian Turner's + proposed patch. + +2005-11-30 Ian Turner + + * doc/tar.texi (Extracting Specific Files): Remove obsolescent + FIXME. + +2005-11-29 Paul Eggert + + * NEWS: New option --atime-preserve=system, which uses O_NOATIME. + * THANKS: Add Ian Turner. + + * configure.ac: Prefer AC_CHECK_HEADERS_ONCE to AC_CHECK_HEADERS. + Check for stropts.h and sys/filio.h too, for _FIOSATIME. + * doc/tar.texi: Change "modification time" to "data modification + time", "change time" to "status change time", and "filesystem" to + "file system", so that we use terminology consistent with POSIX. + Use American spacing rather than French for sentence ends. + "non-dependable" -> "undependable". + (Option Summary, Attributes): Explain better the pitfalls of the + --atime-preserve option, and suggest read-only mounts,loopback + mounts, and noatime mounts for older systems. + * doc/value.texi (op-atime-preserve-system): Renamed from + op-atime-preserver-system to fix a misspelling. + * src/common.h (enum atime_preserve): Use lower case for enum values. + * src/compare.c: Don't include utimens.h; no longer needed. + (diff_file): Use set_file_atime rather than utimens; avoid closing + diff_handle until after this, so that we can set the file time stamp + via the file descriptor rather than via its name. + * src/create.c: Don't include utimens.h; no longer needed. + (dump_regular_finish): Remove. All callers now do its work inline. + (dump_dir): New arg FD. All callers changed. + Use fdsavedir rather than savedir. + (unknown_file_error): Arg is a const pointer now. + (dump_file0): 2nd arg is a const pointer now. + Treat directories more like files, with respect to --atime-preserve. + For example, also warn if a directory changes while we are dumping it. + Prefer file descriptors to file names when retrieving/setting file + attributes; this saves path-resolution time and allows us to avoid + changing mtime/ctime on Solaris when restoring atime as root. + Use O_DIRECTORY when opening directories, to avoid some race conditions. + Do not reset atime if mtime has changed. Report an error if + we cannot reset atime. + + * lib/.cvsignore: Add malloc.h, regcomp.c, regex.c, regex.h, + regex_internal.c, regex_internal.h, regexc.c; used by rpmatch. + +2005-11-29 Ian Turner + + First cut at adding support for --atime-preserve=system. + * doc/tar.texi (Option Summary): First cut at documenting it. + All other uses of --atime-preserve changed to --atime-preserve=replace. + * doc/value.texi (op-atime-preserve-replace, op-atime-preserver-system): + New. + (op-atime-preserve): Mention METHOD. + * src/common.h (atime_preserve): New enum. + (atime_preserve_option): Now of the enum type rather than bool. + All uses changed. + * src/compare.c (diff_file): Read with O_NOATIME if asked for. + * src/create.c (dump_file0): Read regular and CTG files with O_NOATIME + if asked for. + * src/tar.c (usage): Mention new usage. + (parse_opt): Parse new usage. + +2005-11-29 Paul Eggert + + * THANKS: Convert back to UTF-8, sort (using LC_ALL=C on Debian + stable), and consistently use tabs rather than spaces. + +2005-11-27 Sergey Poznyakoff + + * src/xheader.c: Remove parts of code prematurely introduced + yesterday. Thanks Eric Blake. + +2005-11-26 Sergey Poznyakoff + + * src/xheader.c (xheader_format_name): Fix memory leak. + +2005-11-11 Sergey Poznyakoff + + * gnulib.modules: Add rpmatch + * lib/stdopen.h, lib/stdopen.c: New file. Imported from coreutils. + * lib/Makefile.tmpl: Add stdopen.h, stdopen.c + * po/POTFILES.in: Add rpmatch.c + * src/tar.c (confirm): Rewritten using rpmatch. + (decode_options): Minor optimizations + (main): Call stdopen() to ensure the first three descriptors are + open. + + * tests/multiv01.at, tests/multiv02.at, tests/multiv03.at, + tests/multiv04.at, tests/sparsemv.at, tests/sparsemvp.at, + tests/star/multi-fail.at: Close stdin so that if something fails + causing tar to ask for the next volume, it won't hang the + testsuite. + + * src/buffer.c (flush_write,flush_read): Change data type. + (flush_archive): Compute actual buffer fill level before calling + low level function. + (close_archive): Call flush_archive again if the first call + resulted in partially filled buffer. + (try_new_volume): Rewritten handling of initial headers. + (add_chunk_header): New function. Write an additional header + before the continuation chunk. The purpose of the header is to + allow third-party tars to extract the member. + (simple_flush_write): Take an argument. + (_gnu_flush_write): Correctly handle partially filled buffers. + * src/common.h (flush_read,flush_write): Functions, again. + (write_extended): Changed declaration + (xheader_format_name): New declaration + * src/create.c (write_extended): Change type and meaning of + the first argument. All callers updated + * src/xheader.c (xheader_format_name): Remove static + qualifier. Change last argument. + Correct buffer size calculation (allocated too much space). + (xheader_write): Increase global_header_count here ... + (xheader_write_global): ... instead of here + + * tests/testsuite.at (AT_TAR_CHECK): Define TEST_TAR_FORMAT + * tests/multiv01.at: Update + * tests/multiv02.at: Update + * tests/multiv03.at: Update + * tests/sparsemvp.at: Update + * tests/star/multi-fail.at: Update + + * scripts/tarcat: Handle archives in pax format. Improve handling + of traditional archives. + * doc/tar.texi (Tarcat): New node + +2005-11-10 Sergey Poznyakoff + + Fix splitting of sparse files between the volumes. + + * src/buffer.c (try_new_volume): Bugfix. Always check + continued_file_name. If it is absent, the volume is out + of sync. + (add_multi_volume_header): Create GNU.volume.filename keyword in + the extended header. + * src/sparse.c (sparse_dump_region): Call mv_size_left. + (sparse_dump_file): Enclose the loop in mv_begin/mv_end. + * src/system.c: Do not pad compressed output if it goes to + stdout. + * src/xheader.c (xhdr_tab): New keyword GNU.volume.filename. + + * tests/sparsemv.at: New testcase + * tests/sparsemvp.at: New testcase + * tests/Makefile.am: Add sparsemv.at and sparsemvp.at. + * tests/testsuite.at: Likewise. + +2005-11-09 Sergey Poznyakoff + + * src/buffer.c: Rewritten in a more modular fashion to provide + GNU extensions (multi-volume archives and archive labels) in + pax format. + NOTICE, that some of the aspects (e.g. splitting the archive + on the extended header boundary) are still not solved, others + (splitting a sparse file between the volume) require additional + testing. Wait for the next commit. + + (volume_label,continued_file_name,continued_file_size) + (continued_file_offset): New globals. + (save_name,save_totsize,save_sizeleft): Make static + (mv_begin,mv_end,mv_total_size,mv_size_left): New functions + (open_archive,flush_write,flush_read): Rewritten + + * src/common.h (save_name,save_sizeleft,save_totsize): Remove + globals. + (volume_label,continued_file_name,continued_file_size): New + variables. + (flush_read,flush_write): Pointers to functions + (mv_begin,mv_end,mv_total_size,mv_size_left): New functions + (write_extended): New function. + + * src/compare.c, src/create.c, src/extract.c, src/incremen.c, + src/list.c: Use mv_.* functions uniformly instead of fiddling + with the global variables. + * src/sparse.c: Use mv_.* functions where necessary. + * src/tar.c (decode_options): Allow to use --multi-volume and + --label with pax archives. + * src/xheader.c (xhdr_tab): Support for new GNU keywords. + + * tests/delete01.at, tests/delete02.at, tests/delete03.at, + tests/delete04.at, tests/delete05.at, tests/extrac01.at, + tests/extrac02.at, tests/extrac03.at, tests/extrac04.at, + tests/extrac05.at, tests/incr01.at, tests/incremental.at, + tests/listed01.at, tests/listed02.at, tests/long01.at, + tests/longv7.at, tests/multiv01.at, tests/multiv02.at, + tests/multiv03.at, tests/multiv04.at, tests/options.at, + tests/options02.at, tests/same-order01.at, tests/same-order02.at, + tests/sparse01.at, tests/sparse02.at, tests/sparse03.at, + tests/star/multi-fail.at (AT_KEYWORDS): Improve to allow execution + of related tests in groups. + + * doc/tar.texi: Update + +2005-11-07 Paul Eggert + + * src/xheader.c (struct xhdr_tab.coder): Last arg is void const *, + not void *, to avoid create.c warning from GCC "passing argument 3 + of 'xheader_store' discards qualifiers from pointer target type". + (dummy_coder, atime_coder, gid_coder, gname_coder, linkpath_coder): + (ctime_coder, mtime_coder, path_coder, size_coder, uid_coder): + (uname_coder, sparse_size_coder, sparse_numblocks_coder): + (sparse_offset_coder, sparse_numbytes_coder, dumpdir_coder): + (xheader_store): Likewise. + * src/common.h (xheader_store): Likewise. + +2005-11-07 Sergey Poznyakoff + and Paul Eggert + + * src/tar.c (NS_PRECISION_FORMAT_MASK): New macro. + (tar_timespec_cmp): New function. Wrapper over + timespec_cmp using the timespec precision provided by the + current archive format. + * src/common.h (tar_timespec_cmp): New declaration. + * src/compare.c (diff_file): Use tar_timespec_cmp. + * src/extract.c (file_newer_p): Likewise. + * src/update.c (update_archive): Likewise. + * tests/truncate.at: Reverted changes + * tests/update.at: Reverted changes + +2005-11-07 Sergey Poznyakoff + + Support for incremental formats in pax archives. + Fixed POSIX compatibility of `sparse' extended header keywords. + + * src/common.h (dumpdir_size,get_gnu_dumpdir) + (xheader_string_begin,xheader_string_add) + (xheader_string_end): New functions. + * src/create.c (dump_dir0): Handle incremental backups in pax + archives. + * src/incremen.c (dumpdir_size, get_gnu_dumpdir): New functions. + (purge_directory): Use stat_info.dumpdir instead of getting its + value explicitely. + * src/list.c (list_archive): Handle incremental backups in pax + format. + (decode_header): Initialize stat_info.dumpdir + * src/sparse.c (sparse_diff_file): Bugfix: set seekable. + (pax_dump_header): Store sparse map in GNU.sparse.map. If this + variable has been explicitely deleted, use GNU.sparse.offset/ + GNU.sparse.numbytes variables. + * src/tar.c (decode_options): Incremental options are allowed with + --format=pax + (tar_stat_destroy): Free dumpdir + * src/tar.h (struct tar_stat_info.dumpdir): New member. + * src/xheader.c (xheader_keyword_deleted_p): Remove static + qualifier. + (struct xhdr_tab.decoder): Change prototype. POSIX allows string + values to contain embedded nulls, so take an extra argument + specifying the length of the string. + (decx,decg,dummy_decoder,atime_decoder,gid_decoder) + (gname_decoder,linkpath_decoder,ctime_decoder,mtime_decoder) + (path_decoder,size_decoder,uid_decoder,uname_decoder) + (sparse_size_decoder,sparse_numblocks_decoder) + (sparse_offset_decoder,sparse_numbytes_decoder): Likewise. + (decode_record): Pass value length to the handler + (run_override_list): Pass value length to the decoder + (xheader_print_n): New function + (xheader_print): Rewritten using xheader_print_n + (xheader_finish): Do not rely om strlen to compute the length of + the collected string: it can contain embedded nulls + (xheader_string_begin,xheader_string_add,xheader_string_end): New + functions. + (sparse_map_decoder,dumpdir_coder,dumpdir_decoder): New + functions. Handle GNU.sparse.map and GNU.dumpdir variables. + (xhdr_tab): Add new variables. + + * tests/incr01.at: Test gnu, oldgnu, and posix formats + * tests/incremental.at: Likewise + +2005-11-06 Paul Eggert + + * NEWS: Minor language and white space fixes. + + * tests/truncate.at: Create files whose time stamps must fall on + 1-second boundaries. This prevents tests from failing on hosts + like Solaris 8 that have nanosecond-resolution file time stamps. + * tests/update.at: Likewise. + + * src/xheader.c (strtoimax, strtoumax): Remove decls; now done + in system.h. + +2005-11-06 Sergey Poznyakoff + + * doc/tar.texi: Properly document incremental dumps + * doc/value.texi: Likewise. + * doc/snapshot.texi: Likewise. + +2005-11-05 Sergey Poznyakoff + + Improve listed incremental format: + + * src/common.h (update_parent_directory): New prototype. + * src/create.c (dump_file): Call update_parent_directory. + * src/incremen.c (struct directory.mtime): New member. + (note_directory): Take additional arguments. All callers updated. + (scan_directory): Updated to use more metadata. In particular, + this allows to correctly detect renamed files. + (read_directory_file,write_directory_file) + (write_directory_file_entry): Support new directory file format. + * tests/listed01.at: Sleep 1 sec before creating second file. + * tests/listed02.at: Never skip the test. It should work on any + filesystem. + + * doc/snapshot.texi: New file + * doc/tar.texi: Update. + * doc/Makefile.am: Update. + +2005-11-04 Paul Eggert + + * src/extract.c (set_stat): Rewrite to avoid bug in Forte + Developer 7 C 5.4 Patch 111708-09 (2004-02-19). + +2005-11-04 Sergey Poznyakoff + + * bootstrap: Fix quoting in help output. + (update_po): Use backward-compatible wget option --cache instead + of deprecated -C to accomodate for wget 1.10. + Changes proposed by Eric Blake + * THANKS: Add Eric Blake + +2005-11-02 Paul Eggert + + * doc/tar.texi: Consistently put two spaces after sentences, + and put commas after "i.e." and "e.g.". This is the usual GNU + style in manuals. + + * lib/.cvsignore: Add creat-safer.c, fcntl--.h, fcntl-safer.h, + open-safer.c, openat-die.c, verify.h, to accommodate recent gnulib + changes. + +2005-10-27 Sergey Poznyakoff + + * src/compare.c (diff_dumpdir): Pass a valid device number to + get_directory_contents. + + * THANKS: Add John Thomas McDole + + * bootstrap: If file `.bootstrap' exists in the cwd and is + readable, prepend its contents to the command line + +2005-10-21 Sergey Poznyakoff + + * tests/link01.at: Skip test if ln fails (suppose the OS does + not support hard links). + +2005-10-04 Sergey Poznyakoff + + * src/tar.c (decode_options): Report error if -A or -r is used + together with compression option. + +2005-09-29 Sergey Poznyakoff + + * doc/tar.texi: Use @option and @kbd consistently. + Document new options. + 2005-09-28 Sergey Poznyakoff * NEWS: Updated @@ -6603,8 +7146,8 @@ See ChangeLog.1 for earlier changes. -Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free Software -Foundation, Inc. +Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006 +Free Software Foundation, Inc. This file is part of GNU tar.