X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=ChangeLog;h=8190e13a2c3687bef49600e4dcb3c58f5f54ef01;hb=475a54cc06d3bf2f61efcd6171c3b9ca9518b559;hp=29aaa2806609324d7a27e26efd9e03a05ea7fa8a;hpb=96148b87b79a7c22e06088d8f8bba9d5b303d09c;p=chaz%2Ftar diff --git a/ChangeLog b/ChangeLog index 29aaa28..8190e13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,525 @@ +2003-11-30 Sergey Poznyakoff + + * configure.ac: Check for setlocale. Thanks Bruno Haible for + reporting. + +2003-11-25 Sergey Poznyakoff + + * src/create.c (write_gnu_long_link): Use oldgnu + magic with @LongLink blocks. + +2003-11-17 Sergey Poznyakoff + + * src/tar.h: Support for star sparse format. + * src/sparse.c: Likewise. + +2003-11-17 Sergey Poznyakoff + + * src/sparse.c (sparse_diff_file): New function + * src/common.h (sys_compare_uid,sys_compare_gid): New functions + (sys_compare_uid_gid): Removed. + (sys_compare_links,report_difference): Changed prototype + (sparse_diff_file): New function + * src/system.c (sys_compare_uid,sys_compare_gid): New functions + (sys_compare_uid_gid): Removed. + (sys_compare_links): Changed declaration + * src/compare.c (diff_archive): Use sparse_diff_file. + +2003-11-16 Sergey Poznyakoff + + Rewritten sparse file handling. + + * src/sparse.c: New file. Provides a universal framework + for various methods for sparse files handling. + * src/Makefile.am: Added sparse.c + * src/common.h (struct sp_array,sparsearray,sp_array_size) + (init_sparsearray,fill_in_sparse_array): Removed + (enum dump_status): New data type + (pad_archive,close_diag,open_diag,read_diag_details) + (readlink_diag,savedir_diag,seek_diag_details,stat_diag): New + functions. + (sparse_file_p,sparse_dump_file,sparse_extract_file): New + functions. + (print_header): Changed prototype declaration. + * src/tar.h (struct sp_array): Declaration from common.h + (struct tar_stat_info): New members archive_file_size, + sparse_map_avail,sparse_map. + * src/create.c: Major rewrite. + * src/extract.c: Use new sparse file interface. + * src/compare.c (diff_sparse_files): Temporary placeholder. + + * src/buffer.c: Minor changes + * src/tar.c: Likewise. + * src/list.c: Likewise. + * src/misc.c (close_diag,open_diag,read_diag_details) + (readlink_diag,savedir_diag,seek_diag_details,stat_diag): New + diagnostics functions. + * src/incremen.c: Use new diagnostics functions. + * src/names.c: Likewise. + +2003-11-14 Sergey Poznyakoff + + * configure.ac: Fixed check for setsockopt + + * src/create.c: Do not zero-terminate name field if + the name is exactly 100 characters long. + (write_ustar_long_name): Fixed cheking for unsplittable + names. + +2003-11-14 Sergey Poznyakoff + + * src/create.c (start_header): Removed debugging hook + (dump_file): Fixed handling of linkname field. + * src/names.c (safer_name_suffix): If the input + file name ends with a slash, output one should do so + as well. + * doc/tar.texi: Documented --format=ustar + +2003-11-14 Sergey Poznyakoff + + * src/tar.h (archive_format): USTAR_FORMAT: New type. + * src/create.c: Added POSIX.1-1988 support. + * src/names.c (safer_name_suffix): Skip leading ./ + * src/tar.c: New option --format=ustar forces + POSIX.1-1988 archive format. + * tests/delete03.sh: Updated. + * tests/extrac04.sh: Updated. + * tests/multiv01.sh: Updated. + +2003-11-13 Sergey Poznyakoff + + * src/list.c (read_and): Initialize current_stat_info + and extended_header at the start of the loop. + * src/names.c (all_names_found): Check if the argument + contains valid filename. Fixes coredump on `not_a_tar_file' + * src/xheader.c (atime_decoder,gid_decoder,ctime_decoder) + (mtime_decoder,size_decoder,uid_decoder): Use xstrtoumax. + Fixes `pax-big-10g' bug. + +2003-11-12 Paul Eggert + + Fix some C compatibility bugs reported by Joerg Schilling. + + * src/common.h (stripped_prefix_len): Fix misspelling + "stripped_path_len" in declaration. + * src/rmt.c (main): Use "return FOO;" rather than + "exit (FOO);"; we no longer have to worry about + pre-ANSI hosts that mishandled returned values from "main". + * src/tar.c (main): Likewise. This avoids warnings on some + compilers. + * src/system.c: Include signal.h, for 'kill'. + * src/system.h (DEV_BSIZE): Remove. + (DEFAULT_ST_BLKSIZE): New macro. + (ST_BLKSIZE): Use it, instead of DEV_BSIZE. + * src/tar.c (enum): Remove comma just before }. + +2003-11-12 Sergey Poznyakoff + + * src/list.c (decode_header): Initialize st_atime and + st_ctime. + +2003-11-11 Sergey Poznyakoff + + * configure.ac (tar_save_LIBS): Bugfix. Thanks Adrian + Bunk for reporting. + * doc/tar.texi: Fixed spelling. Thanks Martin Buchholz + for spotting. + +2003-11-04 Paul Eggert + + * src/xheader.c (xhdr_tab): Make it extern, not static, as C89 and + C99 require this. + +2003-10-26 Paul Eggert + + * src/system.c (sys_spawn_shell): Cast trailing null to (char *). + Bug reported by Christian Weisgerber. + +2003-10-19 Sergey Poznyakoff + + * AUTHORS: Updated + * NEWS: Updated + * src/tar.c (decode_options): Removed superfluous archive format + check + * doc/tar.texi: Documented new features. + +2003-10-08 Sergey Poznyakoff + + * NEWS: Updated + * THANKS: Added Wojciech Polak + * configure.ac: Added checks for missing functions. Raised + version number to indicate alpha release. + * lib/Makefile.am: Added missing headers + * lib/waitpid.c: Added missing includes. + * src/extract.c: Likewise. + * src/names.c: Removed spurious includes. + * src/xheader.c: Likewise. + * src/system.h [MSDOS]: Fixed spelling of EACCES. Added + macro overriding broken mkdir prototypes. + +2003-10-04 Sergey Poznyakoff + + * configure.ac: Check for dev_t and ino_t. + * m4/Makefile.am: Added missing files. + * src/system.c: New file. + * src/Makefile.am: Added system.c + * src/common.h: Prototypes for functions from system.c + * src/system.h (SET_BINARY_MODE, ERRNO_IS_EACCESS): New defines + * src/buffer.c: Moved system dependencies to system.c + * src/compare.c: Likewise. + * src/create.c: Likewise. + * src/delete.c: Likewise. + * src/extract.c: Likewise. + * src/rtapelib.c: Likewise. + +2003-10-04 Sergey Poznyakoff + + Implemented --occurrence option. + + * NEWS: Updated. + * src/tar.c: New option --occurrence. + * src/common.h (occurrence_option): New global + (struct name): Changed `found' member to `uintmax_t + found_count'. + (names_done): Removed + (all_names_found): Changed prototype. + (ISFOUND,WASFOUND): New macros + * src/delete.c (delete_archive_members): Honor --occurrence + option. + * src/list.c (read_and): Likewise. + * src/names.c: Count number of occurrences of each name in the + archive. + (name_match): Honor --occurrence option. + (names_done): Removed + (all_names_found,names_notfound): Rewritten. + +2003-10-02 Sergey Poznyakoff + + * src/tar.c: Removed extra precaution regarding + subcommand_option == CAT_SUBCOMMAND + * lib/Makefile.am: Updated + +2003-10-02 Sergey Poznyakoff + + * src/common.h (names_done): New function. + * src/names.c: Likewise. + * src/list.c (read_and): Use all_names_found() as `while' + condition. + * src/tar.c: New option --first-copy + * NEWS: Updated + +2003-09-24 Paul Eggert + + * src/rmt.c (main): Don't translate Copyright string; international + law says the word "Copyright" should be in English. + * src/tar.c (decode_options): Likewise. + +2003-09-22 Paul Eggert + + * doc/tar.texi (extracting untrusted archives): New section. + + * src/common.h (stripped_path_len): Renamed from cut_path_elements. + Return size_t, not pointer, so that we don't have to worry about + violating the C standard by converting char const * to char *. + All callers changed. + * src/names.c (stripped_path_len): Likewise. Strip file system + prefix, too. Count adjacent slashes as if they were one slash; + that is the POSIX standard. + +2003-09-17 Paul Eggert + + * README-alpha: Document maintainer tool assumptions a bit. GNU + 'sed' is no longer required. For GNU m4 1.4, suggest the patch in + Debian bug 211447. Fix minor misspellings/whitespace nits. + + * configure.ac (AC_AIX, AC_MINIX): Remove; subsumed by + gl_USE_SYSTEM_EXTENSIONS. + + * lib/.cvsignore: Add exit.h, time_r.c, time_r.h. + * m4/.cvsignore: Add restrict.m4, time_r.m4. + +2003-09-17 Paul Eggert + + * bootstrap: Don't use "for option; do"; + Solaris 8 /bin/sh doesn't like that. + +2003-09-17 Sergey Poznyakoff + + * README-alpha: Updated + * bootstrap: Updated + +2003-09-17 Sergey Poznyakoff + + * README-alpha: Updated + * bootstrap: Updated + * po/POTFILES.in: Added src/xheader.c + * src/common.h (cut_path_elements): Added proto. + +2003-09-05 Sergey Poznyakoff + + * src/buffer.c: Use ngettext where appropriate. + * src/compare.c: Likewise. + * src/create.c: Likewise. + * src/misc.c: Likewise. + * src/tar.c: Likewise. + * src/update.c: Likewise. + +2003-09-04 Sergey Poznyakoff + + * .cvsignore: Added *.shar.gz + * NEWS: Updated + * 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/tar.c: New option --strip-path=NUM. + (decode_options) Assign boolean values to bool variables. + +2003-09-04 Sergey Poznyakoff + + * src/delete.c: Fixed deletion from the POSIX archives. + * src/list.c (read_header): Minor change. + * src/tar.c (main): Do not check for volume_label_option + if subcommand_option is not CREATE_SUBCOMMAND. + * src/xheader.c (xheader_decode): Store the header as + well (for eventual delete). + + * tests/incremen.sh: Explicitly request GNU format. This will + disappear when GNU extended header keywords are working. + * tests/multiv01.sh: Likewise + * tests/volume.sh: Likewise + +2003-09-04 Sergey Poznyakoff + + * src/create.c: Support for "linkpath" extended keyword. + * src/xheader.c (decode_record): Reversed the return + condition. + +2003-09-03 Sergey Poznyakoff + + * configure.ac: Allow to redefine the default output format. + * src/tar.c: Use DEFAULT_ARCHIVE_FORMAT macro + (archive_format_string): New function. + (usage): Updated help output. + * README: Updated. + * NEWS: Updated. + * TODO: Updated. + +2003-09-02 Paul Eggert + + * src/common.h (destroy_stat, xheader_decode, xheader_store, + xheader_read, xheader_finish, xheader_destroy): Add decls; + C99 requires this. + + * src/create.c (write_extended): Remove unused local 'bufsize'. + + * src/delete.c (delete_archive_members): Handle case of + HEADER_SUCCESS_EXTENDED followed by HEADER_FAILURE. + * src/list.c (read_and): Abort if HEADER_SUCCESS_EXTENDED + occurs, as it's not possible. + * src/update.c (update_archive): Likewise. + + Use "const" when possible in new code. + * src/tar.c (struct fmttab.name): Now char const *. All uses changed. + (fmttab): Now const. All uses changed. + * src/xheader.c (struct xhdr_tab.keyword): Now pointer to const. + (struct xhdr_tab.coder, struct xhdr_tab.decoder, locate_handler, + decode_record, xheader_store, xheader_print, code_string, code_time, + code_num, dummy_coder, dummy_decoder, atime_coder, atime_decoder, + gid_coder, gid_decoder, gname_coder, gname_decoder, linkpath_coder, + linkpath_decoder, ctime_coder, ctime_decoder, mtime_coder, + mtime_decoder, path_coder, path_decoder, size_coder, size_decoder, + uid_coder, uid_decoder, uname_coder, uname_decoder): + Use pointers to const when possible. + (xhdr_tab): Now const. + + * src/tar.c (fmttab): Avoid GCC warning by not eliding initializers. + (set_archive_format): Report an error if no format name matches, + instead of returning an undefined value. + + * src/xheader.c (struct xhdr_tab.decoder, dummy_decoder, + atime_decoder, gid_decoder, gname_decoder, linkpath_decoder, + ctime_decoder, mtime_decoder, path_decoder, size_decoder, + uid_decoder, uname_decoder): Remove unused keyword arg. + All uses changed. + + * src/tar.c (set_archive_format): Now static. + * src/xheader.c (xhdr_tab, format_uintmax): Now static. + + * src/xheader.c (dummy_coder, dummy_decoder, atime_coder, + atime_decoder, gid_coder, gid_decoder, gname_coder, gname_decoder, + linkpath_coder, linkpath_decoder, mtime_coder, mtime_decoder, + ctime_coder, ctime_decoder, path_coder, path_decoder, size_coder, + size_decoder, uid_coder, uid_decoder, uname_coder, uname_decoder): + Remove forward decls; no longer needed. + (xhdr_tab): Move to end, so that the forward decls aren't needed. + Add a forward declaration. + + Use 'bool' in new code, when appropriate. + * src/xheader.c (decode_record): Return bool, not int. + * src/common.h (read_header): Since it accepts bool, change + all callers to use false and true rather than 0 and 1. + + * src/xheader.c (decode_record): Fix misspelling in diagnostic + "extended headed" -> "extended header". + + GNU coding style fixes. + * src/xheader.c (decode_record, xheader_decode): + Do not use decls like "char *p, *q;". + + Minor style fixes. + (xheader_store): Avoid parentheses around object operand of sizeof. + +2003-09-03 Sergey Poznyakoff + + * src/create.c (start_header): Store long file names + in "path" keyword of an extended header if in POSIX + mode. + (finish_header): print header before calling write_extended(). + * src/list.c (list_archive): Always decode the header. This + is necessary so the extended header is processed and the correct + filename is printed no matter what the state of verbose_option. + * src/xheader.c (xhdr_tab): Reserved GNU keywords (commented out + for the time being). + +2003-09-01 Paul Eggert + + Update from gnulib, and correct fnmatch to fnmatch-gnu. + * bootstrap (gnulib_modules): Change fnmatch to fnmatch-gnu. + Sort. + * configure.ac (gl_USE_SYSTEM_EXTENSIONS): Use this instead + of AC_GNU_SOURCE. + * lib/.cvsignore: Add alloca.h, stdbool.h. Sort. Append newline. + * lib/Makefile.am (lib_OBJECTS): New macro, for convenience when + copying rules from gnulib module descriptions. + (BUILT_SOURCES, EXTRA_DIST, all-local, alloca.h): + Update from gnulib modules alloca, fnmatch, getline, stdbool. + * m4/.cvsignore: Add utimes-null.m4. Sort. + +2003-09-01 Sergey Poznyakoff + + Added initial support for creating POSIX headers. + + * src/common.h (MAXOCTAL11,MAXOCTAL7): New defines + (string_to_chars): New functions + (struct xheader): Changed structure + (gid_to_gname,gname_to_gid,uid_to_uname,uname_to_uid): Changed + prototypes. + * src/create.c (string_to_chars): New function. + (write_extended): New function + (start_header): Create extended POSIX headers if necessary. + (finish_header): Likewise. + * src/list.c (print_header): Take user/group from + current_stat_info. + * src/names.c (gid_to_gname,gname_to_gid) + (uid_to_uname,uname_to_uid): Changed prototypes. + * src/tar.c: New option --format. + * src/tar.h (OLDGNU_COMPATIBILITY): Removed + (struct extra_header): Removed unused structure. + (union block.extra_header): Removed unused member. + * src/xheader.c: Implemented coder functions. + * bootstrap: Added obstack. + * lib/.cvsignore: Likewise. + * configure.ac: Added 'gl_OBSTACK' + * m4/Makefile.am: Added new files. + * m4/.cvsignore: Likewise. + * TODO: Minor formatting change + +2003-08-31 Sergey Poznyakoff + + Added initial support for POSIX extended and STAR headers + (only for listing/extracting). + + * src/xheader.c: New file. + * src/Makefile.am: Added xheader.c + * src/tar.h (struct star_header): New datatype + (XHDTYPE,XGLTYPE): New defines + (enum archive_format:STAR_FORMAT): New member + (struct tar_stat_info): New datatype. + (union block.star_header): New member. + * src/common.h (orig_file_name,current_file_name) + (current_trailing_slash,current_link_name): Removed variables. + (current_stat_info): New variable + (current_stat): Removed + (extended_header): New variable + (decode_header): Changed prototype. + * src/list.c (decode_header): Added initial support for POSIX extended + and STAR headers. + (skip_member): Check oldgnu_header only if current_format is set + to OLDGNU_FORMAT. + * src/buffer.c: Use current_stat_info + * src/compare.c: Likewise. + * src/create.c: Likewise. + * src/delete.c: Likewise. + * src/incremen.c: Likewise. + * src/mangle.c: Likewise. + * src/update.c: Likewise. + * src/extract.c: Likewise. + (make_directories): Improved check for the existence of the directory + * src/tar.c (destroy_stat): New function. + +2003-08-29 Paul Eggert + + * NEWS, bootstrap: Drop en_GB locale; it was more trouble than it + was worth (e.g., different users in en_GB disagree about -ize + versus -ise). + * po/en_GB.po: Remove. + +2003-07-28 Sergey Poznyakoff + + * TODO: Updated + * NEWS: Updated + * src/tar.c: Removed support for the obsolete command line + options. + * doc/tar.texi: Removed references to the obsolete command + line options. + +2003-07-27 Sergey Poznyakoff + + * TODO: Updated + * NEWS: Updated + * doc/tar.texi: Updated + * src/common.h (check_links_option): New variable + (orig_file_name): New variable + (check_links): New proto. + * src/create.c (struct link.nlink): New member + (link_table): Static for the module. + (dump_file): Update `link' member when adding new links + to the link_table. + (check_links): New function. + * src/list.c (print_header): Use orig_file_name. + * src/tar.c: New option --check-links. Changed semantics of + -o to comply to UNIX98 when extracting and to its previous + semantics otherwise. + (main): Call check_links if --check-links. was given. + +2003-07-25 Sergey Poznyakoff + + * src/list.c (print_header): Revised + * NEWS: Started the entry for 1.13.26 + * doc/Makefile.am (tar.dvi): Fixed TEXINPUTS value. + +2003-07-24 Sergey Poznyakoff + + * .cvsignore: Added to the repository. + * doc/.cvsignore: Likewise. + * lib/.cvsignore: Likewise. + * m4/.cvsignore: Likewise. + * po/.cvsignore: Likewise. + * scripts/.cvsignore: Likewise. + * src/.cvsignore: Likewise. + * tests/.cvsignore: Likewise. + + * lib/Makefile.am: Added exitfail.[hc] + * src/misc.c (chdir_do): Fixed call to restore_cwd + * src/buffer.c (flush_read): Fixed behavior on short + reads right after opening the new archive (multiv01.sh test). + (new_volume): Special handling for "-". + * src/list.c (print_header): Print trailing slash if + current_trailing_slash was set (extrac03.sh,extrac04.sh tests). + * tests/multiv01.sh: Minor changes. + * m4/Makefile.am: Added missing files. + 2003-07-05 Paul Eggert Finish the checkin begin yesterday.