X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=ChangeLog;h=76ce6417eef8ca99c265c6bd99e1b69c94a7fcd3;hb=3725b5606f4087d817e8599c5a52fd32157524a6;hp=035c08e29f218292b84dc954daabf3277e659b00;hpb=f143fa5d6493f3770ebfe9f094a9cec8fe2143f2;p=chaz%2Ftar diff --git a/ChangeLog b/ChangeLog index 035c08e..76ce641 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,845 @@ +2007-10-17 Sergey Poznyakoff + + * src/suffix.c: New file. Compress format detection by archive + suffix (when creating). Suggested by Jean-Pierre Demailly. + * src/Makefile.am: Add suffix.c + * src/buffer.c (magic): Add an entry for new lzma format. Proposed + by Lasse Collin. + * src/common.h (set_comression_program_by_suffix): New prototype. + * src/tar.c: New options --auto-compress (-a) and --lzma + * THANKS: Add Lasse Collin and Jean-Pierre Demailly. + * NEWS: Update + * doc/tar.texi: Update + +2007-10-12 Paul Eggert + + * src/utf8.c (string_ascii_p): Recode to avoid bogus GCC 4.2.1 + warning about "comparison is always true due to limited range of + data type" when char is unsigned. + +2007-10-11 Paul Eggert + + Adjust to recent gnulib changes. + * configure.ac: Dont' check for strerror, since gnulib now does this. + * .cvsignore: Add m4, tar-[0-9]*. + * lib/.cvsignore: Adjust to various gnulib file name changes. + Add .deps, rmt-command.h. + +2007-10-10 Sergey Poznyakoff + + * configure.ac, NEWS: Raise version number to 1.19 + * tests/star/README: Update + +2007-10-05 Sergey Poznyakoff + + * src/create.c (dump_regular_file): Fix file padding in case of + truncation to zero size. + * NEWS: Update + +2007-10-04 Sergey Poznyakoff + + * tests/T-null.at: Use AT_DATA for sample output. + +2007-10-03 Sergey Poznyakoff + + * src/incremen.c (try_purge_directory): Ensure that arguments to T + and R are safe. + +2007-09-29 Sergey Poznyakoff + + * src/incremen.c (obstack_code_rename): Apply safer_name_suffix to + name arguments before storing them in T and R records. Reported by + Nicholas Cole. + +2007-09-27 Sergey Poznyakoff + + * configure.ac: Raise version number to 1.18.90 + * NEWS: Likewise + + * doc/snapshot.texi: Document version 2. + * doc/dumpdir.texi: Update. + + Implement --exclude-tag* and --exclude-cache* options for listed + incremental archives. + New option --exclude-vcs to exclude VCS-specific files and + directories. + + * NEWS: Update + * doc/tar.texi: Document --exclude-vcs option + * src/common.h (exclusion_tag_warning, check_exclusion_tags): New + prototypes. + * src/create.c (exclusion_tag_warning, check_exclusion_tags): + Remove static qualifier. + (check_exclusion_tags): account for dirname without terminating + slash. + (dump_dir0): exclusion_tag_all is handled elsewhere. + * src/incremen.c (struct directory): New member tagfile + (make_directory): Initialize tagfile to NULL + (procdir): New argument: entry + Hanlde exclusion tags. + (makedumpdir): Take into account directory->tagfile. + (scan_directory): Hanlde exclusion tags. + * src/tar.c: New option --exclude-vcs + (exclude_vcs_files): New function + +2007-09-14 Paul Eggert + + * AUTHORS: Remove unnecessary information. Just list the + principal authors. + * THANKS: Remove info duplicated from AUTHORS. + +2007-08-25 Jim Meyering + + Don't include . No longer needed. + * src/incremen.c: Don't include . No longer needed. + * src/buffer.c: Likewise. + * src/system.c: Likewise. + * src/tar.c: Likewise. + + Avoid shadowing and unused-variable warnings. + * src/create.c (check_exclusion_tags): Remove declaration of unused + local, "ret". + * src/compare.c (diff_dumpdir): Rename stat->stat_data to avoid + shadowing the syscall. + * src/buffer.c (do_checkpoint): Don't shadow the write syscall. + (try_new_volume): Avoid shadowing "access". + * src/tar.c (decode_options): Rename index->idx to avoid shadowing. + (find_argp_option): Rename option->o to avoid shadowing. + * src/incremen.c (scan_directory): Rename local, dir_name->dir, + to avoid shadowing the function. + (get_directory_contents): Likewise. + * src/system.c (global_pid): Rename from "pid", to avoid being + shadowed by locals. + * src/extract.c (apply_nonancestor_delayed_set_stat): + Rename st->sb to avoid shadowing another local. + +2007-08-24 Sergey Poznyakoff + + * configure.ac, NEWS: Raise version number to 1.18.1 + + * src/buffer.c (check_compressed_archive): Detect files smaller + than 512 bytes. + * tests/shortfile.at: New test case for the above change. + * tests/testsuite.at, tests/Makefile.am: Add shortfile.at + +2007-08-19 Sergey Poznyakoff + + * bootstrap: Gnulib initialization destroyed paxutils m4 files. + Initialize paxutils structure after that of gnulib. + +2007-08-12 Sergey Poznyakoff + + * src/names.c (contains_dot_dot): Fix double-dot recognition in + case of duplicate /. Patch by Dmitry V. Levin. + + * bootstrap (symlink_to_gnulib): Make sure the target directory + exists and create it if it does not. + + * doc/tar.texi: Fix a typo. + +2007-06-28 Sergey Poznyakoff + + * bootstrap: Update for the change of the TP URL + +2007-06-27 Sergey Poznyakoff + + Relicense under GPLv3 + +2007-06-21 Sergey Poznyakoff + + * tests/testsuite.at (AT_TAR_MKHIER): Skip test if genfile is + unable to create the file + * tests/lustar01.at: Likewise + +2007-06-21 Eric Blake + + Resolve testsuite failures 40-42 on cygwin. + * tests/testsuite.at (AT_TAR_MKHIER): Skip tests when long + file names cannot be created. + +2007-06-16 Sergey Poznyakoff + + * doc/Makefile.am (tar_TEXINFOS): Add tar-snapshot-edit.texi + * doc/tar-snapshot-edit.texi: New file + * doc/tar.texi (Fixing Snapshot Files): New appendix + + * scripts/tar-snapshot-edit: New file + * tests/extrac07.at: Add back write permissions on dir + +2007-06-09 Sergey Poznyakoff + + * tests/exclude.at: Sort the output. + +2007-06-08 Sergey Poznyakoff + + * configure.ac, NEWS: Raise version number to 1.17 + + * doc/tar.texi, doc/intern.texi: Replace: s/filename/file name/; + s/(ASCII|ID|BSD)/@acronym{&}/;s/"[^"]+"/``&''/ + Use `path' only when it refers to search paths, use + `file name' otherwise. + Fix various errors (based on patch by Benno Schulenberg) + + * doc/tar.texi (Operation Summary): Restore alphabetical order of + the options. + +2007-06-02 Sergey Poznyakoff + + Fix bug, introduced on 2007-03-30. + + * src/common.h (xform_type): New data type + (transform_member_name): Last argument is of xform_type type + All callers updated + + * src/extract.c: Update calls to transform_member_name + * src/list.c (decode_xform): Exempt symbolic links from component + stripping and name suffix normalization. + + * tests/extrac07.at: Update + +2007-05-30 Sergey Poznyakoff + + * src/xheader.c (decx): Unknown pax keywords produce a warning, + not error. + +2007-05-29 Paul Eggert + + * src/misc.c (set_file_atime): Use gl_futimens, not futimens, + due to gnulib change. + +2007-05-19 Sergey Poznyakoff + + * src/common.h (buffer_write_global_xheader): New function + (struct xheader): Move definition to tar.h + (extended_header): Remove global + (xheader_init): New function + (xheader_decode_global,xheader_store,xheader_read) + (xheader_write_global,xheader_write,xheader_string_begin) + (xheader_string_add,xheader_string_end): Take xhdr as first + argument. + * src/tar.h (struct xheader): New definition + (struct tar_stat_info): New member xhdr (extended header). + + * src/xheader.c (xheader_init): New function + (xheader_decode_global,xheader_store,xheader_read) + (xheader_write_global,xheader_write,xheader_string_begin) + (xheader_string_add,xheader_string_end): Take xhdr as first + argument. + + * src/buffer.c (buffer_write_global_xheader): New function + Update to use new xheader calls. + + * src/compare.c, src/create.c, src/delete.c, src/list.c, + src/sparse.c, src/tar.c, src/update.c: Global extended_header + removed, use new xheader calls instead. + + * tests/T-null.at: Minor fix + * tests/atlocal.in (tarball_prereq): Discard eventual md5sum + output. + +2007-05-18 Sergey Poznyakoff + + * src/create.c (dump_file0): Original ctime cannot be used as a + directory change indicator if --remove-files is given. + +2007-04-12 Paul Eggert + + Adjust to latest Gnulib. + * lib/.cvsignore: Add dirfd.c, dirfd.h, float+.h, mbscasecmp.c, + stdio.h, stdio_.h, stdlib.h, stdlib_.h, time.h, time_.h, unistd.h. + Remove exit.h, getcwd.h, mempcpy.h, memrchr.h, mkdtemp.h, stpcpy.h, + strcase.h, strchrnul.h, strdup.h, strndup.h, strnlen.h, time_r.h, + vsnprintf.h. + * m4/.cvsignore: Remove localedir.h. Sort. + +2007-04-03 Paul Eggert + + * src/common.h (closeopen): Remove decl. + * src/misc.c: Don't include , ; no longer + needed. + (get_max_open_files, closeopen): Remove. All callers removed. + (chdir_dir): Use a different technique, which doesn't rely on closing + all open files. + * src/tar.c (main): Don't call closeopen. + +2007-04-04 Sergey Poznyakoff + + * NEWS: Update + * doc/tar.texi: Update + * src/system.c (sys_exec_info_script): Store the + inter-communication fd in the environment variable TAR_FD + +2007-04-03 Sergey Poznyakoff + + * src/tar.c (main): Move closeopen after decode_options to + allow shell process substitution to work. + * tests/extrac07.at: Expect a warning on stderr. + +2007-03-30 Sergey Poznyakoff + + * src/common.h (transform_name_fp): Change signature + (transform_member_name): New function + * src/extract.c (extract_link, extract_symlink): Use + transform_member_name instead of safer_name_suffix so that + --transform and --strip-components affect links as well. + * src/list.c (transform_member_name): New function + (decode_header): Use transform_member_name + * src/names.c (all_names_found): Remove check for matching_flags. + * NEWS: Update + + * TODO: Update + * bootstrap (slurp): Remove any occurrences of $bt from the + generated gnulib.mk + * src/incremen.c: Do not include mkdtemp.h + +2007-01-26 Paul Eggert + + Adjust to recent gnulib changes. + * lib/.cvsignore: Add fchownat.c, rmt-command.h, strerror.c, string.h, + string_.h, sys, sys_time_.h, unistd_.h, wchar_.h, wctype_.h. + Remove localedir.h, size_max.h, xsize.h. + * src/xheader.c: Don't include stpcpy.h; no longer needed, now that + gnulib string.h defines stpcpy on all platforms. + +2007-01-23 Sergey Poznyakoff + + * doc/tar.texi: Document --exclude-caches* and --exclude-tag* + options. + * src/common.h (exclude_caches_option): Remove + (enum exclusion_tag_type): New data type + (add_exclude_tag): Rename to add_exclusion_tag + (cachedir_file_p): New prototype + * src/create.c (struct exclude_tag): rename to exclusion_tag + (check_exclusion_tags): New function + (cachedir_file_p): New function (from check_cache_directory) + (dump_dir0,dump_file0): Use check_exclusion_tags + * src/tar.c: New options --exclude-caches-all, + --exclude-caches-under, --exclude-tag-all, --exclude-tag-under + * tests/exclude.at: New file + * tests/Makefile.am (TESTSUITE_AT): Add exclude.at + * tests/testsuite.at: Add exclude.at + +2007-01-19 Sergey Poznyakoff + + * gnulib.modules: Require strerror + * doc/gendocs_template: Fix typos + * scripts/xsparse.c (expand_sparse): use ftruncate to handle the + trailing hole + * src/sparse.c (sparse_skip_file,pax_dump_header_1) + (pax_decode_header): Keep track of the number of bytes + written. + * configure.ac: Version 1.16.2 + * NEWS: Update + +2007-01-04 Sergey Poznyakoff + + * src/compare.c (diff_dumpdir): Compare directory contents using + dumpdir_cmp. Do not free dumpdir_buffer, it will leave the + incremental directory table in the inconsistent state and trigger + full dump. + (read_and_process): Process dumpdirs no matter what the archive + format. + * src/incremen.c (list_dumpdir): Minor fixes. + + * src/compare.c (read_and_process): Fix type of "size" + +2006-12-13 Sergey Poznyakoff + + * tests/T-null.at: Skip the test if genfile is not able to create + the filename with an embedded newline. + +2006-12-12 Paul Eggert + + Port to Forte Developer 7 C 5.4 and C99. + * src/common.h (add_exclude_tag): Add decl; C99 requires this + and Forte warns about it. + * src/incremen.c: Include for mkdtemp prototype, + for same reason. + * src/misc.c (get_max_open_files): Rewrite to avoid code that + Forte C complains about as being unreachable. + * src/xheader.c (mtime_code): Rewrite to avoid Forte error + reported by Trond Hasle Amundsen. + + * src/incremen.c (compare_dirnames): Rewrite to avoid casts. + * src/utf8.c (string_ascii_p): Likewise. + * src/xheader.c (mtime_coder, volume_size_coder, volume_offset_coder): + Likewise. + +2006-12-08 Sergey Poznyakoff + + * bootstrap: Add paxutils files to dot_ignore. + + * configure.ac: Raise version number to 1.16.1 + * bootstrap (slurp): Create .(cvs|git)ignore if not present + * po/.cvsignore, m4/.cvsignore: Remove automatically generated + files. + +2006-12-07 Sergey Poznyakoff + + * NEWS: Update + * Makefile.am (distclean-local): Fixed + * doc/tar.texi: Update documentation of --exclude-tag + * src/create.c (dump_dir0): Move checks for exclude tags to + dump_file0. + (dump_dir): Move calls to ensure_slash to dump_file0 + * src/extract.c (extract_file): Call skip_member if open fails. + Patch proposed by Jan-Benedict Glaw + * tests/truncate.at: Use genfile instead of dd, because on some + systems /dev/zero is not available. + +2006-12-04 Paul Eggert + + * NEWS: Fix some race conditions with tar -x --same-owner. + * src/extract.c (ARCHIVED_PERMSTATS): Add a comment saying that + S_IRWXG | S_IRWXO might be masked out. + (set_mode): Set the mode if some bits were masked out originally. + (set_stat): Don't chmod before chown, as that might temporarily + grant permissions that we don't want to grant. The chmod was + there only to work around broken hosts, so add a comment advising + users not to use those broken hosts instead. + (repair_delayed_set_stat, extract_dir): + Remember to mask out current umask before inverting permissions. + (extract_dir): If the owner might change, or if the mode has + special bits, create the directory 700 at first, but restore it later. + (open_output_file): New arg mode; all uses changed. + (extract_file, extract_node, extract_fifo): If the owner might + change, omit group and other bits at first, but restore them after + changing the owner. + +2006-12-04 Jim Meyering + + * doc/tar.texi (Long Options): Remove doubled word. + +2006-11-30 Sergey Poznyakoff + + * src/xheader.c (xheader_read): Remove unused variable + + * po/POTFILES.in: Remove src/mangle.c + + * bootstrap: Implement --update-po and .bootstrap + + * src/create.c (dump_dir0): Implement --exclude-tag option + * src/tar.c: Likewise + * doc/tar.texi (exclude): Document --exclude-tag + +2006-11-29 Paul Eggert + + * NEWS: Remove support for mangled names. + * doc/tar.texi (verbose tutorial): Likewise. + * src/Makefile.am (tar_SOURCES): Remove mangle.c. + * src/common.h (extract_mangle): Remove decl. + * src/extract.c (extract_mangle_wrapper): Remove. + (prepare_to_extract): Remove support for mangled names. + * src/list.c (read_and, print_header): Likewise. + * src/mangle.c: Remove. + * src/tar.h (GNUTYPE_NAMES): Remove. + + Port to latest gnulib. There were a lot of changes, so the + simplest way to get this up and running was to switch to coreutils + bootstrap procedure. I noticed one feature missing after this + merge: the ability to update a single .po file. I can add that + later if need be. + * README-cvs, bootstrap.conf: New files. + * lib/.cvsignore: Remove Makefile.am, printf-parse.c, vasnprintf.c. + Add fstatat.c, gnulib.mk, openat-proc.c, same-inode.h, stat_.h, + tempname.c, tempname.h, uinttostr.c. + * lib/printf-parse.c, lib/vasnprintf.c: New files, from coreutils, + to override gnulib, so that we don't need xsize.h. + * bootstrap: Replace with coreutils bootstrap, except add support + for paxutils. + * configure.ac (gl_USE_SYSTEM_EXTENSIONS): Remove, as gl_EARLY now + does this. + (gl_EARLY, gl_INIT): Add. + (tar_GNULIB): Remove. + * gnulib.modules: Add configmake. + * lib/Makefile.tmpl: Remove, replacing with.... + * lib/Makefile.am: New file. + * src/Makefile.am (tar.o): Remove dependency: Automake does this + for us. + * src/tar.c: Include and , not + . + +2006-11-13 Sergey Poznyakoff + + * src/xheader.c (mtime_coder): Treat non-null data as a pointer to + struct timespec, overriding st->mtime + * src/create.c (start_header): Pass mtime as a call-specific data + to xheader_store. + + * tests/truncate.at: Do not use 'k' modifier in dd options. + * tests/append02.at: Do not depend on command timing. + +2006-11-01 Sergey Poznyakoff + + * src/tar.c (enum read_file_list_state.file_list_skip): New value + (read_name_from_file): Skip zero-length entries + + * tests/T-empty.at: New test case + * tests/T-null.at: New test case + * tests/extrac07.at: New test case + * tests/Makefile.am: Add new test cases. + * tests/testsuite.at: Add new test cases. + * tests/extrac02.at: Add more keywords + * tests/extrac04.at: Likewise + * tests/extrac06.at: Likewise + * tests/shortrec.at: Do not assume tar's default archive is stdout + +2006-10-31 Sergey Poznyakoff + + * src/extract.c, src/xheader.c: Call last_component instead of + base_name. The latter returns a malloced string since 2006-03-11. + +2006-10-21 Sergey Poznyakoff + + * NEWS, configure.ac: Version 1.16 + * Makefile.am (distclean-local): New rule + +2006-10-17 Sergey Poznyakoff + + * src/tar.c: Fix help output formatting. Thanks Benno + Schulenberg. + +2006-10-16 Sergey Poznyakoff + + * Makefile.am (dist-hook): Create a cpio archive. + * NEWS: Update + +2006-10-14 Sergey Poznyakoff + + * doc/tar.texi (Synopsis): Document tar exit codes. + * src/create.c (dump_regular_file,dump_file0): Set exit_status to + TAREXIT_DIFFERS if the file being dumped was truncated or + otherwise changed. + * src/tar.c: Do not attempt to close stderr after call to + close_stdout. + * tests/grow.at: New test case + * tests/Makefile.am: New test grow.at + * tests/testsuite.at: Likewise + * tests/truncate.at (AT_KEYWORDS): Keyword `filechange' + Test tar exit status. + + * src/buffer.c (_open_archive): Make sure stdlis is set to stderr + when we are writing archive to stdout (unless --index-file is + used). Bug introduced on 2006-07-06. + * tests/Makefile.am: New test verbose.at + * tests/testsuite.at: Likewise + * tests/indexfile.at (AT_KEYWORDS): Add stdout keyword + * tests/verbose.at: New test case + +2006-10-02 Sergey Poznyakoff + + * THANKS: Add Joerg Weilbier + * src/buffer.c (new_volume): Initialize current_block + * src/xheader.c (xheader_string_end): Fix diagnostic message. + * tests/multiv05.at: New testcase. + * tests/Makefile.am, tests/testsuite.at: Add multiv05.at + +2006-09-27 Sergey Poznyakoff + + * bootstrap: Use ${package} instead of hardcoding package name + * doc/tar.texi: Minor fix + * src/tar.c (doc0, doc1, initialize_argp_doc): Removed. Rely on + the new argp method instead. + +2006-09-12 Sergey Poznyakoff + + * README: Fix a typo + +2006-09-08 Paul Eggert + + Adjust to latest gnulib. + * lib/.cvsignore: Add at-func.c, configmake.h, fchmodat.c, + fcntl.h, fcntl_.h, inttypes_.h, lstat.c, lstat.h. + * tests/testsuite.at (AT_TAR_MKHIER): Use install-sh -d + rather than the no-longer-included mkinstalldirs. + +2006-09-08 Sergey Poznyakoff + + * src/incremen.c (try_purge_directory): Initialize struct st. Fix + condition for selecting candidates for removal. + * README-alpha: List texinfo among build prerequisites for the CVS + version. + + * bootstrap (intl_files_to_remove): Do not remove m4/inttypes-h.m4 + and m4/inttypes-pri.m4 + +2006-08-11 Paul Eggert + + * bootstrap: Set XGETTEXT_OPTIONS to flag our printf-format functions, + so that translators are warned about strings that are formats but + don't look like formats. This might help prevent core dumps. + * configure.ac (AM_GNU_GETTEXT): Upgrade to need-formatstring-macros. + Suggested by Eric Blake to avoid problems like + . + (AM_GNU_GETTEXT_VERSION): Upgrade from 0.12.1 to 0.15. The gettext + manual says we should use the version number normally expected of + maintainers, neither more nor less. + + * bootstrap (get_translations): + Don't exclude ky.po; it is working again. + +2006-08-09 Paul Eggert + + * bootstrap (get_translations): + Don't exclude ja.po; it is working again. + Don't remove all old .po files if we're merely updating one. + * po/.cvsignore: Add Makevars. + +2006-08-07 Paul Eggert + + * src/tar.c: Work around limitation imposed by gettext 0.15 + by concatenating strings with "\v" after translation. + (doc): Remove, splitting into: + (doc0, doc1): New constants. + (argp): Don't use doc; just initialize to NULL. + (initialize_argp_doc): New function. + (decode_options): Use it. + + * 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 + + * 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 , 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 + + * bootstrap: Adjust to today's change to gnulib-tool by invoking + it with --assume-autoconf='latest-stable'. + +2006-07-16 Paul Eggert + + 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 + + * THANKS: Add Ralf Wildenhues + * NEWS: Update + +2006-07-09 Ralf Wildenhues + + * doc/dumpdir.texi, doc/snapshot.texi, doc/sparse.texi, + doc/tar.texi: Fix some typos. + +2006-07-06 Sergey Poznyakoff + + tar --index-file=FILE --file=- sent the archive to FILE, and + the listing to stderr. Bug reported by Marcin Gryszkalis + + + * 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 + + * 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 + + * bootstrap (update_po): Fix single translation update + +2006-07-03 Sergey Poznyakoff + + * 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 + + * doc/tar.texi: Update. Add cross-references. + * doc/sparse.texi: Add cross-references. + +2006-06-25 Sergey Poznyakoff + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 * doc/tar.texi: Document better the --totals option @@ -63,7 +905,7 @@ argument means "print dots instead of textual checkpoints". (tar_help): New function * src/transform.c: Minor fixes. - + 2006-06-08 Sergey Poznyakoff * gnulib.modules: Add mkdtemp @@ -74,12 +916,12 @@ (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 + * doc/tar.texi: Update 2006-06-07 Sergey Poznyakoff @@ -101,7 +943,7 @@ * tests/multiv04.at: Use genfile --files-from (Above changes need new genfile.c from paxutils) - + * TODO: Update * NEWS: Update * doc/tar.texi: Update @@ -121,7 +963,7 @@ 2006-05-31 Sergey Poznyakoff * src/incremen.c (make_directory): Fix initialization of struct - directory. + directory. 2006-05-25 Sergey Poznyakoff @@ -171,7 +1013,7 @@ * 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 * src/buffer.c (change_tape_menu): Fix typo (uninitialized @@ -219,12 +1061,12 @@ (AT_STAR_PREREQ): Provide md5 sum. * lib/.cvsignore: Update - + 2006-05-08 Sergey Poznyakoff - - * 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 @@ -237,8 +1079,8 @@ 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 @@ -262,12 +1104,12 @@ (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 @@ -289,12 +1131,12 @@ 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 @@ -308,7 +1150,7 @@ * src/extract.c (extract_dir): Fix toggling existing directory permissions (Debian bug #361077). Use parts of patch provided by - Ian Jackson . + Ian Jackson . * src/compare.c: Minor changes * src/incremen.c (directory.new): New member (note_directory,find_directory: Use make_directory to create @@ -316,8 +1158,8 @@ (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 (trivial change) * tests/atlocal.in (PATH): Add build-aux from the source tree, @@ -7574,29 +8416,31 @@ time_from_oct, uid_from_oct, uintmax_from_oct): New decls. (print_for_mkdir): 2nd arg is now mode_t. -See ChangeLog.1 for earlier changes. + ----- + See ChangeLog.1 for earlier changes. - -Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006 -Free Software Foundation, Inc. + ----- + + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. -This file is part of GNU tar. + This file is part of GNU tar. -GNU tar is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. -GNU tar is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + 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., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. + 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., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. Local Variables: mode: change-log