From: Paul Eggert Date: Thu, 20 Sep 2001 17:08:35 +0000 (+0000) Subject: Initial revision X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=e9da8d1a8020ad4dfe92416f3c77a33e6906b55e;p=chaz%2Ftar Initial revision --- diff --git a/ChangeLog.1 b/ChangeLog.1 new file mode 100644 index 0000000..050398e --- /dev/null +++ b/ChangeLog.1 @@ -0,0 +1,5887 @@ +Currently there is just one ChangeLog file for tar, but +there used to be separate ChangeLog files for each subdirectory. +This file records what used to be in those separate files. + +Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 +Free Software Foundation, Inc. + +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 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., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. + + +----- ChangeLog ----- + +1997-04-25 François Pinard + + * Release 1.12. + + * configure.in: Check for the inline keyword. + +1997-04-24 François Pinard + + * Makefile.am (BABYL): Delete admin/RMAIL, renamed rmail/announce. + + * PORTS: New file. + (EXTRA_DIST): Adjusted. + +1997-04-23 François Pinard + + * BI-PATCHES: Patches for Bison 1.25. + * Makefile.am (EXTRA_DIST): Adjusted. + + * configure.in (AC_PROG_INSTALL): Call deleted. AM_INIT_AUTOMAKE + takes care of this already. + +1997-04-22 François Pinard + + * Prerelease 1.11q. + + * configure.in: Use gethostent instead of gethostbyname while + checking for -lnsl. It seems SINIX systems require this. + Reported by Bruno Haible. + +1997-04-19 François Pinard + + * acinclude.m4: New fp_WITH_INCLUDED_MALLOC macro. + * configure.in: Use it instead of the HP/UX test for GNU malloc. + Reported by Bruno Haible. + +1997-04-17 François Pinard + + * Prerelease 1.11p. + + * acinclude.m4 (cl_FUNC_GMALLOC): New macro, yet still unused, as + it requires config.guess. I have to think more about this. + Reported by Bruno Haible. + +1997-04-16 François Pinard + + * AC-PATCHES: Patches for Autoconf 2.12. + * AM-PATCHES: Patches for Automake 1.1n. + * Makefile.am (EXTRA_DIST): Adjusted. + +1997-04-15 François Pinard + + * configure.in: Ensure all cpp directives are left justified. + Reported by Kaveh R. Ghazi. + +1997-04-12 François Pinard + + * configure.in: Add fnmatch.o to LIBOBJS if AC_FUNC_FNMATCH + says no working copy was found. This is not done automatically. + Reported by Bruno Haible, Bryant Fujimoto, John David Anglin, + Kaveh R. Ghazi, Laurent Caillat-Vallet, Sakai Kiyotaka and + Santiago Vila Doncel. + +1997-04-11 François Pinard + + * configure.in: Much simplify the -lsocket and -lnsl tests. + Reported by Larry Schwimmer. + +1997-04-11 François Pinard + + * Prerelease 1.11o. + + * configure.in: Do not check for gettimeofday anymore. + + * configure.in: Do not anymore blindly add -lnsl if gethostname + is found, nor -lsocket if setsockopt is found. Instead, for + resolving setsockopt, try none, -lsocket, and -lsocket -lnsl, + in that order. For resoving gethostbyname, try none, than -lnsl. + Reported by Ariel Faigon, Heiko Schlichting, Jean-Philippe + Martin-Flatin, John J. Szetela, John R. Vanderpool, Kaveh + R. Ghazi, Larry Schwimmer, Marcus Daniels, Mark Bynum and + Russell Cattelan. + +1997-04-10 François Pinard + + * configure.in: Define _GNU_SOURCE to get FNM_LEADIR_DIR, etc. + * acconfig.h: Document _GNU_SOURCE. + Reported by Andreas Jaeger, Becki Kain, Brendan Kehoe, David + N. Brown, J. Dean Brock, James V. DI Toro III, Jeffrey Mark + Siskind, Jürgen Reiss, Paul Eggert, Roland McGrath, Rolf + Niepraschk, Roman Gollent, Thomas Bushnell n/BSG and Ulrich + Drepper. + +1997-03-26 François Pinard + + * configure.in (ALL_LINGUAS): Add it. + +1997-03-20 François Pinard + + * configure.in: Require Autoconf 2.12. + +1997-02-25 François Pinard + + * configure.in: Use AM_CONFIG_HEADER and AM_GNU_GETTEXT instead + of AC_CONFIG_HEADER and ud_GNU_GETTEXT. Use AC_FUNC_FNMATCH + instead of AM_FUNC_FNMATCH. Do not take care anymore of stamp-h + in AC_OUTPUT, leave it to Automake. + * acinclude.m4: Replaced whole, from elsewhere. + * Makefile.am (EXTRA_DIST): Leave README-alpha to Automake. + +1997-02-12 François Pinard + + * configure.in: Delete README-alpha code, Automake handles it now. + +1996-11-18 François Pinard + + * Prerelease 1.11.14. + + * Makefile.am (BABYL): Add admin/RMAIL. + + * configure.in: Check for sys/buf.h, as BSD/OS. + Reported by Dan Reish. + +1996-11-09 François Pinard + + * configure.in: Replace a missing basename. + Reported by Bryant Fujimoto, Erick Branderhorst, Greg Black, John + David Anglin, John J. Szetela, Kaveh R. Ghazi, Kurt Jaeger, Marcus + Daniels, Santiago Vila Doncel and William Bader. + +1996-11-08 François Pinard + + * Prerelease 1.11.13. + + * configure.in: Replace a missing dirname. + +1996-10-07 François Pinard + + * configure.in: Clean out some macro calls made useless since + AM_INIT_AUTOMAKE implies them. + +1996-09-20 François Pinard + + * configure.in: Do not check anymore for regex. + +1996-09-19 François Pinard + + * Prerelease 1.11.12 + + * configure.in: Check echo for newline suppression. + +1996-09-18 François Pinard + + * configure.in: Do not add open3.o to LIBOBJS anymore. + +1996-09-05 François Pinard + + * configure.in (ALL_LINGUAS): Add pl. + +1996-09-04 François Pinard + + * configure.in (AC_OUTPUT): Prepare tests/Makefile and tests/preset. + * Use AM_ version of fp_ macros. + + * Makefile.am (SUBDIRS): Add tests/. + +1996-07-18 François Pinard + + * Prerelease 1.11.11. + + * configure.in: Use AC_PREREQ(2.10). + +1996-07-16 François Pinard + + * configure.in (ALL_LINGUAS): Add nl. + Reported by Erick Branderhorst. + +1996-07-12 François Pinard + + * Prerelease 1.11.10. + + * configure.in (ALL_LINGUAS): Add ko and sl. + +1996-05-01 François Pinard + + * configure.in: Check for fsync, and linux/fd.h. + Reported by Marty Leisner. + +1996-04-17 François Pinard + + * Makefile.am (EXTRA_DIST): New name for DIST_OTHERS. + + * configure.in (ALL_LINGUAS): Add no. + + * Makefile.am (BABYL): Consider rmail/* instead of rmail/*/*. + +1996-02-28 François Pinard + + * configure.in: Avoid PROGRAMS, instead use RMT to substitute rmt. + * Makefile.am (SUBDIRS): Use intl and po instead of @INTLSUB@ and + @POSUB@. + + * configure.in: Check for poll.h and stropts.h. + Check for nap, napms, poll, select and usleep. + +1996-02-12 François Pinard + + * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29. + * configure.in: Temporarily remove a \ in AC_OUTPUT for automake. + +1996-02-03 François Pinard + + * configure.in: Check size of unsigned long (assume 32 bits if + cross-compiling) and long long (assume not available). + +1996-01-14 François Pinard + + * Makefile.am (AUTOMAKE_OPTIONS): Select gnits and dist-shar. + (dist-zoo): New goal, experimental for now. + +1996-01-07 François Pinard + + * Makefile.am: Force distribution of BACKLOG. + Reported by Jonathan Thornburg. + + * Makefile.am: Declare BABYL. Force distribution of AUTHORS + and rebox.el. Add id, ID and dist-shar targets. Add parts of + previous Makefile.in as FIXME comments. + +1995-12-30 François Pinard + + * configure.in: Ensure there is a link for libintl.h. + Reported by Daniel S. Barclay, Göran Uddeborg, Jonathan Thornburg, + Ken Raeburn and Minh Tran-Le. + +1995-12-29 François Pinard + + * Prerelease 1.11.9. + + * Makefile.am: New file. + + * configure.in: Decide if README-alpha should be distributed. + From Ulrich Drepper. + +1995-12-28 François Pinard + + * configure.in (AC_OUTPUT): Call sed for po/Makefile.in. + + * Makefile.in: Distribute ABOUT-NLS rather than NLS, and do not + distribute config.guess or config.sub anymore. + + * configure.in: Test for lchown. + +1995-12-19 François Pinard + + * configure.in: Prefer avoiding union wait, and use it only if + using int fails. This turns around the previous test, as directly + checking for union wait is seemingly seeking for trouble. + Reported by Alan Bawden, Chris Arthur, Coranth Gryphon, + Jean-Philippe Martin-Flatin, Robert Bernstein and Tarang Kumar + Patel. + + * configure.in: Check for strerror, so lib/error.c will not try to + define sys_errlist in the case strerror is already provided. + Reported by Coranth Gryphon, Chris Arthur, David J. MacKenzie, + Erich Stefan Boleyn, Greg Black, Jason R. Mastaler, Michael + Innis Bushnell, Robert Bernstein, Santiago Vila Doncel, Skip + Montanaro and Thomas Krebs. + + * configure.in: Quote the selected shell. I wonder why this + error did not show up before! + + * configure.in: Check and for BSDi. + Reported by Chris Arthur and Skip Montanaro. + +1995-12-17 François Pinard + + * configure.in: Be more systematic at caching test results. + Reported by Ulrich Drepper. + + * configure.in: While checking for remote tape header files, only + include if it was found to exist. + + * configure.in: Prefer #if to #ifdef while checking for open3. + +1995-11-30 François Pinard + + * configure.in: Check for net/errno.h and sys/inet.h, trying to + get EOPNOTSUPP defined. + + * configure.in: Check for sgtty.h. + +1995-11-06 François Pinard + + * acconfig.h: Document HAVE_STPCPY for the time being. I do not + understand yet why this is mandatory: it should be automatic + from AC_CHECK_FUNCS(stpcpy) in aclocal.m4, through autoheader. + + * configure.in: Use fp_FUNC_FNMATCH, to get around non-working + versions on SCO Unix 3.2v4.2, and Solaris. + Reported by Chad Hurwitz, Dennis Pixton, Per Foreby, Richard + Westerik, Robert Weiner and Tom Tromey. + +1995-10-27 François Pinard + + * configure.in: Add /usr/bin/rcmd as a possible remote shell, as + this is the name used by SCO Unix 3.2.4. + Reported by Bela Lubkin and Rodney Brown. + +1995-07-23 François Pinard + + * configure.in: Adapt for GNU gettext 0.8. + +1995-07-10 François Pinard + + * Makefile.in (default): Define to all. + +1995-06-18 François Pinard + + * configure.in: For mknod, also include prior to + , as Ultrix needs this. + Reported by Bruce Jerrick, Bryant Fujimoto, Conrad Hughes, Erich + Stefan Boleyn, Jason R. Mastaler, Joshua R. Poulson, Jurgen Botz, + Serge Granik, Simon Wright, Ulrich Drepper and Vince Del Vecchio. + + * configure.in: Replace execlp as needed (for Minix, mainly). + + * configure.in: Force compilation of lib/open3.c if required. + Clean out old NO_OPEN3 code. + +1995-06-17 François Pinard + + * Release 1.11.8. + + * Makefile.in (DISTFILES): Distribute config.guess and config.sub. + Reported by Ulrich Drepper. + + * acconfig.h, aclocal.m4, configure.in: Last minutes + additions, and glimpses to the future gettext 0.6.1. + Reported by Ulrich Drepper. + + * acconfig.h: Document HAVE_MKNOD. + * configure.in: Test for mknod only once included. + Reported by Alan Modra, Ray Dassen and Ulrich Drepper. + + * aclocal.m4: Test for re_rx_search instead of rx_compile, the + latter not being exported unless RX_WANT_RX_DEFS is defined. + Reported by Alan Modra. + +1995-06-15 François Pinard + + * Makefile.in (dist): Do not hide copying rule. + + * configure.in: Adjustments to NLS, so .sed scripts may now all + reside in intl/. + +1995-06-13 François Pinard + + * Makefile.in (pot): New goal, triggering po/tar.pot. + +1995-06-07 François Pinard + + * configure.in: Substitute POTFILES by contents of po/POTFILES. + + * configure.in: More adjustments for GNU gettext 0.6. + * config.guess, config.sub: New files, all taken from gettext 0.6. + +1995-06-04 François Pinard + + * Makefile.in (check): New goal. + +1995-05-30 François Pinard + + * Makefile.in (DISTFILES): Do not distribute SUPPORT, now + integrated in the documentation. + Reported by Karl Berry. + +1995-05-28 François Pinard + + * configure.in: Check for isascii, not iascii. + Reported by Alan Modra, Bruno Haible and Greg McGary. + +1995-05-16 François Pinard + + * Prerelease 1.11.7. + + * Makefile.in (DISTFILES): Distribute NLS. + * configure.in, acconfig.h: Many adjustments for GNU gettext. + +1995-05-09 François Pinard + + * configure.in: Clean glocale out. + * Makefile.in (SUBDIRS): Add po. + * Makefile.in (pofile): New goal. + +1995-05-08 François Pinard + + * configure.in: Call ud_WITH_NLS, create intl/Makefile.in. + Compute size of unsigned short and unsigned int. + + * acconfig.h: Document ENABLE_NLS, HAVE_CATGETS and HAVE_GETTEXT. + * Makefile.in: Process intl subdirectory. + + * configure.in (LINGUAS): Add pt. + * src/pt.po: New file, for Portuguese. + Reported by Antonio Jose Coutinho. + +1995-03-19 François Pinard + + * configure.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS. + * acconfig.h: Add description for WITH_CATALOGS. + +1995-02-22 François Pinard + + * configure.in, Makefile.in: Replace `date' by `echo timestamp'. + +1995-02-19 François Pinard + + * Makefile.in: Support ID files. Do not distribute TAGS. + +1995-02-05 François Pinard + + * Makefile.in (maintainer-clean): New name for realclean. + +1995-01-02 François Pinard + + * configure.in: Check for . + Reported by Joseph E. Sacco. + +1995-01-01 François Pinard + + * Makefile.in (DISTFILES): Distribute SUPPORT, with *pre*-releases. + +1994-12-18 François Pinard + + * configure.in: Check for isascii. + Reported by Bruno Haible. + +1994-12-11 François Pinard + + * configure.in: Use fp_WITH_REGEX. + * acconfig.h: Document WITH_REGEX. + +1994-12-10 François Pinard + + * src/de.tt: New file, for German. + Reported by Ulrich Drepper. + +1994-12-03 François Pinard + + * Prerelease 1.11.6. + + * configure.in: Localize, adapting from how it is done in sharutils. + + * src/fr.tt: New file, for French. + + * configure.in, {,*/}Makefile.in, acconfig.h: + Rename PRODUCT to PACKAGE. + +1994-11-26 François Pinard + + * configure.in: Check for and . + +1994-11-02 François Pinard + + * configure.in: Check for const only after having found possible + ANSIfying compiler flags, this is of no use to check it before. + +1994-11-01 François Pinard + + * {,*/}Makefile.in: Clean up, following those of GNU m4. I will + not detail all the changes here. + * configure.in: Likewise. + * acconfig.h: Document PRODUCT and VERSION. + +1994-10-04 François Pinard + + * configure.in: Correct shell assignment for ac_cv_path_RSH. + Reported by Kaveh R. Ghazi. + +1994-09-14 François Pinard + + * Makefile.in: Cleanup... Use subshells for all cd's. + (MDEFINES): Do not use $(INSTALL...), because ./install-sh will + not be relocated correctly. + (DISTFILES): Distribute install-sh, not install.sh. + (tags): Make only in lib and src. + (TAGS): Deleted. + (distclean, realclean): Remove config.status. + (distclean-local): Don't. + (*-recursive): Combine, use sed to strip -recursive in subgoals. + (Makefile): Have ./config.status create this Makefile only. + (stamp-h): Have ./config.status create config.h only. Do not + create stamp-h here, it is now done from configure. + (stamp-h.in): Use date instead of touch. + * configure.in (AC_OUTPUT): Create stamp-h. + +1994-09-09 François Pinard + + * configure.in: Use fp_ macros for accessing aclocal.m4. Revert + _OS_ macros to their previous names, to follow Autoconf. + +1994-09-08 François Pinard + + * configure.in: Delete AC_OS_XENIX, now within AC_HEADER_DIRENT. + +1994-09-01 François Pinard + + * configure.in (PROGS): Warn if $DEFAULT_ARCHIVE was specified, + while not being found on the current system. + Reported by Robert Bernstein. + +1994-08-31 François Pinard + + * Makefile.in: Distribute it. + + * Makefile.in (distclean-local): Delete config.log. + +1994-08-27 François Pinard + + * acconfig.h: Document HAVE_UNION_WAIT, no more in Autoconf. + +1994-08-24 François Pinard + + * configure.in: Replace AC_SYS_REMOTE_TAPE by its definition, + distillating it around. It is going out of Autoconf. + Do not backslash quotes anymore while defining unquoted, this is + now corrected in Autoconf. + +1994-08-23 François Pinard + + * configure.in: Do not define RTAPELIB nor HAVE_RTAPELIB. + +1994-08-22 François Pinard + + Little cleanup in installation: + * configure.in: Do not check for wait3, this function is not used. + * Makefile.in: Remove useless RSH substitutions. + + * configure.in: Use `-g -O' instead of `-g' as CFLAGS default + value, when GNU C is being used. Delay testing for presets. + Reported by Chris Arthur. + +1994-08-21 François Pinard + + * Prerelease 1.11.5. + + * Makefile.in (BACKLOG, dist, shar): Correct for when a different + build directory. + + * configure.in: Check for union wait. Adapted from make 3.71. + + * configure.in: Replace both mkdir and rmdir, not just mkdir, + because NS32016 running SysVr2.2 has mkdir and lacks rmdir. + Reported by Greg Black. + + * configure.in: Do not try anymore to discover the archive device + by looking around for various device names. If the installer does + not override it, nicely use `-' as a convenient default. + Reported by Andreas Schwab and Kaveh R. Ghazi. + +1994-08-20 François Pinard + + * configure.in: Correct a checking message. + Reported by Bruno Haible. + +1994-08-17 François Pinard + + * configure.in: Replace AC_PROG_RSH with its expansion. Correct + the no/true confusion in tests. Do not substitute RSH anymore in + src/Makefile, instead define REMOTE_SHELL in config.h. Replace + NO_REMOTE by HAVE_RTAPELIB, with inverted meaning. Substitute + RTAPELIB by $Urtapelib.o instead of rtapelib.o. + * acconfig.h: Document HAVE_RTAPELIB and REMOTE_SHELL. + Reported by Andreas Schwab. + + * configure.in: Checking for remote shell, use the RSH environment + variable if set. This is done only when not already in the cache. + Reported by Kaveh R. Ghazi. + + * configure.in: Include when testing . + Reported by Andreas Schwab. + + * configure.in: Also create doc/Makefile. + * Makefile.in: Add doc in subdirs, set infodir, update MDEFINES. + +1994-08-16 François Pinard + + * configure.in: Undo the `test -b' patch of 1994-08-05. Ultrix + 4.2 test does not know about -b. Grrr... + Reported by Kaveh R. Ghazi. + + * configure.in: Check for , HAVE_SYS_GENTAPE_H + is tested in rmt.c. Check for , to avoid playing + with M_UNIX anymore in rmt.c. + Reported by Daniel R. Guilderson and Kaveh R. Ghazi. + + * configure.in: Use proper function names in AC_CHECK_LIB's. + Reported by Alexander Dupuy and Kurt Jaeger. + + * configure.in: Use $LIBOBJS, not LIBOJBS, while adding to it. + Reported by Demizu Noritoshi and Kaveh R. Ghazi. + +1994-08-15 François Pinard + + * Prerelease 1.11.4. + +1994-08-14 François Pinard + + * configure.in: Decide MTIO_CHECK_FIELD by grepping . + * acconfig.h: Document it. + Reported by Ben A. Mesander. + + * Makefile.in: Substitute CC, INSTALL, INSTALL_PROGRAM, + INSTALL_DATA, RSH, CFLAGS, LDFLAGS, LIBS, prefix, exec_prefix, + binprefix, bindir and libexecdir. + (MDEFINES): New, using the previous substitutions. + (all, install, uninstall): Use it. + Reported by Bruno Haible. + +1994-08-13 François Pinard + + * configure.in: Check for . + +1994-08-11 François Pinard + + * configure.in: For , also ensure struct utimbuf is + defined by the header file before defining HAVE_UTIME_H. Some + systems will not define the structure without _POSIX_SOURCE. + * acconfig.h: Document HAVE_UTIME_H. + Reported by James W. McKelvey and Robert E. Brown. + + * configure.in: Instead of replacing strstr, check for it, so + HAVE_STRSTR gets defined, then replace it explicitely if required. + +1994-08-09 François Pinard + + * configure.in: Updated for Autoconf 2.0. + +1994-08-08 François Pinard + + * configure.in: Replace memset, mkdir (and rmdir), rename, strstr, + ftruncate, when not found. + Reported by Kaveh R. Ghazi (for memset and strstr). + Reported by Bruno Haible (for mkdir and rename). + +1994-08-05 François Pinard + + * configure.in: Remove padding test. + * acconfig.h: Remove PADDING_IN_TAR_HEADER. + Reported by Bruno Haible. + + * configure.in: While defining DEFAULT_ARCHIVE, check for a block + device, instead of mere existence. But is `test -b' portable? + Test for /dev/fd0, instead of for /dev/fd. Put rct tests last. + Reported by Andreas Schwab. + + * configure.in: Define uid_t and gid_t if necessary. + Reported by Jonathan I. Kamens. + + * Makefile.in (distclean-local): Delete config.cache. + Reported by Thomas Koenig. + + * configure.in: Change malloc_dbg to dmalloc, mutatis mutandi. + * acconfig.h: According changes. + + * configure.in: Test for broken stat macros, and for mkfifo. + + * configure.in: Check for ST_BLKSIZE and ST_BLOCKS. + +1994-08-02 François Pinard + + * Prerelease 1.11.3. + + * Makefile.in (dist, shar): Distribute the scripts directory. + +1994-08-01 François Pinard + + * configure.in: Check for . + +1994-07-30 François Pinard + + * configure.in: When --with-malloc-dbg, define WITH_MALLOC_DBG and + add -lmalloc_dbg to LIBS. + * acconfig.h: Document WITH_MALLOC_DBG. + + * configure.in: Try deciding DEVICE_PREFIX and DENSITY_LETTER from + the selected DEFAULT_ARCHIVE. + * acconfig.h: Document DEVICE_PREFIX and DENSITY_LETTER. + Reported by Danny R. Johnston. + +1994-07-29 François Pinard + + * aclocal.m4: Adapt AC_PROTOTYPES to caching. + + * Using configure as generated by a more recent Autoconf solves a + problem of rename being rejected on HP-UX in ANSI mode, because of + a conflicting prototype from . In this context, Autoconf + now uses ctype.c instead for defining __stub macros. + Reported by Alan Modra, Burkhard Plache, Edward Welbourne, + Henrik Bakman, Jeffrey Goldberg, Jim Farrell, Kimmy Posey, + Michael Maass, Mike Nolan, Richard Lloyd, Robert McGraw, + Robert W. Kim, Stefan Skoglund, Tarang Kumar Patel, Tilman + Schmidt, Tim Ramsey, Van Snyder and W. Phillip Moore. + +1994-07-26 François Pinard + + * configure.in: Check for . Do not define BSD42, do + not look anymore if /vmunix, /sdmach or /../../mach exist. + * acconfig.h: Remove BSD42. + +1994-07-24 François Pinard + + * configure.in: Add gmalloc.o to LIBOBJS, instead of AC_SUBST'ing + MALLOC. Check for valloc only if gmalloc.o is not being selected. + valloc was possibly defined both in "port.h" and GNU malloc. + * acconfig.h: Add a description for HAVE_VALLOC. + J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt. + +1994-07-22 François Pinard + + * configure.in: Use provided fnmatch only as a replacement. + + * configure.in: Check for , needed for + defining _IOW and _IOR on the Tektronix XD88. + Reported by Kaveh R. Ghazi. + +1994-07-20 François Pinard + + * Makefile.in (BACKLOG): New goal, for summarizing the + maintainance backlog. Distribute file BACKLOG. + +1994-07-08 François Pinard + + * regex.c, regex.h: Use newer versions. This solves a few + problems reported by users. + Reported by Chris Hopps and John David Anglin. + +1994-07-06 François Pinard + + * configure.in: Check for . + +1994-07-05 François Pinard + + * configure.in: Substitute DEFAULT_ARCHIVE and DEFAULT_BLOCKING + from the environment. Check for /dev/tape first while trying to + decide the default archive, because it is often symlinked right. + * acconfig.h: Explain DEFAULT_ARCHIVE and DEFAULT_BLOCKING. + + * configure.in: Use AC_SET_MAKE. + * Makefile.in: Use @SET_MAKE@. + Reported by Jim Meyering. + + * configure.in: Integrate the check, previously in testpad.c, + about a needed padding field in the tar header struct. + * acconfig.h: Explain PADDING_IN_TAR_HEADER. + +1994-07-02 François Pinard + + * configure.in: Check for -linet, this library is required on + a few systems for gettimeofday() or getservbyname(). Also, on ISC + 4.0, this avoids a broken version of rename(). + Reported by Dean Gaudet, Goeran Uddeborg, Mike Rogers and + Peder Chr. Norgaard. + + * configure.in: Ensure -lsocket is tested after -lnsl. This is + required in particular for SINIX-Z, an SVR4.0 system. + Reported by Manfred Weichel and Mark Frost. + + * configure.in: All tests reordered for clarity. + +1994-07-01 François Pinard + + * configure.in: Use AC_TIME_WITH_SYS_TIME, test for . + This should solve the problem of multiple inclusions of . + Also, also check for , for getdate.y tests this. + Reported by Jim Meyering, John Rouillard, Karl Berry and Rick + Emerson. + +1994-06-30 François Pinard + + * configure.in: AC_CONST was already added since 1.11.2, but no + ChangeLog entry for it, so here is one, with list of reporters. + * AIX 3.2 RS/6000 IBM's compiler was unable to compile regex.c, + this might be solved already through improved Autoconf tests. + + Reported by Alexey Vovenko, Ben A. Mesander, Bryant + Fujimoto, Christian. T. Dum, Christopher Vickery, Dan Bloch, + David K. Drum, David Lemson, Demizu Noritoshi, Dimitris + Fousekis, Ezra Peisach, Hugh Secker-Walker, Indra Singhal, + J.T. Conklin, Jan Hoeglund, Janice Burton, Jeff Siegel, + Jim Blandy, John L. Chmielewski, John Rouillard, Jonathan + N. Sherman, Kevin D Quitt, Kurt Jaeger, Mark Frost, Matthew + Braun, Michael Kubik, Michael Helm, Moritz D. Klingholz, + Neil Jerram, Nelson H.F. Beebe, Nick Barron, Paul Eggert, + R. Scott Butler, Rob Parry, Ron Guilmette, Scott Grosch, + Sherwood and Stephen Saroff. + + * Makefile.in: Completely replaced, lurking at the previous one. + At the same time, solve a few minor problems reported by users. + The most frequently reported ones pertained to a trailing \ in a + comment, and rmt installing in /etc. + Reported by Dean Gaudet, Gerben Wierda, James W. McKelvey, + John L. Chmielewski, Karl Berry, Mike Rogers, Ralf Suckow and + Richard Lloyd. + + * configure.in: Also process lib/Makefile.in and src/Makefile.in. + Substitute CFLAGS, LDFLAGS and YFLAGS from the environment. + Use AC_CHECKING instead of using echo explicitely. + Use AC_HEADER_CHECK(unistd.h) instead of obsolete AC_UNISTD_H. + + * configure.in: Generate a configuration header file. This not + only puts less clutter in make output, but also goes around some + compilers' limits about the number of allowed -D options. + Reported by Nelson H.F. Beebe. + + * acconfig.h: New file. + + * Split distribution into a few subdirectories, for easing + maintainance. So far: src, lib, scripts, msdos which are to be + distributed; then rmail, texinfo, ARCH and misc to be kept here. + * scripts/ChangeLog: Initialized by moving entries related to + scripts out of this ChangeLog. + + * Taking over maintenance duties. + + +----- doc/ChangeLog ----- + +1997-04-23 François Pinard + + * Release 1.12. + + * Makefile.am (EXTRA_DIST): Remove tar-mew.texi for the release. + (tar.dvi) [!PUBLISH]: Delete @smallbook. Call sed in all cases. + +1997-04-11 François Pinard + + * Prerelease 1.11o. + + * Makefile.am (tar.info): Comment about needed makeinfo version. + Reported by Sherwood Botsford. + +1997-04-10 François Pinard + + * Makefile.am (EXTRA_DIST): Add tar-mew.texi. + +1997-03-16 François Pinard + + * Makefile.am (tar.dvi): Merely use tar.texi and rely on -I to + resolve it in $(srcdir). Remove tmp-tar.info* files right away. + (CLEANFILES): Define to tmp-*. + +1997-03-14 François Pinard + + * Makefile.am: Rename RENDERING, QUALITY, DRAFT and DEBUG to + RENDITION, PUBLISH, DISTRIB and PROOF respectively. Ensure that + `@set DISTRIB' gets replaced after macro-expansion and before TeX. + +1996-11-06 François Pinard + + * Prerelease 1.11.13. + + * getdate.texi: New file, from elsewhere. + * tar.texi: Replace a lot of text by an include of getdate.texi. + * Makefile.am: Adjusted. + +1996-08-24 François Pinard + + * Prerelease 1.11.12. + + * Makefile.am (EXTRA_DIST): Remove texinfo.tex, now that Automake + handles it automatically. + +1996-07-18 François Pinard + + * Prerelease 1.11.11. + + * Makefile.am (tar.info): Remove -I$(srcdir), which was useless. + +1996-07-17 François Pinard + + * Makefile.am (EXTRA_DIST): Include texinfo.tex, until Automake + does it automatically. + +1996-07-16 François Pinard + + * Prerelease 1.11.10. + + * Makefile.am (EXTRA_DIST): Distribute convtexi.pl, for now. + +1996-04-22 François Pinard + + * Makefile.am: Implement rendering levels (QUALITY, DRAFT or DEBUG). + +1996-04-17 François Pinard + + * Makefile.am (EXTRA_DIST): New name for DIST_OTHER. + +1996-03-03 François Pinard + + * Makefile.am (tar.dvi): Comment about needed makeinfo version. + Reported by Jonathan Thornburg. + +1996-02-12 François Pinard + + * Makefile.am: Replace TEXINFO by info_TEXINFOS for Automake 0.29. + +1996-01-14 François Pinard + + * Makefile.am (AUTOMAKE_OPTIONS): Select gnits. + +1996-01-08 François Pinard + + * Makefile.am: New file. + * tar.texi: New name for tar.texinfo. + +1995-12-30 François Pinard + + * Makefile.in (check): New goal, doing nothing. + Reported by Cesar Romani, Joachim Seelig, Mark Bynum and Ulrich + Drepper. + +1995-11-29 François Pinard + + * Makefile.in (clean): Remove tmp-* files. + +1995-11-27 François Pinard + + * Makefile.in: Use -I$(srcdir) with makeinfo, and -otmp-tar.info + so tar.info in build directory does not shadow the real one. + (tar.dvi): Depend on version.texi. Add $(srcdir) to TEXINPUTS so + texinfo.tex is found, as texi2dvi gets no clue from the file name. + (DISTFILES): Also distribute tar.info-8. + +1995-11-22 François Pinard + + * Makefile.in (DISTFILES): Distribute ChangeLog. + * ChangeLog: New file, extracted from top-level ChangeLog. + +1995-06-22 François Pinard + + * Makefile.in: Get rid of docwarn.texi, now replaced by + the @UNREVISED macro, right into tar.texinfo. + +1995-06-18 François Pinard + + * Makefile.in (tar.dvi): First macro-expand tar.texinfo. + +1995-06-07 François Pinard + + * Makefile.in: Use subdir and distdir. + +1995-06-03 François Pinard + + * tar.texinfo: Use header.texi. + * Makefile.in: Prepare header.texi from src/tar.h. + Distribute it. + +1995-05-28 François Pinard + + * Makefile.in (DISTFILES): Add tar.info-3. + Reported by Bruno Haible. + +1995-02-22 François Pinard + + * Makefile.in: Replace `date' by `echo timestamp'. + +1995-02-13 François Pinard + + * Makefile.in: Use top_srcdir. + +1995-02-05 François Pinard + + * Makefile.in (maintainer-clean): New name for realclean. + +1994-12-03 François Pinard + + * Makefile.in (DISTFILES): Include docwarn.texi. + +1994-11-07 François Pinard + + * Makefile.in (stamp-vti): Use new -r option to date. + +1994-11-05 François Pinard + + * Makefile.in (realclean): Also remove stamp-vti. + +1994-09-14 François Pinard + + * Makefile.in: Cleanup... + (texclean): Deleted, merged into mostlyclean. + (Makefile): Have ./config.status create this Makefile only. + +1994-08-30 François Pinard + + * Makefile.in (tar.info): Make the documentation in the source + directory only. + +1994-08-21 François Pinard + + * Makefile.in: Correct for when a different build directory. + + * docwarn.texi: New file. + * Makefile.in: Distribute it. + +1994-08-17 François Pinard + + * Makefile.in: New file. + * tar.texinfo: New file. + * texinfo.tex: New, from elsewhere. + + +----- lib/ChangeLog ----- + +1997-04-25 François Pinard + + * Release 1.12. + +1997-04-16 François Pinard + + * Prerelease 1.11p. + + The distribution did not have getdate.c updated: + * Makefile.am (libtar_a_SOURCES): Use getdate.y, not getdate.c. + (EXTRA_DIST): Do not include getdate.y anymore. + * getdate.c: Specify $(srcdir)/, to silence GNU make. + Reported by Bruno Haible. + +1997-04-15 François Pinard + + * Makefile.am (getdate.c): Announce 13 conflicts, not 10. + Reported by Bruno Haible, Bryant Fujimoto and Wolfram Wagner. + +1997-04-11 François Pinard + + * Prerelease 1.11o. + + * getdate.h: New file. + * Makefile.am: Adjusted. + +1997-04-10 François Pinard + + * modechange.c, modechange.h: New files. + * Makefile.am: Adjusted. + +1997-02-25 François Pinard + + * Makefile.am: Adapt library name to Automake 1.1l. + +1996-11-09 François Pinard + + * Prerelease 1.11.14. + + * basename.c: New file. + +1996-11-09 François Pinard + + * Prerelease 1.11.13. + + * Makefile.am: Use tar_DEPENDENCIES. Avoid BUILT_SOURCES, + put getdate.c instead of getdate.y in tar_SOURCES and keep + getdate.c in EXTRA_DIST. + +1996-11-06 François Pinard + + * argmatch.c, argmatch.h, backupfile.c, backupfile.h, dirname.c, + getversion.c: New files. + * Makefile.am: Adjusted. + Reported by Marty Leisner. + +1996-10-31 François Pinard + + * safe-stat.h: Deleted. + * Makefile.am (noinst_HEADERS): Adjusted. + Reported by Jim Meyering. + +1996-09-20 François Pinard + + * regex.c, regex.h, rx.c, rx.h: Deleted. + * Makefile.am: Adjusted. + +1996-09-19 François Pinard + + * Prerelease 1.11.12. + + * execlp.c: Include stdio.h, not only stdio! + +1996-09-16 François Pinard + + * open3.h: File deleted after being merged into system.h. + * open3.c: File deleted, moved back into src/. + * Makefile.am: Adjusted. + Reported by Jim Meyering. + +1996-08-24 François Pinard + + * Makefile.am (EXTRA_DIST): $(BUILT_SOURCES) is no longer + necessary, as Automake now handles it automatically. + +1996-07-16 François Pinard + + * Prerelease 1.11.11. + + * Makefile.am (EXTRA_DIST): Move stpcpy.c there, from tar_SOURCES. + Reported by Ulrich Drepper. + +1996-04-17 François Pinard + + * Prerelease 1.11.10. + + * Makefile.am (EXTRA_DIST): New name for DIST_OTHER. + +1996-02-28 François Pinard + + * msleep.c: New file, from elsewhere. + * Makefile.am: Adjusted. + +1996-02-12 François Pinard + + * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29. + +1996-01-14 François Pinard + + * Makefile.am (AUTOMAKE_OPTIONS): Select gnits. + +1996-01-07 François Pinard + + * Makefile.am: Add parts of previous Makefile.in as FIXME comments. + +1996-01-01 François Pinard + + * error.h: New file, from elsewhere. + * Makefile.am: Add error.h to HEADERS. + Reported by Jim Meyering. + +1995-12-30 François Pinard + + * Makefile.am (INCLUDES): Add -I../intl to get libintl.h. + Reported by Daniel S. Barclay, Göran Uddeborg, Jonathan Thornburg + and Minh Tran-Le. + +1995-12-29 François Pinard + + * Prerelease 1.11.9. + + * Makefile.am: New file. + +1995-11-22 François Pinard + + * Makefile.in (DISTFILES): Distribute ChangeLog. + * ChangeLog: New, extracted from the top-level ChangeLog. + +1995-06-18 François Pinard + + * execlp.c (execlp): New, extracted from src/port.c. + * Makefile.in: Adjusted. + + * open3.h: New, moved from src/. + * open3.c: New, extracted from src/port.c. + * Makefile.in: Adjusted. + Clean out old NO_OPEN3 code. + + * insremque.h, insremque.c: Deleted. + * Makefile.in: Adjusted. + +1995-06-17 François Pinard + + * Makefile.in (DISTFILES): Remove COPYING.LIB. + * COPYING.LIB: Deleted. + +1995-06-15 François Pinard + + * Makefile.in (dist): Do not hide copying rule. + +1995-06-07 François Pinard + + * Makefile.in: Use subdir and distdir. + + * stpcpy.c, xgetcwd.c: New functions needed by gettext. + * Makefile.in: Adjusted to always compile these. + +1995-05-16 François Pinard + + * insremque.h, insremque.c: New files, from GNU gettext. + * Makefile.in: Take care of insremque.[hc]. + +1995-03-19 François Pinard + + * Makefile.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS. + +1995-02-19 François Pinard + + * Makefile.in: Support ID files. Do not distribute TAGS. + +1995-02-05 François Pinard + + * Makefile.in (maintainer-clean): New name for realclean. + +1994-12-18 François Pinard + + * safe-stat.h: New, from elsewhere. This solves the fact that + mkdir.c, rmdir.c and rename.c were needing it. + * Makefile.in (Makefile): Distribute it. + Reported by Bruno Haible and Sherwood Botsford. + +1994-12-11 François Pinard + + * rx.c, rx.h: New, from elsewhere. + * Makefile.in: Adjust accordingly. + +1994-12-03 François Pinard + + * Makefile.in: Localize, adapting from how it is done in sharutils. + +1994-09-14 François Pinard + + * Makefile.in: Cleanup... + (DISTFILES): Distribute TAGS. + (check): Deleted. + (TAGS): Make TAGS in $(srcdir) only. + (distclean): Do not remove TAGS. + (realclean): Remove TAGS. + (Makefile): Have ./config.status create this Makefile only. + +1994-08-22 François Pinard + + Little cleanup in installation: + * Makefile.in (install, check): Depend on all. + +1994-08-21 François Pinard + + * Makefile.in: Correct for when a different build directory. + + * rmdir.c: New, split out of mkdir.c. + * Makefile.in: Distribute it. + Reported by Greg Black. + +1994-08-17 François Pinard + + * ftruncate.c: Revised, because there is no ftruncate + capability whatsoever in Interactive Unix. + Reported by Peder Chr. Norgaard. + +1994-08-08 François Pinard + * memset.c, mkdir.c, rename.c, strstr.c and + ftruncate.c: New, from elsewhere. + * Makefile.in: Distribute them. + +1994-08-05 François Pinard + + * Makefile.in (getdate.c): Tell the installer to expect 10 + shift/reduce conflicts instead of 9. + Reported by Andreas Schwab. + + * fileblocks.c: New, from elsewhere. + * Makefile.in: Distribute it. + +1994-08-02 François Pinard + + * xstrdup.c: New, from elsewhere. + * Makefile.in: Adjusted. + +1994-07-29 François Pinard + + * error.c: Add error_print_progname virtual routine. + +1994-07-24 François Pinard + + * gmalloc.c: New, from elsewhere. This renames and updates + what was previously malloc.c. This also solves __const vs const. + * Makefile.in: Distribute gmalloc.c. + Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman, + J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt. + +1994-07-22 François Pinard + + * Makefile.in (LIBOBJS): Get configured list of replacements. + * fnmatch.h: Undefine FNM_PATHNAME and FNM_PERIOD, for HP-UX + defines them in . + + * getdate.y: Acknowledging here a few reports which are + likely solved by going to an updated version of getdate.y. + Reported by Andrey A. Chernov, Bruce Evans, Dean Gaudet, Ian + T. Zimmerman, Jeff Prothero, Mike Nolan, Milan Hodoscek, Peder + Chr. Norgaard, Sarah Quady, Tarang Kumar Patel and Thomas + Koenig. + +1994-07-02 François Pinard + + * xmalloc.c: New file, from elsewhere. + * error.c: New, from elsewhere. + * Makefile.in: Adjusted. + +1994-06-30 François Pinard + + * Makefile.in: New file. + + +----- po/ChangeLog ----- + +1997-04-25 François Pinard + + * Release 1.12. + +1997-04-18 François Pinard + + * Prerelease 1.11p. + + * fr.po: Updated file. + +1997-04-11 François Pinard + + * Prerelease 1.11o. + +1997-03-26 François Pinard + + * it.po: New file. + +1997-02-14 François Pinard + + * pl.po: Updated file. + +1996-11-22 François Pinard + + * POTFILES.in: Add src/common.h. + Reported by Christian Kirsch. + +1996-11-18 François Pinard + + * Prerelease 1.11.14. + + * POTFILES.in: Adjust for changes in src/. + +1996-09-05 François Pinard + + * Prerelease 1.11.12. + + * pl.po: New file. + +1995-06-17 François Pinard + + * Release 1.11.8. + + * Makefile.in (.po.gmo): Force moving the created .gmo file to + $(srcdir), in case it was not already found and replaced there. + (install-data): Find files in $(srcdir) if not in current dir, + because .gmo files are taken there, right out the distribution. + * intl/Makefile.in (DISTFILES): Ensure an all ready stamp-cat-id + and cat-id-tbl.c into the distribution. + (stamp-cat-id): Rewrite rule so it replaces files in $(srcdir), + remove a useless rm and cat. + + * intl/cat-compat.c, int/gettext.h, intl/po-to-tbl.sed, + Makefile.in: Last minutes additions, and glimpses to the future + gettext 0.6.1. + Reported by Ulrich Drepper. + + * Makefile.in (install-data, uninstall): Avoid using basename. + +1995-06-15 François Pinard + + * Makefile.in (dist): Comment out tupdate action for now, it + needs more tweeking before being distributed active. + + * intl/Makefile.in (dist), Makefile.in (dist): Correct + missing reference to $(srcdir) on cp call, also avoid outputting + clutter while doing the work. + + * intl/Makefile.in: Use top_srcdir for referring to $(PACKAGE).pot. + + * Makefile.in (.po.gmo): Get around what seems to be an msgfmt + bug, which adds .mo even to FILE in `-o FILE'. + + * intl/Makefile.in, Makefile.in: Adjustments to NLS, so .sed + scripts may now all reside in intl/. + +1995-06-07 François Pinard + + * POTFILES: New file. + * Makefile.in: Use POTFILES instead of TRANSCSRCS, also use + top_srcdir. + + * intl/linux-msg.sed, intl/po-to-tbl.sed, intl/xopen-msg.sed: New + files, all taken from gettext 0.6. + +1995-06-05 François Pinard + + * intl/*: New from GNU gettext 0.6, replacing the previous + version of this directory. This change should solve many problems. + + Reported by Bruno Haible, Christopher Vickery, Jan Carlson, + Jean-Philippe Martin-Flatin, John David Anglin, Joseph E. + Sacco, Kaveh R. Ghazi, Kurt Jaeger, Mark W. Eichin, Marty + Leisner, Minh Tran-Le, Stephen Saroff, Thomas Koenig, Thomas + Krebs and William Bader. + +1995-05-16 François Pinard + + * intl/Makefile.in, Makefile.in: Many adjustments for GNU gettext. + +1995-05-09 François Pinard + + * Makefile.in: New file. + * de.po, fr.po, pt.po, sv.po: New files, adapted from + the corresponding .tt files in src/. + +1995-05-08 François Pinard + + * intl/*: New, from nlsutils. + +1995-01-09 François Pinard + + * src/de.tt: New file, for Swedish. + Reported by Jan Djarv. + +1994-12-10 François Pinard + + * de.tt: New file, for German. + Reported by Ulrich Drepper. + + +----- scripts/ChangeLog ----- + +1997-04-24 François Pinard + + * Release 1.12. + + * level-1, level-0: Replace --block-size by --blocking. + +1996-04-17 François Pinard + + * Prerelease 1.11.10. + + * Makefile.am (EXTRA_DIST): New name for DIST_OTHER. + +1996-01-14 François Pinard + + * Makefile.am (AUTOMAKE_OPTIONS): Select gnits. + +1996-01-08 François Pinard + + * Makefile.am: New file. + +1995-12-31 François Pinard + + * Makefile.in (check, dvi): New goals, doing nothing. + Reported by Cesar Romani and Ulrich Drepper. + +1995-06-21 François Pinard + + * Prerelease 1.11.9. + + * Makefile.in: Distribute the ChangeLog, now recovered! + Reported by Andreas Schwab. + +1995-06-17 François Pinard + + * Release 1.11.8. + + * WARNING: New file. + * Makefile.in (DISTFILES): Distribute it. + +1995-06-15 François Pinard + + * sripts/Makefile.in (dist): Do not hide copying rule. + +1995-06-07 François Pinard + + * Makefile.in: Use subdir and distdir. + +1995-02-05 François Pinard + + * Prerelease 1.11.7. + + * Makefile.in (maintainer-clean): New name for realclean. + +1994-12-03 François Pinard + + * Prerelease 1.11.6. + + * ChangeLog: Replaced by a warning for now. It has + seemingly been overwritten by the weekly script :-(. + + * Makefile.in (dist): Correct .../examples to .../scripts. + +1994-09-14 François Pinard + + * Makefile.in: Cleanup... + (check): Deleted. + (Makefile): Have ./config.status create this Makefile only. + +1994-06-30 François Pinard + + * Prerelease 1.11.5. + + * ChangeLog: Initialized by moving entries related to + scripts out of this ChangeLog. + +1993-11-24 Noah Friedman + + * dump-remind: Send mail notification to the original recipients + that the dump has been continued when that is the case. + +1993-03-31 Noah Friedman + + * level-0, level-1 (LOGFILE): Put logfile in `log' subdirectory. + +1993-03-28 Noah Friedman + + * dump-remind (volno): Don't increment by one. + +1993-03-25 Noah Friedman + + * level-0, level-1 (TAR_PART1): Use `--block-size', not just + `--block', which is now ambiguous. + +1993-03-24 Noah Friedman + + * backup-specs (TAR): New variable. + + * level-0, level-1 (TAR_PART1): Get path of GNU tar from `TAR' + variable, don't hardcode it. + +1993-03-20 Noah Friedman + + * backup-specs (SLEEP_MESSAGE): put backslashes in front of nested + double quotes. + + * level-0, level-1 (BACKUP_DIRS): Don't put in quotes. + (LOGFILE): Use sed to construct name, not awk. + + * dump-remind (recipients): Replaced inefficient pipeline with a + single, simple sed script. + (volno): Deal with the possibility that VOLNO_FILE may not be + created yet. + +1993-03-19 Michael I Bushnell + + * backup-specs (VOLNO_FILE): Removed abusive comment by Noah. + +1993-03-18 Noah Friedman + + * Makefile.in (AUX): Include `dump-remind' in distribution. + + * backup-specs (SLEEP_MESSAGE): New variable. + level-0, level-1: Use it instead of external `dont_touch' file. + + * level-0, level-1: Put most of the script in () and pipe + everything from the subshell through tee -a $LOGFILE. Since you + really want most of the output to go to the logfile anyway, and + since all those pipelines were preventing one from getting the + exit status of most commands, this seems like the right idea. + + * level-0, level-1 (LOGFILE): Use YYYY-MM-DD (all numeric) format + for log file name, since that makes the file names sortable in a + coherent way. Suffix should always be `level-n' where n is the + dump level. level-0 script was just using `-full' instead. + + * level-0, level-1 (DUMP_LEVEL): New variable. Set to `0' or `1' + in each script as appropriate. + + * level-0, level-1 (HOST): Renamed to `localhost' for clarity. + (host): renamed to `remotehost' for clarity. + + * level-0, level-1 (startdate): New variable. Use it in Subject + line of mailed report. + + * level-0, level-1: Fixed all instances where sed is called with a + script on the command line to use `-e' option. + + * level-0, level-1: Don't try to call logfile.sed to filter + LOGFILE. It's not distributed with tar and was never really used + anyway. + + * level-0, level-1: Put quotes around most variable names (barring + those that are known to intentionally contain text that should be + expanded into multiple words, like `TAR_PART1'). + + * level-0, level-1: Got rid of annoying trailing backslashes in awk + scripts. They were gratuitous. Made them a little more readable + by adding some whitespace. + +1992-10-21 Noah Friedman + + * level-0, level-1: put curly braces around variables for clarity. + + * backup-specs (DUMP_REMIND_SCRIPT): define it (but commented out + so that distributed dump scripts won't use it by default). + level-0, level-1 (TAR_PART1): use --info-script if + DUMP_REMIND_SCRIPT is defined. + dump-remind: new file (intended as an example). + +1992-10-15 Noah Friedman + + * level-0, level-1: remove $LOGFILE.tmp files before exiting. + +1992-09-24 Michael I Bushnell + + * level-0, level-1 (TAR_PART1): remove --atime-preserve + because of a total screw. + +1992-09-10 Noah Friedman + + * level-0, level-1 (TAR_PART1): put --atime-preserve inside quotes. + +1992-09-09 Michael I Bushnell + + * level-0, level-1 (TAR_PART1): Use --atime-preserve. + +1992-07-10 Michael I Bushnell + + * level-0, level-1: Avoid silly Sun awk lossage. + +1992-04-30 Noah Friedman + + * level-1: Added `$' before VOLNO_FILE in definition of TAR_PART1. + Added line to remove $VOLNO_FILE from any previous dump before + starting. + + * level-0, level-1: Change long options to use `--' instead of `+' + (support for `+' will go away soon) + +1991-10-17 Michael I Bushnell + + * level-0: Repair damage from previous mod: stdin to rsh must + be the terminal or tar's questions lose. + +1991-08-31 Noah Friedman + + * level-0: Fixed several syntax errors associated with + stdout/stderr redirection. + Made sure remote host executes commands from sh where redirection + is necessary, since root's shell might be csh in some places and + the redirect syntax differs. + +1991-07-01 Michael I Bushnell + + * Fix a misplaced quote in level-0 and change some >& into + 2>&1. + + +----- src/ChangeLog ----- + +1997-04-25 François Pinard + + * Release 1.12. + + * tar.c (main): Attempt to clarify the delayed error exit message. + Reported by Richard Stallman. + + * list.c (decode_mode): New name for demode. + + * list.c (read_and): Set current_stat.st_mtime before testing it. + Reported by Sven Verdoolaege. + +1997-04-24 François Pinard + + * create.c (dump_file): Before asserting that we cannot access + a directory, make sure tar is not installed suid root. + Reported by Dietmar Braun. + + * misc.c (quote_copy_string): Undo 1996-05-02 change, meant for + the file mangler, now obsolete. This will do neater listings. + Reported by Max Hailperin and Noah Friedman. + + * buffer.c, incremen.c, misc.c, tar.c: Replace dangling semicolons + by continue; or break; depending on context. + Reported by Robert E. Brown. + +1997-04-23 François Pinard + + * arith.c (add_to_tarlong_helper): Compare a superdigit against a + value, rather than an unsigned sum against zero. + Reported by Bruno Haible. + + * misc.c (quote_copy_string): Replace many if's by a switch. + +1997-04-22 François Pinard + + * Prerelease 1.11q. + + * extract.c (extract_archive): Check if directory extraction was + attempted over an existing directory before attempting recovery, + so avoiding extraction loops in cases like DIR/../DIR. + Reported by Marc Boucher. + + * delete.c (delete_archive_members): New name for junk_archive. + * common.h, tar.c (main): Adjusted. + +1997-04-20 François Pinard + + * tar.c (usage): Update comment about --mode. + +1997-04-19 François Pinard + + * buffer.c: Include if necessary. + Reported by Bruno Haible. + + * common.h: Declare write_dir_file for incremen.c. + Reported by Bruno Haible. + + * incremen.c (get_directory_contents): Nest an assignment and test + within another set of aesthetical parentheses. + Reported by Bruno Haible. + + * tar.c (check_octal): Deleted. + Reported by Bruno Haible. + + * buffer.c (flush_archive): Add one impossible switch case. + * delete.c (junk_archive): Add two impossible switch cases. + * list.c (read_and): Add one impossible switch case. + * update.c (update_archive): Add two impossible switch cases. + Reported by Bruno Haible. + + * names.c (name_gather): Explicitly declare allocated_length as + an int, do not imply it. + Reported by Bruno Haible. + +1997-04-18 François Pinard + + * Prerelease 1.11p. + + * Makefile.am (tar._o, rmt._o): Revise rules further. + Reported by Bruno Haible and Ken Steube. + +1997-04-16 François Pinard + + * arith.h: Prefer a single long over a long long, if possible. + Also reject long long if it is not long enough :-). + Reported by Bruno Haible. + +1997-04-15 François Pinard + + * buffer.c, tar.c, update.c, common.h: Replace _COMMAND suffixed + constants by _SUBCOMMAND suffixed. Rename enum command by + enum subcommand, main_command_option by subcommand_option and + set_main_command_option by set_subcommand_option. + + * create.c (dump_file): Remove badperror label, call WARN + explicitly at the two other needed places instead. Remove + badfile label, expand the proper code at the three other + needed places instead. Delete the critical_error flag, just + set exit_status to TAREXIT_FAILURE rather than setting this flag. + +1997-04-12 François Pinard + + * delete.c (move_archive): Declare it void. + Reported by Bruno Haible and Kaveh R. Ghazi. + +1997-04-11 François Pinard + + * Prerelease 1.11o. + + * Makefile.am: Duplicate rules for the ansi2knr case. + Reported by Kaveh R. Ghazi and Marcus Daniels. + +1997-04-10 François Pinard + + * common.h: Change mode_option from int to struct mode_change *. + * tar.c (decode_option): Use mode_compile. + * create.c (start_header): Use mode_adjust. + +1997-04-09 François Pinard + + * All: Replace all flag_ prefixed variables by _option suffixed. + * tar.c: Replace OPTION_ prefixed macros by _OPTION suffixed. + + * buffer.c, tar.c, update.c, common.h: Replace COMMAND_ prefixed + macros by _COMMAND suffixed, COMMAND_NONE by UNKNOWN_COMMAND, + and delete TOO_MANY_COMMAND. Turn these into an enum and declare + main_command_option of this enum type, to replace command_mode, + which was an int, everywhere. + * tar.c (decode_options): Initialise main_command_option. + (set_main_command_option): New function to replace + SET_COMMAND_MODE. Diagnostic ambiguous command as soon as seen. + However, be forgiving if command has merely been repeated. + + * buffer.c, tar.c, common.h: Have info_script_option be at the + same time a flag and the option value, no need for a separate + info_script variable. Rename rsh_command to rsh_command_option, + tape_length to tape_length_option, compress_program to + use_compress_program_option, volno_file to volno_file_option. + * tar.c (set_use_compress_program_option): New function. + + * buffer.c, names.c, tar.c, common.h: Have files_from_option + be at the same time a flag and the option value, no need for + a separate namefile_name variable. + + * buffer.c, create.c, tar.c, commun.h: Rename volume_label to + volume_label_option. + + * incremen.c, tar.c, common.h: Rename gnu_dumpfile to + listed_incremental_option. Let it unitialised for just incremental. + * create.c (create_archive): No need to check both + incremental_option and listed_incremental_option, as the later + implies the former already. + + * create.c, tar.c, common.h: Rename preset_owner to owner_option, + preset_group to group_option and preset_mode to mode_option. + + * create.c, incremen.c, list.c, tar.c, commun.h: Have + after_date_option be a Boolean instead of a three-valued flag. + Rename threshold_time to newer_mdate_option, which may be looked + at without checking after_date_option first, as threshold_time + before. Make newer_cdate_option an alias for newer_mdate_option. + +1997-04-08 François Pinard + + * buffer.c: Use int after extern to declare time_to_start_writing. + * extract.c: Use int after static to declare we_are_root. + Reported by Ariel Faigon. + +1997-04-03 François Pinard + + * list.c (read_and): Use the proper enum constants in switch, + instead of oldish and wrong numbers. + Reported by Martin Mares. + +1997-04-01 François Pinard + + * arith.c [SUPERDIGIT] (zerop_tarlong, lessp_tarlong, + clear_tarlong, add_to_tarlong, add_to_tarlong, mult_tarlong, + print_tarlong): Rename all functions by adding a _helper suffix. + * arith.h [SUPERDIGIT]: Replace function prototypes by macros, + each calling the function with _helper appended, and extracting + pointers out of the tarlong structures. + Reported by Andrew A. Ivanov and Kaveh R. Ghazi. + + * buffer.c (child_open_for_compress): Copy all records coming out + of the compressor, not only the last one. + Reported by Alois Steindl, Mark Bynum, Martin Mares, Nelson + H. F. Beebe, Scott J. Kramer and Torkel Hasle. + +1997-03-29 François Pinard + + * create.c (dump_file): Ignore unreadable directories when + --ignore-failed-read. + Reported by Ralph Schleicher. + + * create.c (deal_with_sparse): Chain the last partial zero block + with the preceding data, do not try sparing it. This correction + is approximative, as the whole thing should be rethought. + Reported by Andreas Degert. + +1997-03-24 François Pinard + + * All: Rename head to current_header, hstat to current_stat, and + header_format to current_format. + * update.c (update_archive): Rename nstat to stat_data. + * create.c: Do not extern hstat, as common.h does it. + (deal_with_sparse): Get rid of amidst_data, since numbytes is + already usable as a flag for the same thing. + +1997-03-21 François Pinard + + * names.c (name_gather): Do not declare static variables which + do not need to be. Have allocated_length represent the full + allocated length, instead of only the name part. It's clearer. + (addname): Similar cleanups. + +1997-03-20 François Pinard + + * compare.c: Always call report_difference when there is a + problem, so the exit status will be set in all cases. Build the + message string if necessary, so avoiding stdargs/varargs. + (report_difference): If NULL argument, just set the exit status + without reporting a message. Move out the word `differs' + in all callers, do not insert into an English message. + (read_and_process): Return void, as the int result is never used. + Assume processors returns nonzero for success and zero for + failure, instead of 0 for success and -1 for error. + (process_rawdata, process_dumpdir): Adjusted. + + * compare.c: Remove different as a global variable, it is useless. + (diff_sparse_files): Make different a local variable, reinitialise + it on each call. Otherwise, after any error elsewhere, all sparse + files were always and falsely reported as erroneous. + Reported by James E. Carpenter and Tim Towers. + +1997-02-25 François Pinard + + * tar.c: Adjust copyright years in --version output. + + * create.c (dump_file): Allow saving directories even with -o. + Reported by Daniel Trinkle. + +1996-11-26 François Pinard + + * compare.c (verify_volume) [FDFLUSH]: Use fsync even in that case. + Reported by Marty Leisner. + +1996-11-25 François Pinard + + * buffer.c (new_volume): Write file name in two words. + * names.c (name_next): Idem. + * buffer.c (flush_read): Speak of record size instead of blocksize. + Reported by Christian Kirsch. + +1996-11-22 François Pinard + + * list.c (read_header): Return failure, instead of success, + whenever checksums do not match. + Reported by Marc Boucher and Marty Leisner. + + * incremen.c (get_directory_contents): Use stat_data instead of + current_header for checking normal files. Otherwise, new or + modified files in old directories were not dumped, that is, if a + directory was older than the listed entry, it was skipped + completely without checking the contained files. + Reported by David Johnson, John David Anglin and Wolfram Wagner. + + * buffer.c (open_archive): When updating the archive, initialize + the access variable with reading mode, not update mode. + Reported by Andreas Schwab. + + * delete.c (junk_archive): Initially jump directly into the loop, + so deleting a file after a big one will not destroying the archive. + Reported by Akiko Matsushita, Andreas Schwab, Eric Backus, Jeff + Siegel, Saul Lubkin, Stuart Kemp and Yasushi Suzudo. + +1996-11-19 François Pinard + + * incremen.c (get_directory_contents): Compute distance using the + start of the proper buffer. + Reported by David Johnson, Donald H. Locker, John David Anglin, + Marc Boucher and Noah Friedman. + + * tar.c (usage): Revise the mandatory/optional sentence again. + Reported by Karl Berry. + +1996-11-18 François Pinard + + * Prerelease 1.11.14. + + * tar.c (usage): Explain the purpose of the program. + + * tar.c (usage): Clarify the mandatory/optional sentence. + Reported by Alex Schmidt. + + * system.h [HAVE_SYS_TAPE_H]: Include sys/buf.h if it exists, to + avoid many warnings on BSD/OS. + Reported by Dan Reish. + +1996-11-11 François Pinard + + * incremen.c (write_directory_file): Renamed from write_dir_file. + (get_directory_contents): Renamed from get_dir_contents. + * common.h: Adjusted. + + * all: Cleanup around local variables, renaming them more + appropriately, using initializers when natural, and moving them + closer to the blocks where they are used. + + A bit of reorganisation in the sources: + * common.h: New file, for holding all GNU tar specific definitions, + which were previously held in tar.h. + * tar.h: Now limited to the archive format description only. + * all: Include common.h instead of tar.h. + * delete.c: New file, holding delete code out of update.c. + * update.c: Now limited to appending type of commands. + * compare.c: New name for diffarch.c. + * incremen.c: New name for increm.c. + * names.c: Moved over all name processing from tar.c. + * tar.c, common.h: Adjusted. + * Makefile.am: Adjusted. + + * system.h (lstat) [!S_ISLNK]: Define as stat. + * create.c, diffarch.c, increm.c: Remove similar definitions. + + * tar.c: Merge --version-control into --backup, make it obsolete. + +1996-11-10 François Pinard + + * all: Add a FIXME comment everywhere errno is modified by tar. + + * buffer.c (new_volume): Return nonzero/zero for success/failure, + instead of zero/negative. Callers adjusted. Use xstrdup on + file name given by user with the answer "n", so avoiding the + apparently useless allocation of one extra byte. Avoid using p. + + * buffer.c: Add DEBUG_FORK conditional code. + Reported by Thomas König and Ulrich Drepper. + + * misc.c (maybe_backup_file): In the renaming message, say that + the previous file is being renamed, not the newly extracted one. + + * buffer.c (backspace_output): Change return type to void, since + returned values were never used. + * update.c (move_arch): Idem. + (xdup2): New name for redirect, order of arguments was not natural. + +1996-11-09 François Pinard + + * all: Remove all white lines between open braces and comments. + + * tar.h: Declare access_mode as an enum and as a variable. + Adjust declaration of open_archive. + * buffer.c: (open_archive, new_volume): Use access instead of + reading. Callers adjusted for using enum access_mode arguments. + (flush_archive, close_archive): Use access_mode, and cleanup. + * diffarch.c (verify_volume): Use access_mode. + + * buffer.c (child_open_for_compress, child_open_for_uncompress): + Split of previous child_open_for_compress. Clean up. + (open_archive): Adjusted for calling the proper function above. + +1996-11-09 François Pinard + + * Prerelease 1.11.13. + + * tar.c (usage): Do not tie --posix anymore to 1.12. + + * extract.c (set_stat): Until we know better, for the time being, + limit restoring symbolic link attributes to lchown only. + + * all: Mini clean up. Systematically set logical variables to + one instead of auto-incrementing them (PDP-11 time is over by + now! :-). Replace some single letter counters or cursors by + variables named counter or cursor. Simplify a few C constructs. + + * buffer.c, tar.h: Delete read_error_flag, set but never used. + Rename r_error_count to read_error_count. + + * create.c (clear_buffer): Use memset instead of explicit loop. + (zero_block_p): Renamed from zero_block, callers adjusted. + +1996-11-07 François Pinard + + * rmt.c (private_strerror): Add const's to sys_errlist declaration. + Reported by Fabio d'Alessi. + +1996-11-06 François Pinard + + * tar.h: Add OPTION_BACKUP, OPTION_SUFFIX, OPTION_VERSION_CONTROL. + Renumber options from 3 instead of from 10. Declare flag_backup. + * tar.c: Include backupfile.h. Implement --backup, --suffix and + --version-control decoding. Adjust usage documentation. + + * misc.c (maybe_backup_file, un_backup_file): New functions. + * tar.h: Adjusted. + * buffer.c (child_open_for_compress, open_archive, new_volume): + Use the new functions. + * extract.c (extract_archive): Idem. + Reported by Jeffrey Mark Siskind, Karl Berry, Karl Heuer, Marty + Leisner, Melissa Weisshaus and William Bader. + + * misc.c (assign_string): Moved over from tar.c. + * tar.h: Adjusted. + +1996-10-28 François Pinard + + * tar.h: Declare enum read_header, for return values of read_header. + * diffarch.c (verify_volume): Adjusted. + * list.c (read_and, read_header): Adjusted. + * update.c (junk_archive, update_archive): Adjusted. + * update.c: Rename prev_status to previous_status. + * update.c (junk_archive): Delete found_stuff, use logical_status. + +1996-10-15 François Pinard + + * buffer.c (new_volume, open_archive): Soften messages. + * create.c, extract.c: Add quotes around slashes in some messages. + * tar.c (usage): Added a missing equal sign after --directory. + Reported by Jan Djarv. + +1996-09-22 François Pinard + + * tar.c: Write --no-recursion instead of --no-recurse. + Reported by Noah Friedman. + +1996-09-20 François Pinard + + * tar.h: Delete label_pattern. + * tar.c (main): Do not compile anymore volume_label as a regexp. + (usage): Document --label as accepting a globbing pattern. + * buffer.c, tar.c: Do not include regex.h neither rx.h. + * buffer.c (check_label_pattern): New function. + (open_archive, flush_read): Use it, instead of re_match. + + * tar.c (decode_options): Better space --version output. + +1996-09-19 François Pinard + + * Prerelease 1.11.12 + + * Makefile.am (EXTRA_PROGRAMS): Compile rmt properly, instead of + letting make use default .c to executable rule. + + * tar.c: Include getopt.h. + * system.h: Don't. + + * increm.c (get_dir_contents): Consider all NFS devices as equal + before deciding that a directory was renamed, so automount will + not fool GNU tar into spurious incremental redumping. + Reported by Frank Koenen, Giorgio Signorini, Joachim Holzfuss, + Konno Hiroharu, R. Kent Dybvig and Wolfram Wagner. + + * tar.c (usage): Add bug report address in --help output. + (decode_options): Add copyright and authors in --version output. + + * increm.c: New name for gnu.c. + * Makefile.am (tar_SOURCES): Adjusted. + + * gnu.c (init_buffer, add_buffer, get_buffer, flush_buffer): Moved + over from misc.c. Deleted is_dot_or_dot_dot and remove_any_file. + * misc.c (is_dot_or_dotdot, remove_any_file): Moved over from gnu.c. + Deleted init_buffer, add_buffer, get_buffer and flush_buffer. + * tar.h: Adjusted. + +1996-09-18 François Pinard + + * buffer.c (write_error): Obey --totals before aborting. + Reported by Greg Chung. + + * buffer.c (read_error, write_error): Renamed from readerror and + writeerror. + * tar.c (read_name_from_file): Rename c to character. + +1996-09-17 François Pinard + + * arith.h (tarlong): The typedef tarlong, when an array, is now + wrapped inside a struct to avoid bugs in EWS 4.2 C compiler. + * arith.c: Adjusted. + Reported by Paul Eggert. + + * buffer.c: Declare archive_stat statically. + (open_archive): Do not declare archive_stat locally. + (close_archive): Limit archive draining to while reading a pipe. + Reported by Andreas Schwab. + +1996-09-16 François Pinard + + * system.h: Define protected defaults for open parameter symbols. + [EMUL_OPEN3]: Intercept open calls and redirect them to open3. + * open3.c: New file, moved over from lib/. Merely include + system.h rather than config.h, errno.h and open3.h. + [EMUL_OPEN3]: The compilation of the file depends on this symbol. + When it was in lib/, we were using LIBOBJS to control this. + * Makefile.am: Adjusted. + * extract.c: Don't call open3.h. + Reported by Jim Meyering. + +1996-09-09 François Pinard + + * Makefile.am (libexec_PROGRAMS): Rely on @RMT@, not rmt. + (bin_PROGRAMS): Do not include @RMT@. + + * gnu.c (remove_any_file): Protect value of errno in case + of failure to remove a directory, in non-recursive mode. + This should correct spurious diagnostics while extracting + directories over already existing hierarchies. + Reported by Martin Mares and Marty Leisner. + +1996-09-04 François Pinard + + * gnu.c (read_dir_file): Diagnose file names over PATH_MAX. + (get_dir_contents, add_dir_name): Increase namebuf many times if + this is needed to receive a loong file name. + Reported by Carsten Heyl. + + * Makefile.am (tar.o, rmt.o): Special rules for defining + LOCALEDIR, instead of having it defined on all compiles. + + * Makefile.am: Remove check related lines, moved over to tests/. + +1996-09-03 François Pinard + + * Makefile.am: Use genfile in check_PROGRAMS, not noinst_PROGRAMS. + (check-local): Do not depend on genfile. + +1996-08-24 François Pinard + + * Makefile.am (EXTRA_DIST): Do not mention ansi2knr.1 nor + ansi2knr.c, as Automake now handle them automatically. + +1996-07-18 François Pinard + + * arith.h: Include tar.h, not arith.h, so FATAL_ERROR is defined. + [!SUPER_DIGIT]: Declare arguments to ..._tarlong routines as + pointers to unsigned long and not arrays, for avoiding pointers + to arrays, and nevertheless have arrays passed by reference + rather than by value. + * arith.c: Adjusted function headers accordingly. + * buffer.c, tar.c: Removed address-of operators, using tarlongs. + Reported by Christian T. Dum, Jim Meyering and Kaveh R. Ghazi. + + * arith.h [SUPER_DIGIT]: Avoid indirection in all macros for + Accumulators. This, in particular, solves a bug where the pointer + value itself was printed, rather than the pointed to value. + Reported by Drew Sullivan and Wolfram Wagner. + + * Makefile.am (EXTRA_DIST): Include ansi2knr.[1c] for now. + Reported by Christian T. Dum, Jim Meyering and Kaveh R. Ghazi. + +1996-07-17 François Pinard + + * Prerelease 1.11.11. + + * Makefile.am (check-local): Ensure relinking if the service + libraries where modified (waiting for Automake to do it!). + +1996-07-16 François Pinard + + * rmt.c (strerror): It is a macro on some systems. + Reported by Santiago Vila Doncel. + +1996-07-15 François Pinard + + * Prerelease 1.11.10. + + * checktar.sh: Use a more regular WARNING in message. + +1996-07-09 François Pinard + + * tar.h: Declare that unquote_string as returning int, not char *. + * misc.c (unquote_string): New name for un_quote_string. Clean + up a bit, return a boolean indicator for success, not a string. + * gnu.c (read_dir_file), mangle.c (extract_mangle), tar.c + (add_exclude): Callers adjusted, so they never use a NULL return + as an actual string. In fact, the result of unquote_string is + always used, even if the quoting was improper. + Reported by Johan Vromans. + +1996-05-03 François Pinard + + * tar.h: Define TTY_NAME as a macro, instead of an external array. + * tar.c: Remove declaration of TTY_NAME. + + * tar.h: Rename new_time to threshold time. Make it GLOBAL. + * tar.c, create.c, gnu.c, list.c: Adjusted. + (decode_options): Clarify -N and --newer-mtime decoding, ensure + one of them is called at most, otherwise it would misbehave. + +1996-05-02 François Pinard + + * misc.c (quote_copy_string): Ensure spaces are backslash-quoted. + Reported by Max Hailperin. + + * list.c (decode_header): Some clean up. Recognize POSIX archive + headers, avoid fetching atime or ctime in this case. + [!S_IFBLK || !S_IFCHR]: Ensure st_rdev is cleared appropriately. + * tar.h: Rename head_standard to header_format, so turning an + int to an enum archive_format. Adjust decode_header prototype. + * diffarch.c, extract.c, list.c, update.c: Usages changed. + * create.c: Ensure oldgnu_header is only used when OLDGNU_FORMAT. + (Correction just starting to be made--will be comprehensive...) + Reported by Anders Andersson, Bdale Garbee, Chris G Demetriou and + David J. MacKenzie. + + * buffer.c, gnu.c, rtapelib.c, tar.c: Diagnose errors on fclose. + Reported by Jim Meyering. + +1996-05-01 François Pinard + + * buffer.c (close_archive): If reading and the archive is + finished, read until end of archive, for avoiding an error + message from the upstream process if we are reading from a pipe. + Reported by Bennett Todd, Dick Streefland, Don Bennett, Ian Lance + Taylor, Jean-loup Gailly and Piercarlo Grandi. + + * create.c (dump_file): Add note about accuracy of st_blocks. + Reported by Dick Streefland. + + * diffarch.c: Include if it exists. + (verify_volume): fsync, than ioctl(, FDFLUSH) first. + Reported by Marty Leisner. + +1996-04-29 François Pinard + + * list.c (isotime): New function. + (print_header) [!USE_OLD_CTIME]: Use it instead of ctime. + Reported by Karl Berry and Markus Kuhn. + +1996-04-23 François Pinard + + * extract.c (set_stat): Accept a new parameter telling if this is + a symbolic link. In this case, and if lchown exists, use it + instead of chown. Callers adjusted. + (extract_archive): Do call set_stat over restored symbolic links. + Reported by Andreas Koppenhoefer, Bernard Derval, Ian Jackson, + Matt Power, Warren Dodge and Wolfram Gloger. + + * extract.c (extr_init): If the umask was very restrictive at + start of tar, nevertheless ensure we create intermediate + directories with such permissions that we can at least add files + into them. + (extract_archive): Same, but for final directory. Ensure + directory attributes are restored in all cases. + Reported by Piercarlo Grandi. + + * tar.c: Implement --owner, --group and --mode options. + * tar.h: Declare preset_owner, preset_group and preset_mode. + * create.c: Obey these variables. + Reported by Ken Raeburn, Richard Stallman and Stephen Gildea. + + * create.c (dump_file): When wanting the length of the link + name, use strlen, rather then doing wrong arithmetic giving + the number of removed slashes at the beginning of it. + Reported by Brian R. Smith. + + * create.c (start_header): Try removing leading slashes even for + long file names. + Reported by Art Isbell, Fritz Elfert and Robert E. Brown. + + * buffer.c (new_volume): Avoid calling closeout_volume_number if + the --volno-file option was not specified, so avoiding crashes. + * tar.c (usage): Document the --volno-file option. + Reported by Christoph Litauer, Daniel S. Barclay, David Taylor, + Erik D. Frederick, Larry Creech, Loïc Prylli, Loren J. Rittle, + Marty Leisner, Neil Faulks, Paul Mitchell, Rocky Giannini, Roy + Marantz, Sylvain Rougier, Timothy J. Lee and Werner Almesberger. + +1996-04-22 François Pinard + + * system.h (N_): Define marking macro for delayed translations. + * rmt.c: Use N_ instead of _ for returned strings. It does not + make sense translating messages in a remote process, not knowing + the language in use in the local process. + +1996-04-18 François Pinard + + Instead of -UU for removing directories, request a long option. + * tar.c: Implement --recursive-unlink. + (usage): Document --recursive-unlink. + (decode_options): Have --recursive-unlink imply --unlink-first. + * tar.h: Declare --recursive-unlink. + * extract.c (extract_archive): Use flag_recursive_unlink instead + of flag_unlink_first > 1. + Reported by Andreas Schwab. + +1996-04-17 François Pinard + + * Makefile.am (EXTRA_DIST): New name for DIST_OTHER. + + * tar.c (addname, name_gather): Zero out freshly allocated struct + name, to prevent garbage to get into the structure. + Reported by Jonathan Kamens. + +1996-03-28 François Pinard + + * create.c (dump_file): Cast %ld argument to (long). + Reported by Constantin Belous and Jörgen Hägg. + +1996-03-21 François Pinard + + * tar.c (main): Return int, not void. + Reported by Timothy J. Lee and Peter Seebach. + +1996-02-28 François Pinard + + * Makefile.am: Use RMT instead of PROGRAMS and noinst_HEADERS + instead of HEADERS. + +1996-02-12 François Pinard + + * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29. + +1996-02-03 François Pinard + + Ensure --totals work correctly for huge archives: + * arith.h, arith.c: New files. + * Makefile.am: Use arith.h and arith.c. + * tar.h: Do not declare tot_written anymore, include "arith.h". + * tar.c (main): Call init_total_written and print_total_written. + * buffer.c: Rename tot_written to total_written, make it tarlong. + (init_total_written, print_total_written): New routines. + Reported by Albert W. Dorrington, Chris F.M. Verberne, David + Martin, Eduardo Villasenor de Rivas, Greg Chung, Jim Meyering, + John R. Vanderpool, Jon Lewis, Jörg Weule, Jörgen Hägg, Rod + Thompson, Russell Cattelan, Ted Rule and Tor Lillqvist. + + Ensure --tape-length is usable for huge media: + * tar.h: Declare tape_length as tarlong instead of int. + * tar.c (decode_option): Decode tape_length as tarlong, and use + its value pre-multiplied by 1024. + * buffer.c (flush_write): Use bytes_written and tape_length as + tarlongs. Declare bytes_written outside flush_write. + (init_total_written): Zero out bytes_written as well. + Reported by Dave Barr. + +1996-01-15 François Pinard + + * rtapelib.c (rmt_open__) [MSDOS]: Do not call setuid/setgid. + Reported by Yasushi Suzudo. + +1996-01-14 François Pinard + + * Makefile.am (AUTOMAKE_OPTIONS): Select gnits and ansi2knr. + +1996-01-08 François Pinard + + * create.c: Initialize linklist to NULL. + Reported by Bradley A. Smith. + +1996-01-07 François Pinard + + * Makefile.am: Add parts of previous Makefile.in as FIXME comments. + +1996-01-03 François Pinard + + * tar.c (usage): Avoid an unescaped new line. + Reported by Kaveh R. Ghazi and Mark Bynum. + + * system.h: Declare valloc if it exists and is not #defined. + * create.c (start_header): Add missing DEFAULT_FORMAT case. + * gnu.c (read_dir_file): Use NULL instead of (char *) 0. + + * Makefile.am: Install rmt in $(libexec), not in sbin. + + * tar.c (decode_options): Add a semicolon so default case is + not completely empty, for better ANSI C compliance. + Reported by John David Anglin, Kaveh R. Ghazi and Mark Bynum. + +1996-01-02 François Pinard + + * buffer.c (open_archive): Allocate real_s_name at run time + instead of statically, because PATH_MAX is not always constant. + Reported by Bruno Haible, John David Anglin, Jonathan Thornburg, + Kaveh R. Ghazi, Martin Bellenberg, Marty Leisner, Nelson + H. F. Beebe, Roland McGrath and Thomas König. + + * Makefile.am (DIST_OTHER): Distribute BACKLOG. + Reported by Marty Leisner. + +1996-01-01 François Pinard + + * system.h: Include "error.h" instead of declaring error (). + Reported by Jim Meyering. + +1995-12-31 François Pinard + + * Makefile.am: New file. + +1995-12-30 François Pinard + + * Makefile.in: Define LOCALEDIR in DEFS. + * system.h [!ENABLE_NLS]: Add replacement for bindtextdomain. + * tar.c (main): Add call to bindtextdomain. + * rmt.c (main): Add calls to bindtextdomain and textdomain. + Reported by Ulrich Drepper. + + * buffer.c, create.c, diffarch.c, gnu.c, list.c, rmt.h, system.h, + tar.h, update.c: Replace __P by PARAMS, to respect ANSI C. + * rtapelib.c, rmt.h: Replace all __rmt* symbols by rmt*__. + +1995-12-28 François Pinard + + * Prerelease 1.11.9. + + * extract.c (extr_init): Initialize variables in any case, + instead of partly relying on static initializations. Remove + static initializations for those variables. + +1995-12-24 François Pinard + + * extract.c (extract_archive): On systems not having symbolic + links, attempt extracting symbolic links as hard links instead, + as POSIX suggests. Emit a diagnostic on first occurrence. + + * extract.c (extract_archive): On systems not having contiguous + files, continue extracting them as regular files as before, but + emit a diagnostic on first occurrence. + +1995-12-23 François Pinard + + * tar.h: Declare remove_any_file. + * gnu.c (remove_any_file): New name for recursively_delete. + Add a parameter to control recursion. Inverse return value, + so 0 is failure. Ensure errno is always valid in this case. + (gnu_restore): Specify recursion when calling remove_any_file. + * extract.c (maybe_recoverable): New routine. + (extract_archive): Call maybe_recoverable rather than + make_directories, so deleting files is also tried. Some cleanup. + + * tar.h: Declare flag_unlink_first. + * tar.c (decode_options): Decode --unlink-first (-U). + (usage): Document it. + * extract.c (extract_archive): With -U, call remove_any_file + prior to extraction for everything except directories. + + Reported by Andrew J. Schorr, Andrey A. Chernov, Axel Boldt, Bo + Nygaard Bai, Chris F.M. Verberne, Chris G. Demetriou, Christian + Callsen, Daniel S. Barclay, Ian Jackson, James Stevens, Seth + Robertson, Tito Flagella, Warner Losh and Wolfram Wagner. + +1995-12-22 François Pinard + + * tar.c (name_close): Specify static. + (main): Call name_close after create_archive. + * create.c (create_archive): Do not call name_close. + + * tar.c: Clean out names_arg[cv] crumb. + (name_next): Simplify routine by merging both loops. + (addname): Avoid xstrdup'ing result of new_name, this corrects a + memory leak. + + * extract.c: Normalize error message so the file is identified at + the beginning of it. + + * tar.h (USAGE_ERROR): New macro. + * tar.c: Use USAGE_ERROR as far as possible. Cleanup and + normalization in string for usage errors. Better detection of + conflicting options about archive format or compression program. + + * tar.c (decode_options): Decouple cases for -C and files. Count + number of input files. Cowardly refuse to create an empty archive + file, if -c is given without input file or list. + Reported by Karl Berry and Robert Bernstein. + +1995-12-21 François Pinard + + * buffer.c: Rename a few err variables to status. + * extract.c: Rename a few check variables to status. + + Corrections to speed-up the sizeing pass in Amanda: + * tar.h: Declare dev_null_output. + * buffer.c (open_archive): Detect when archive is /dev/null. + (flush_write): Avoid writing to /dev/null. + * create.c (dump_file): Do not open file if archive is being + written to /dev/null, nor read file nor restore times. + Reported by Greg Maples and Tor Lillqvist. + + * gnu.c: Have dir_list properly initialized to NULL. + Reported by Paul Nordstrom and Tim Lashua. + + * extract.c: Rename ourmask to newdir_umask. Rename and + complement notumask to current_umask. + * list.c (print_for_mkdir): New name for pr_mkdir. + * tar.h: Adjust declaration. + * extract.c (make_directories): New name for make_dirs. Some + cleanup in variable names. + + * extract.c: Let newdir_umask be a global variable. + (make_directories): Use newdir_umask while creating intermediate + directories. They used to be 0777 unconditionally. + Reported by Bruce Evans, Harald König and James Crawford Ralston. + +1995-12-20 François Pinard + + * create.c (finish_header): Avoid printing the header for long + names or links, this avoids spurious `Visible longname error's. + + Reported by Arne Wichmann, Chris F.M. Verberne, Frank Koenen, + Franz-Werner Gergen, Ian Jackson, Jon Lewis, Mark Kollert, Paul + Nordstrom, Ted Rule, Thomas Priesner, Tim Rylance and Tom Tromey. + +1995-12-19 François Pinard + + * buffer.c: Have real_s_name able to hold PATH_MAX characters, + not only NAME_FIELD_SIZE. It was breaking --multi-volume + --listed-incremental when backing up long file names. + Many symptoms really: a screwed-up date on the incremental data + file, dumping incremental which should not have been, etc. + * (flush_read): Avoid altering save_name pointer value, use + cursor instead. Also avoid the optimization of cleaning each + save_name only once per flush_read if it did not change: it + was using `save_name = real_s_name;', and since save_name may + be freed at any time, this is/was really running after trouble. + + Reported by Alexander V. Lukyanov, Axel Habermann, Chance + Reschke, Claus Heine, Christian von Roques, Daniel Hagerty, + Daniel S. Barclay, Dirk Herr-Hoyman, Donald H. Locker, Ed Childs, + Heiko Schinke, Hunyue Yau, Goeran Uddeborg, Grant McDorman, + Joachim Seelig, Joe DeBattista, Jonathan Thornburg, Joutsiniemi + Tommi Il, Jürgen Lüters, Keith Young, Kelly Stephens, Kevin + Dalley, Konno Hiroharu, Larry Creech, Martin Mares, Michael + Dietrich, Michael Giddings, Michael Meissner, Michael P Urban, + Paul Siddall, Pierce Cantrell, Peter Fox, Robert Frey, Roderich + Schupp, Sam Richards, Stephen J Bevan, Torsten Lull, Wolfram + Gloger and Yu-Min Liang. + + * system.h: Include and for BSDi. + Reported by Chris Arthur, Dan Reish, Karl Berry and Skip Montanaro. + + * rmt.c (private_strerror): New, copied from lib/error.c. + Remove sys_errlist declaration, and use syserror instead. + Reported by Chris Arthur, Coranth Gryphon, Erich Stefan Boleyn, + Fabio d'Alessi, Greg Hudson, Jason R. Mastaler, Skip Montanaro, + Thomas Krebs and Troy Rudolph. + +1995-12-17 François Pinard + + * extract.c (extract_archive): Unrecognized types were defaulted + to sparse files instead of regular files, because of an improper + /* Fall through. */. + + * create.c, diffarch.c, extract.c, gnu.c, list.c, rtapelib.c, + tar.c: Drop register specifications, useless in GNU's tar, as + tar does not use longjmp, and GNU C has -O automagically set. + + * extract.c (extract_archive): Inhibit creation of links, special + devices, directories, etc., when --to-stdout option is being used. + Reported by Donald B Gordon, Gerben Wierda, Greg Chung, Norbert + Kiesel and Roman Czyborra. + +1995-12-04 François Pinard + + * tar.h: Implement FATAL_ERROR, telling error is not recoverable. + * tar.c (main): Diagnose delayed error, for TAREXIT_FAILURE only. + * buffer.c, diffarch.c, gnu.c, list.c, tar.c, update.c: Replace + all `ERROR ((TAREXIT_FAILURE,' by `FATAL_ERROR ((0,'. + Reported by Marty Leisner. + + * list.c (read_and): When telling block numbers in verbose output, + clearly list block numbers for NUL blocks and end of file. + Reported by Jörg Weule. + + * tar.c (usage): Document --newer-time. + Reported by Greg Chung. + +1995-11-30 François Pinard + + * system.h: Conditionally include prior to . + * rmt.c: Do not include anymore. + Reported by Harald König and Kaveh R. Ghazi. + + * rtapelib.c: Remove seemingly useless include of setjmp.h. + + * rtapelib.c: Try to get EOPNOTSUPP defined in all cases. + If needed, include net/errno.h or sys/inet.h when they exist. + Reported by Goeran Uddeborg, J.J. Bailey, John L. Chmielewski, + Peder Chr. Norgaard and Yasushi Suzudo. + +1995-11-29 François Pinard + + * tar.c (decode_options): Diagnose --block-compress properly. + Was segment violating because falling into --blocking-factor. + + * buffer.c, create.c, diffarch.c, genfile.c, gnu.c, tar.c: + Uniformly write nonzero instead of non-zero. + Reported by Karl Berry. + + * system.h, buffer.c, create.c, diffarch.c, tar.c, update.c [MSDOS]: + Instead of __MSDOS__, all occurrences. + * extract.c (extract_archive) [MSDOS]: Avoid delaying restoration + of timestamps for directories. + * buffer.c (child_open_for_compress): Add a missing semi-colon. + * diffarch.c (diff_archive): Avoid comparing uid and gid. + Reported by Yasushi Suzudo. + + * tar.c (usage): Correct absolute-paths to absolute-names. + Reported by Jonathan Kamens. + + * tar.c (usage): Indicate that --exclude uses globbing, and that + --label uses regexps. + Reported by John R. Vanderpool and Matti Aarnio. + + * tar.c (names_notfound): Do not report a fake namelist entry, so + gzipped empty archives will not produce spurious diagnostics. + Reported by Jonathan Kamens. + +1995-11-23 François Pinard + + * tar.c (name_scan, name_match): Avoid labels and gotos. + +1995-11-22 François Pinard + + * Makefile.in (DISTFILES): Distribute ChangeLog. + + * ChangeLog: New, extracted from top-level ChangeLog. + + * tar.c (main, decode_options): Delay request_stdin for `-f' + until all options processed, so we now for sure that `-' means + standard input, not standard output. + + * tar.c (usage): Document that users should not count on + POSIX support yet, saying it is only partially implemented so far. + +1995-10-27 François Pinard + + * rtapelib.c (_rmt_shutdown): Add the errno_value parameter. + (__rmt_open): Call shutdown if remote open fails, or else, we lose + file descriptors. + Reported by Holger Teutsch. + +1995-10-20 Tom Tromey + + * tar.c (request_stdin): New function. + (stdin_used_by): New variable. + (name_init, add_exclude_file, decode_options): Use request_stdin + if required. + (confirm): Check stdin_used_by to see if stdin in use. + + * list.c (read_header): Consistently use sizeof to find size + of checksum field. + +1995-08-26 François Pinard + + * names.c (uid_to_uname, gid_to_gname): Ensure that the empty + string is returned when not found, instead of the previous one. + +1995-08-06 François Pinard + + * buffer.c (new_volume): Use stderr rather than stdlis for + interactions. Clarify `archive == 0' into `archive == STDIN'. + Reported by Scott Hunziker. + +1995-08-02 François Pinard + + * diffarch.c (diff_archive): When symlink differs, report the + file name, not the link name. + Reported by Dale R. Worley and Wolfram Wagner. + +1995-07-23 François Pinard + + * Makefile.in (Makefile): Remove some useless lines. + +1995-06-27 François Pinard + + * tar.h: Sort out declarations a little better. + * tar.c (decode_options): Reorder the cases in the big switch. + + * tar.h: Introduce OLDGNU_COMPATIBILITY, enum archive_format, + variable archive_format. Delete flag_old_archive, flag_standard. + * tar.c (decode_options): Initialize archive_format so that -o + yields V7_FORMAT, nothing yields OLDGNU_FORMAT, --posix yields + GNU_FORMAT, and --posix with POSIXLY_CORRECT yields POSIX_FORMAT. + * create.c (start_header): Use TMAGIC and TVERSION if required. + Replace all flag_old_archive and flag_standard appropriately. + + * tar.c: Implement a --record-size option, which is an + alternate way of saying --blocking-factor, in bytes this time. + + * tar.h, tar.c, create.c (dump_file): Implement + a --no-recurse option, to help using tar with find. + Reported by Chris G. Demetriou, Jamie Zawinski, Kimball + Collins, Oswald P. Backus IV and Stuart Poulin. + + * tar.h, tar.c, buffer.c (child_open_for_compress): + Delete --block-compress, issue a warning if used. It was never + obeyed while outputting on disk files, where it would have been + useful. It was only obeyed for pipes, remotes and devices, that + is, exactly when it would be an error not to specify it. + + Reported by Hans Guerth, James H Caldwell Jr, Jean-loup Gailly, + Jeffrey W. Parker, John D. Sybalsky, Kai Schlichting, Marcin + Matuszewski, Mike Silano, Paul O'Connor, Pete Geenhuizen and + Richard Stallman. + + * buffer.c (open_archive): Cosmetic changes. + + * buffer.c, diffarch.c, tar.h, update.c: Rename fl_read by + flush_read and fl_write by flush_write. + +1995-06-26 François Pinard + + * tar.c (usage): Remind that `USER@' may be specified. + Reported by John J. Szetela and Oliver Trepte. + + * tar.c (usage): Replace `modificators' by `modifiers'. + Reported by Alan Modra. + + * extract.c (set_mode, set_stat): New functions, from + previous code, elsewhere. Replace various occurrences of code + appropriately with function calls. Ensure mode bits are properly + set in all circumstances. This may imply calling set_mode twice. + Reported by Piercarlo Grandi and Tim Magill. + + * extract.c: Save the whole stat information in saved + directory information, instead of parts of it, all mistyped. + (restore_saved_dir_info): Free information as we consume it. + Simplify code by using set_mode and set_times. Rename routine to + apply_delayed_set_stat, and do some other cleanup around it. + + * *.[hc]: Replace flag_confirm by flag_interactive, + flag_do_chown by flag_same_owner, + flag_exstdout by flag_to_stdout, + flag_follow_links by flag_dereference, + flag_gnudump by flag_incremental, + flag_ignorez by flag_ignore_zeros, + flag_keep by flag_keep_old_files, + flag_local_filesys by flag_one_file_system, + flag_modified by flag_touch, + flag_multivol by flag_multi_volume, + flag_namefile by flag_files_from, + flag_new_files by flag_after_date, + flag_oldarch by flag_old_archive, + flag_reblock by flag_read_full_records, + flag_run_script_at_end by flag_info_script, + flag_sayblock by flag_block_number, + flag_sorted_names by flag_same_order, + flag_sparse_files by flag_sparse, + flag_startfile by flag_starting_file, + flag_use_protection by flag_same_permissions, + OPTION_COMPRESS_PROG by OPTION_USE_COMPRESS_PROGRAM, + flag_volhdr by volume_label, + flag_compressprog by compress_program, + flag_rsh_command by rsh_command, + and flag_volno_file by volno_file. + + * tar.c: Rename --modification-time by --touch, and provide a + warning for the old option. + +1995-06-24 François Pinard + + * list.c (decode_header): At extraction time, use the stored + uid if uname is unknown in this system, and use the stored gid if + gname is unknown in this system, instead. This solves a long + lasting bug by which restored files were all owned by root, using + an incomplete /etc/passwd or /etc/group file. + * names.c: Rename finduname to uid_to_uname and findgname to + gid_to_gname, exchanging the order of arguments. Use uid_t and + gid_t instead of int's. Use empty strings in cached_[ug]name for + marking there is no valid cached translation, instead of using + magic values for cached_[ug]id. Rename finduid to uname_to_uid + and findgid to gname_to_gid, adding a second argument to store the + result if found, and returning a success/failure indication, not + anymore assuming the current [ug]id by default. + * tar.h, create.c, list.c: Adjust prototypes and callers. + + Reported by Anders Andersson, Bernard Derval, Brian Perkins, + Charles Fu, Daniel Trinkle, Ian Jackson, Johannes Helander, + Michael Lin, Richard Sims, Robert E. Brown, Tim P. Starrin and + Torkel Hasle. + + * tar.h, create.c, list.c, names.c, tar.c: + Implement --numeric-owner, to replace the NONAMES define. Then, + ensure some reasonable values to magic and linkflags if POSIX. + Reported by Benedikt Stockebrand, Ian Jackson and Stephen Gildea. + + * buffer.c: Delete save_block function, as well as + saved_block_pointer and saved_block variables. Blocks were + carefully saved indeed, but never consulted after the fact. + * tar.h: Delete save_block prototype. + * *.c: Delete all usages of save_block. + + * rmt.c: Add static to variable declarations. + * list.c (read_header): Rename recsum to recorded_sum. + +1995-06-23 François Pinard + + * *.[hc]: Rename --read-full-blocks to --read-full-records, + --block-size to --blocking-factor, and --record-number to + --block-number. + * tar.c (decode_options): Diagnose usage of old names. + + * *.[hc]: Rename saverec to save_block, findrec to + find_next_block, and userec to set_next_block_after. + Replace endofrecs by available_space_after which does the space + computation instead of returning the end pointer, adjust and + simplify all callers, by using variable data_block systematically. + Also, rename union block field charptr to buffer. + +1995-06-22 François Pinard + + * *.[hc]: Exchange "record" and "block" almost everywhere and + whenever appropriate, to follow the terminology used in + P1003.1-1990, and so removing a lot of confusion in sources. + + * tar.h: Prefer naming constants and fields per P1003-1.1990 as + far as possible. Rename those remaining LF_xxx to GNUTYPE_xxx. + * *.c: Adjusted accordingly. + + * tar.h: Clean up the header structure. Make very clear what is + specified by POSIX, and what is GNU format, and what is extended + header for sparse files. Use xxx_FIELD_SIZE instead of NAMSIZ, + TUNMLEN and TGNMLEN. Dismangle some other names, on the way... + * *.c: Adjusted accordingly. + + * tar.h: Do not declare baserec, declare current_block_ordinal. + * buffer.c (current_block_ordinal): New function. + Rename baserec to record_start_block, and make it static. + * list.c: Use current_block_ordinal, avoid baserec computations. + * buffer.c, list.c: Get rid of saved_recno and annofile. + + * buffer.c, diffarch.c: Move no_op and wantbytes from + buffer.c to diffarch.c. Correct prototypes so first arg is long. + * tar.h: Do not declare no_op nor wantbytes, anymore. + + * tar.h, buffer.c: Move ar_block, ar_record and ar_last + from tar.h to buffer.c, renaming them to record_start, + current_block, record_end respectively. + * update.c: Add temporary extern declaration for record_start, + current_block and record_end. + + * tar.h, buffer.c: Move ar_reading from tar.h to buffer.c, + renaming it to reading_archive. + * diffarch.c: Add temporary extern declaration for + reading_archive. + + * buffer.c, create.c, diffarch.c, extract.c, gnu.c, + list.c, names.c, rmt.c, rmt.h, rtapelib.c, + tar.c, update.c: Replace many #ifdef's by #if's, and + #ifndef's by #if !'s. + + * buffer.c (redirect): New name for dupto. Callers changed. + + * create.c (dump_file), extract.c (extract_archive, + extract_sparse_file), tar.h: Remove crumb about ending_blanks + and end_nulls. + + * Makefile.in (all): Do not prepare genfile by default, as it + is only needed for checking. + + * tar.c (decode_options): Diagnose lacking arguments to old + options. + Reported by Aage Robeck, Alan Cox, Benny Holmgren, Bruno Haible, + Daniel Quinlan, Michael Schmidt, Richard J. Kettlewell and Robert + Leslie. + +1995-06-21 François Pinard + + * rtapelib.c (__rmt_open): Avoid dereferencing remote_user + when NULL. + + Reported by Alois Steindl, Amos Yahil, Anders Liljeborg, Andre + Novaes Cunha, Andreas Haumer, Andreas Reuter, Andy Gay, Bdale + Garbee, Bradley A. Smith, Brett Gaines, Bruce Jerrick, Calvin + Cliff, Cameron Elliott, Charles Lopes, Charles M. Hannum, Chris + Metcalf, Christophe Colle, Christopher T. Johnson, Dale Wiles, + David Shaw, Dimitri Bougoulias, Daniel Hagerty, Dave Gregorich, + David Mansfield, David Nugent, David Shaw, David Steiner, + Douglas Scott, Dunstan Vavasour, Edgar Taube, Eduardo Kortright, + Elmer Fittery, Eric Benson, Eric M. Boehm, Gerd Knorr, Graham + Whitted, Harald Milz, Heiko Schlichting, James V. Di Toro III, + Jan Carlson, Janne Snabb, Jeff Sorensen, Jens Henrik Jensen, + Jim Clausing, John J. Szetela, John R. Vanderpool, Jurgen Botz, + Karl Berry, Karlos Z. Smith, Karsten Thygesen, Koji Kishi, + Luke Mewburn, Manuel Munier, Marc Ewing, Matthew J. D'Errico, + Martin Goik, Maxime Taksar, maximum entropy, Michael Hayes, + Michael Schwingen, Michael Smolsky, Michael Kaufman, Mike Walker, + Minh Tran-Le, Mitsuaki Masuhara, Nelson H. F. Beebe, Noel Cragg, + Olaf Wucknitz, Oliver Trepte, Olivier Roussel, Patrick Fulconis, + Paul Kanz, Paul Nordstrom, Pekka Janhunen, Peter Carah, Peter + Kutschera, Phil Hands, Randy Bias, Reuben J. Ravago, Ricardo + Marek, Robert Anthony Nader, Rod Buchanan, Roderich Schupp, + Russell Cattelan, Scott J. Kramer, Scott L. Burson, Simon + Wright, Sisira Jayasinghe, Steffen Stempel, Thomas M. Browder + Jr., Thomas Waas, Tim Bradshaw, Tim Lashua, Timothy J. Lee, Tom + Popovitch, Toshiaki Nishi, Victor J. Griswold, Wayne Christopher, + William J. Eaton, Wlodzimierz Jan Martin, Wolfgang Rupprecht + and Wolfram Wagner. + + * tar.h: Remove external prototypes related to rtapelib.c, as + those are already declared in rmt.h. + +1995-06-18 François Pinard + + * buffer.c (xclose): New, from port.c (ck_close). + Replace ck_close by xclose in all modules. + * port.c: Remove ck_close. + + * port.c: Remove ck_malloc, because xmalloc can be used + instead, now that it protects against malloc(0) returning NULL. + * gnu.c (gnu_restore), list.c (read_header): Replace + ck_malloc with xmalloc. In gnu_restore, remove skipping code in + case of failed allocation, because tar already aborted in xmalloc. + * tar.h: Delete ck_malloc declaration. + + * port.c: Remove mknod, link, chown and geteuid, which + normally exist on Unix. To be reinserted later, as needed. + Reported by Jyh-Shyang Wang, Nelson H. F. Beebe, Philippe Defert + and Serge Granik. + + * tar.c: Declare TTY_NAME, moved over from port.c. + + * extract.c (extract_archive), tar.c (decode_options): + Clean out old NO_OPEN3 code. + * Makefile.in: Adjusted. + + * buffer.c (child_open): In-line previous ck_pipe code. + * tar.h: Delete ck_pipe declaration. + * port.c: Delete ck_pipe function. + + * misc.c: New, reorganizing remaining code from port.c. + * port.c: Deleted. + * Makefile.in: Adjusted. + + * misc.c (un_quote_string): If `\' ends a string to unquote, + just pass it undisturbed. + From Robert Lipe. + + * system.h: Replace many #ifdef by #if, #ifndef by #if !. + +1995-06-17 François Pinard + + * Release 1.11.8. + + * Makefile.in (mostlyclean): Remove also _*.c and _*.o. + + * create.c (dump_file), gnu.c (get_dir_contents): Cast + (int) explicitely for test. + + * Makefile.in ($(OBJECTS)): Depend on ../intl/libgettext.h + instead of ../intl/libintl.h, which does not always exist. + + * genfile.c: Define EXIT_SUCCESS and EXIT_FAILURE if not. + * tar.c (main): Use TAREXIT_SUCCESS instead of EXIT_SUCCESS. + + * tar.h: Use off_t instead of long for the second argument in + __rmt_lseek declaration. + * system.h: Remove typedef of off_t, because AC_TYPE_OFF_T + takes care of it now. + Reported by Coranth Gryphon, Jim Blandy and Thomas Krebs. + +1995-06-15 François Pinard + + * checktar.sh: Send a message saying that it is still useless. + +1995-06-11 François Pinard + + * tar.h, tar.c (decode_options), extract.c + (extract_archive), diffarch.c (diff_archive), create.c + (dump_file, start_header), tar.c (decode_options): Replace + flag_absolute_paths by flag_absolute_names. + * tar.c (decode_options): Implement OBSOLETE_ABSOLUTE_NAMES for + reporting --absolute-paths as obsolete. + + * system.h: Conditionnaly include and define + setlocale to void independently of ENABLE_NLS. + Reported by Ulrich Drepper. + +1995-06-10 François Pinard + + * tar.c (long_options): Use no_argument and require_argument, + instead of constants. Have long option names translated to short + options whenever possible, rather than setting flags directly: + easing option management is worth a few extra nanoseconds. + + * tar.c (long_options): Add --gunzip as meaning -z. + Reported by Bruno Haible. + +1995-06-07 François Pinard + + * Makefile.in: Use subdir and distdir. + + * system.h [NLS]: Simplify by merely including . + Also, define setlocale to empty only if the setlocale function is + not known, instead of when is missing. + * Makefile.in (INCLUDES): Use ../intl in compilations, + taking care of the fact libintl.h might have been symlinked there. + +1995-06-05 François Pinard + + * tar.c, tar.h: Rename TAR_EXTERN to GLOBAL. + + * tar.h: Delete COMMAND_VERSION. + * tar.c: Replace OPTION_HELP and OPTION_VERSION commands by + show_help and show_version variables, so `--version --create' will + not diagnose `Too many commands'. Adjust things so this works. + Reported by Marty Leisner. + +1995-06-04 François Pinard + + * Makefile.in (check): New goal. + * checktar.sh: New script. + * genfile.c: New file. + * Makefile.in (all): Prepare genfile. + * Makefile.in: Distribute checktar.sh and genfile.c. + +1995-06-03 François Pinard + + * tar.h: Adjust so extracted doc/header.texi is neater. + +1995-05-30 François Pinard + + * tar.c (name_match): Use %s for printing directory, not %d. + Reported by Marty Leisner. + + * tar.c (name_gather, addname): chdir_name receives string + pointers which might later be overwritten, but nevertheless saved + into structures, so, use xstrdup for the time being. + Reported by Michael Holmes. + + * tar.c (name_next, name_from_list): Abort when chdir fails. + Reported by Ian Jackson and Marty Leisner. + +1995-05-28 François Pinard + + * rmt.h: Declare second argument of __rmt_lseek to be off_t + instead of long, so it is the same as in rmt.c. + Reported by Chris Arthur. + + * buffer.c (close_archive): Compensate for the addition of 2 + to ar_block at open_archive time, for when -M used, just before + calling free. + Reported by Bruno Haible, Clinton Carr, Hernan Prieto Schmidt, + Kevin Dalley, Loren J. Rittle and Marty Leisner. + + * rmt.c: Replace SSIZE by STRING_SIZE, avoiding a conflict + with some header files. + Reported by Kaveh R. Ghazi and William Bader. + + * tar.c: Use DEVICE_PREFIX instead of DEVICE_PREXIX, and + WITH_REGEX instead of WITH_REGEC. + Reported by Bruno Haible. + +1995-05-16 François Pinard + + * Prerelease 1.11.7. + + * Makefile.in (tar): Have $(OBJECTS) depend on system.h. + + * system.h: Many adjustements for GNU gettext. + +1995-05-09 François Pinard + + * Makefile.in: Clean glocale out. + +1995-05-08 François Pinard + + * Makefile.in: Use libintl.a while linking. + * system.h: Include unconditionally, instead only + if WITH_CATALOG. Let define _() appropriately. + * tar.c (main): Call textdomain. + +1995-05-02 François Pinard + + * system.h, gnu.c, list.c, port.c: Avoid + superfluous parentheses in macro definitions. + * port.c: Capitalize macro arguments. + * buffer.c, create.c, diffarch.c, tar.c: Use comma + operator when assignment in test. + +1995-04-27 François Pinard + + * port.c (link): Use WARN to report the message. + Reported by Sherwood Botsford. + +1995-03-19 François Pinard + + * Makefile.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS. + * system.h: Use WITH_CATALOGS to define _() differently. + +1995-03-14 François Pinard + + * rtapelib.c (__rmt_open): Close the unused side of each + pipe, instead of the useful one, prior to processing. + Reported by Charles Lopes and Minh Tran-Le. + +1995-02-22 François Pinard + + * Makefile.in: Replace `date' by `echo timestamp'. + +1995-02-19 François Pinard + + * Makefile.in: Support ID files. Do not distribute TAGS. + +1995-02-13 François Pinard + + * Makefile.in: Use top_srcdir. + +1995-02-11 François Pinard + + * gnu.c (is_dot_or_dotdot): Through NFS, readdir might deliver + empty filenames under old Solaris 2.4, causing endless loops in + tar. As a workaround, avoid `' as done already for `.' and `..'. + Reported by Jan Carlson. + +1995-02-05 François Pinard + + * Makefile.in (maintainer-clean): New name for realclean. + +1995-01-04 François Pinard + + * extract.c (make_dirs) [MSDOS]: Correct for Turbo C, which may + return EACCES instead of EEXIST on mkdir. + Reported by Jeffrey Goldberg. + + * tar.c (usage) [MSDOS]: Do not tell about -N and related. + (decode_options) [MSDOS]: Be blind to -N and related. + Reported by Jeffrey Goldberg. + + * rmt.h (_remdev): A filename is not remote if the colon is + preceeded by a slash, to take care of `/:/' which is a shorthand + for `/...//fs' on OSF's Distributing Computing + Environment (DCE) and Distributed File System (DFS). + Reported by Travis L. Priest. + +1995-01-03 François Pinard + + * tar.c (decode_options): Renamed from options. Convert + oldish-style non-dashed options to modern writing before + performing option decoding. Diagnose when modern options are met + before old style options are fully converted. This allows + mixing of option styles on a single call. Avoid getoldopt and + use getopt_long instead. + * getoldopt.c: Deleted. + * tar.h: Prototype deleted. + * Makefile.in: Adjusted. + Reported by Bruno Haible, Les Mikesell, Patrick Timmons and Saul + Lubkin. + +1995-01-02 François Pinard + + * system.h: New file, split out of tar.h. + * buffer.c, create.c, diffarch.c, extract.c, + getoldopt.c, gnu.c, list.c, mangle.c, names.c, + port.c, tar.c, update.c: Include "system.h", and move + the inclusion of "tar.h" down after system dependent definitions. + * Makefile.in: Distribute system.h. + + * rmt.c: Include "system.h", and simplify accordingly. + * rtapelib.c: Include "system.h", and simplify accordingly. + * rmt.h: Simplify according to the inclusion of "system.h". + + * system.h: Include conditionnaly , + , , and . + * buffer.c, diffarch.c, rmt.c, rtapelib.c, + update.c: Simplify accordingly. + + * system.h: If it exists, include prior to + , to account for problems when GNU libc 1.0x is + installed over SunOS 4.1.3: GNU libc does not provide sys/mtio.h, + so it is taken from Sun header files which use things like _IOW, + which GNU libc despises, sys/ioccom.h then provides definitions. + Reported by Joseph E. Sacco. + +1994-12-27 François Pinard + + * rmt.h: Ensure strrchr is defined to rindex in some cases. + Reported by Karl Vogel. + +1994-12-18 François Pinard + + * tar.h: Include and declare ISASCII. + * gnu.c: Adjust, declare and use ISDIGIT and ISSPACE. + * list.c: Adjust, declare and use ISODIGIT and ISSPACE. + * port.c: Adjust, declare and use ISPRINT. + Reported by Bruno Haible, Konno Hiroharu and Max Hailperin. + +1994-12-11 François Pinard + + * buffer.c, tar.c [WITH_REGEX]: Check it. + +1994-12-03 François Pinard + + * Prerelease 1.11.6. + + * rmt.c: Adjust for localization, by including and + , by defining _(), by defining and calling setlocale, + and by defining and initializing program_name. + * Makefile.in: Use locale.o and libtar.a with rmt. + + * Makefile.in: Ensure INSTALL_DATA is defined. + + * Makefile.in, tar.h, tar.c: + Localize, adapting from how it is done in sharutils. + + * Makefile.in, tar.c: Rename PRODUCT to PACKAGE. + +1994-11-29 François Pinard + + * buffer.c (backspace_output): Change cur from long to off_t. + * diffarch.c (diff_archive): Idem for offset. + * extract.c (extract_archive): Idem for offset. + * rmt.c: Idem for lseek (). + (main): For case 'L', use atol instead of atoi, and cast the + result to (off_t) rather than (long). + * rtapelib.c (__rmt_lseek): Idem of offset argument. + * tar.h: Change offset of sp_array from int to off_t. + * update.c (move_arch): Change cur from long to off_t. + Reported by David J. MacKenzie. + +1994-11-26 François Pinard + + * rmt.h, tar.h, buffer.c, create.c, + diffarch.c, extract.c, gnu.c, list.c, + rtapelib.c, update.c: Rename _ to __P. + * tar.h, rmt.h: Declare _ as a macro returning its + argument, or else, include and declare _ as gettext. + * tar.c: Possibly include and call setlocale. + * rmt.c, buffer.c, create.c, diffarch.c, + extract.c, getoldopt.c, gnu.c, list.c, + mangle.c, port.c, rtapelib.c, tar.c, + update.c: Use _ macro over all localizable strings. + + * rtapelib.c: Declare prototype for xstrdup. Do not declare + strstr, which is not needed. + +1994-11-01 François Pinard + + * Makefile.in: Clean up, following those of GNU m4. I will + not detail all the changes here. + * tar.c: Use PRODUCT and VERSION instead of version_string. + +1994-10-30 François Pinard + + * tar.h [__STDC__]: Use #if instead of #ifdef. + +1994-10-27 François Pinard + + * rmt.h, tar.h, buffer.c, create.c, diffarch.c, + extract.c, gnu.c, list.c, mangle.c, tar.c, + update.c: Rename all f_* variables to flag_*. + + * tar.h, buffer.c, tar.c, update.c: Rename cmd_mode into command_mode. + * tar.c (SET_COMMAND_MODE): New macro, use it. + + * port.c (quote_copy_string): Prevent sign extension of + character while copying it to an int. + * (un_quote_string): Increment to_there pointer in all cases. + Reported by Konno Hiroharu, Mats Lofkvist, Max Hailperin and + Ryutaro Susukita. + +1994-10-09 François Pinard + + * rmt.c, rtapelib.c, tar.h: Get rid of CONFIG_BROKETS. + +1994-10-04 François Pinard + + * diffarch.c (fill_in_sparse_array): Add a cast for Pyramid's + dumb compiler. Later remove the cast and compare to 0 instead. + * extract.c (extract_archive): Idem. + Reported by Karl Vogel and Kaveh R. Ghazi. + +1994-09-27 François Pinard + + * diffarch.c: Normalize capitalization in diagnostics. + +1994-09-26 François Pinard + + * tar.c (name_next, name_match): Abort tar if directory cannot + be changed, instead of going on. This is not an innocuous error. + Reported by Marty Leisner. + +1994-09-15 François Pinard + + * rtapelib.c: Include "rmt.h" only once has been + included, because off_t might not be defined otherwise. + Reported by James W. McKelvey, John L. Chmielewski, Karl + Vogel, Kaveh R. Ghazi an and Jim Meyering and Tilman Schmidt. + +1994-09-14 François Pinard + + * Makefile.in: Cleanup... + (DISTFILES): Distribute TAGS. + (ansi2knr): Use $(LIBS). + (TAGS): Make TAGS in $(srcdir) only. + (distclean): Do not remove TAGS. + (realclean): Remove TAGS. + (Makefile): Have ./config.status create this Makefile only. + +1994-09-13 François Pinard + + * buffer.c: Remove the presetting of stdlis, because stdout is + not a constant in GNU libc. + Reported by Joseph E. Sacco and Thomas Bushnell n/BSG. + + * buffer.c (new_volume): Pass an otherwise unused argument to + wait, do not use NULL. + Reported by Thomas Bushnell n/BSG. + +1994-09-05 François Pinard + + * Makefile.in (TAGS): Remove -t on etags call. It has been + the default behavior for a few releases of Emacs and it seems that + option -t is now disappearing (from Emacs 19.25, at least). + Reported by Goeran Uddeborg. + +1994-09-02 François Pinard + + * gnu.c (get_dir_contents): Do not set dp->allnew if dp is not + set itself. + Reported by Piercarlo Grandi. + + * extract.c (extract_archive): Issue diagnostic or verbose + messages to msg_file, instead of stdout. + Reported by Piercarlo Grandi. + +1994-08-23 François Pinard + + * tar.h: Do not declare alloca if already defined, so HP's + +Olibcalls compiler option works. + Reported by John David Anglin. + + * rtapelib.c (__rmt_open): Use REMOTE_SHELL only if defined. + Otherwise, if the command argument has been specified and + REMOTE_SHELL is not defined, immediately return an error. + Reported by Bruno Haible, Kaveh R. Ghazi, Marty Leisner, + Torkel Hasle and William Bader. + + Because --rsh-command may always be given, even if no remote shell + was found at configure time, remote capabilities are always + compiled. This also solve other problems related to RTAPELIB. + * Makefile.in: Always compile $Urtapelib.o. + * buffer.c (child_open): Always test _remdev, do not depend + anymore on HAVE_RTAPELIB. + * rmt.h [!HAVE_RTAPELIB]: Remove some code. + Reported by Andreas Schwab and Vic Abell. + + * rtapelib.c: Remove unused COMPAT (mis)feature. Remove most + length limitations for remote host name, remote user name and + remote device name. Duplicate path, and free it in all cases. + * (_rmt_rexec): The `user' parameter may never by the empty + string. Remove code for that case. + +1994-08-22 François Pinard + + Little cleanup in installation: + * Makefile.in: Remove rule for ../lib/libtar.a. + +1994-08-21 François Pinard + + * Prerelease 1.11.5. + + * Makefile.in: Correct for when a different build directory. + + * tar.h: Replace W* definitions. Adapted from make 3.71. + * buffer.c (close_archive): Replace WIFCOREDUMPED by + WCOREDUMP. Previous WIFSIGNALED definition was excluding SIGSTOP, + new definition do not exclude it anymore. We'll see. + Reported by Demizu Noritoshi, Greg Black, Kaveh R. Ghazi, + Robert E. Brown and Russ Evans. + +1994-08-20 François Pinard + + This might (?) solve the dirent problems on NeXT's and Apollo's: + * tar.h: Change includes and defines from older AC_DIR_HEADER + style to newer and clearer AC_HEADER_DIRENT style. + * create.c, gnu.c: Replace NLENGTH by NAMLEN. + Reported by Drew Trieger, Hugh Secker-Walker, James W. McKelvey, + Robert E. Brown and Thomas Krebs. + +1994-08-17 François Pinard + + Remove some shadowings. + * update.c (update_archive): Rename head_standard to unused. + * buffer.c (open_archive): Rename head to label. + (fl_read): Rename head to cursor. + + * gnu.c (dirent_cmp): Use (char *const *), not (const char **) + for not loosing the const specifier while casting. + + * mangle.c (extract_mangle): Remove unused argument. + * tar.h: Adjust prototype. + * extract.c (extract_archive): Caller changed. + + * rtapelib.c (__rmt_open): Remove useless mode parameter. + * rmt.h, tar.h: Adjust prototype. + * rmt.h: Adjust macros calling __rmt_open. + * create.c (deal_with_sparse): Remove unused argument. + * create.c (dump_file): Caller changed. + Reported by Greg Black. + + * Makefile.in: Avoid $U in defining RTAPELIB. Remove both + rtapelib.o and _urtapelib.o explicit rules, not needed anymore. + * rmt.h, buffer.c [HAVE_RTAPELIB]: Instead of !NO_REMOTE. + Reported by Andreas Schwab. + + * Makefile.in: Correct a typo in $Ubuffer.o dependencies. + Reported by Andreas Schwab. + + * rtapelib.c (__rmt_ioctl): Compile the MTIOCGET case only if + this symbol is defined. This also solves a missing mt_type field + on NS32016 running SysVr2.2. + Reported by Greg Black. + + * rtapelib.c (__rmt_ioctl) : Conditionnalize only the MTIOCTOP + case, not the whole routine, with the MTIOCTOP symbol. In case of + unrecognized operation, return EOPNOTSUPP instead of EINVAL. + * rmt.h: Always provide a prototype for __rmt_ioctl. Delete + the RMTIOCTL machinery. + +1994-08-16 François Pinard + + * rmt.c, buffer.c: Use a more uniform way of including + or its alternates. + Reported by Daniel R. Guilderson and Kaveh R. Ghazi. + + * Makefile.in: Split rule for $Urtapelib.o into one rule for + rtapelib.o and one rule for _rtapelib.o, taking care of the fact + that rtapelib.c is in $(srcdir) while _rtapelib.c is in current + directory. + Reported by Andreas Schwab, Kaveh R. Ghazi, Minh Tran-Le and + Per Foreby. + + * rmt.c (string_error): Correct DEBUG2 into DEBUG1, and strint + into string. + Reported by Anders Andersson, Bruno Haible, Thomas Krebs and + Thomas König. + + * Makefile.in: Add $U's to rtapelib and rmt specific rules. + Reported by Thomas König. + +1994-08-15 François Pinard + + * Prerelease 1.11.4. + + * rmt.c (numeric_error): Renamed from error. + (string_error): New, to replace ERROR ((...)), unavailable in rmt.c. + + * rmt.c (checkbuf): Do not accept, nor return record. Use the + global instead. This will get rid of useless shadowings. + + * rmt.h: Give prototypes for __rmt_* routines. + * rtapelib.c: Include "rmt.h". + * update.c (move_arch): Cast last rmtioctl argument to char *. + * buffer.c (backspace_output): Idem. + * diffarch.c (verify_volume): Idem. + + * Makefile.in (rmt): Declare dependencies over rmt.h. + +1994-08-14 François Pinard + + * rtapelib.c: Use MTIO_CHECK_FIELD instead of mt_type. + Reported by Ben A. Mesander. + +1994-08-13 François Pinard + + * tar.h: Include if it exists, whether POSIX or not. + Check if WIFSTOPPED is defined, to decide if defining others WIF*. + Reported by Bruno Haible. + +1994-08-11 François Pinard + + * extract.c (extract_archive) [O_CTG]: Declare longname variable. + Initialize it as NULL. This dirty kludge will allow the module to + compile on Masscomp's, for the time being. + Reported by Ben A. Mesander. + + * tar.h, rtapelib.c: Declare strstr if we replaced it. + Reported by Ben A. Mesander, Christian T. Dum and Kaveh R. Ghazi. + +1994-08-10 François Pinard + + * create.c (dump_file): Do not test only for hpux, but also + for __hpux. I added __hpux__ too, as done in tar.h. + Reported by Richard Lloyd. + + * tar.h: Do not include anymore for HP-UX from + HP-UX 8 and after, for which definitions are in , + and reorganize the tests in this area. + Reported by Christian T. Dum, Dimitris Fousekis, Kimmy Posey, + Michael Maass, Richard Lloyd and Thomas König. + +1994-08-09 François Pinard + + These changes for const-cleaning gnu.c and tar.c: + * tar.c (read_name_from_file): Work directly on global + variables instead of accepting parameters. Return success or + failure as an int instead of the relocated name_buffer. + (name_next): Caller changed, internal clean-up of the function. + Remove trailing slashes on the command call too, not only when + reading from a file through -T option. + * gnu.c: Add const to name and dir_text in struct dirname. + Reported by Ben A. Mesander, Bruno Haible, Christian T. Dum, + Dean Gaudet, James W. McKelvey, Richard Lloyd and Robert E. Brown. + +1994-08-08 François Pinard + + * tar.c (name_next, name_gather, addname): Use strcmp for + checking for "-C", instead of decomposed tests, just for clarity. + + * Makefile.in (RSH): Define from configuration. + (rtapelib.o): Define REMOTE_SHELL from $(RSH) while compiling. + * rtapelib.c (__rmt_open): If command not given, use + REMOTE_SHELL, instead of cascading tries of filenames. + Reported by Bruno Haible. + + * tar.c: Include if FNM_LEADING_DIR is not + defined, instead of checking for FNM_PATHNAME, because some + define the later without defining the former. + Reported by Thomas König. + + * create.c (dump_file): Cast alloca results, for those + compilers not processing void * properly. + Reported by Kaveh R. Ghazi. + + * Makefile.in: Get prefix and exec_prefix from configure. + Reported by Andreas Schwab, Christian T. Dum and Dean Gaudet. + + * src/port.c: Delete mkdir (and rmdir), rename, strstr and + ftruncate replacements. + Reported by Kaveh R. Ghazi (for memset and strstr). + Reported by Bruno Haible (for mkdir and rename). + +1994-08-05 François Pinard + + * tar.h: Replace msg_file by stdlis. + * buffer.c, gnu.c, list.c, diffarch.c: Idem. + + * tar.c (main): Print version on stdout, not stderr. + + * tar.h: Unconditionnaly insert the pad. Why play the game of + forcing the compiler to do it for us? (Hum! I'm not so sure.) + Reported by Bruno Haible. + + * list.c (read_header): Initialize signed_sum to 0. Use this + opportunity for slightly reorganizing the code around. + Reported by Anders Andersson, Andrey A. Chernov, Bruno Haible + and Chris Ransom. + + * tar.c: Declare name_buffer_length as size_t instead of int. + Reported by Andreas Schwab, J.T. Conklin, Kaveh R. Ghazi and + Robert E. Brown. + + * rmt.h: Have the NO_REMOTE case be a particular case of the + other, for rmtopen and rmtcreat were not transmitting the proper + number of parameters to open and creat (since 26 July 1994). + Reported by Andreas Schwab. + + * extract.c (extract_archive): Delay changing owner to after + doing utime, for keeping long enough the permission of utime'ing. + (extract_archive, restore_saved_dir_info): Idem for directories. + Reported by Jonathan I. Kamens. + + * tar.h: Change malloc_dbg to dmalloc, mutatis mutandis. + + * tar.h: Undefine many macros if stat macros found to be + broken. Define mkfifo only if configure did not find it. + Include if not _POSIX_SOURCE, then if + we have it, than "pathmax.h". Move _POSIX_VERSION dependent + code further down. Do not declare getcwd if we do not have it. + * tar.c: Do not include , now in "tar.h". + Reported by Bernard Chen, Jean-Michel Soenen, John L. + Chmielewski and Kaveh R. Ghazi. + + * tar.h: Define DEV_BSIZE, ST_BLKSIZE and ST_NBLOCKS, + borrowing this code from both fileutils-3.9's "lib/system.h" and + textutils-1.9's "system.h". + * create.c (dump_file): Straighten the test for sparseness, + which was requiring one block too much, most probably for trying + to get around DEV_BSIZE/st_blksize confusion. Use ST_NBLOCKS, + instead of computing a variable block_size and doing specific + tests for HP-UX or Linux. Also rewrite the test so it works + when ST_NBLOCKS is unsigned. + Reported by Bruno Haible, Dean Gaudet, Dick Streefland, Harald + König, Jim Meyering, Kai Petzke, Kaveh R. Ghazi and Torkel Hasle. + +1994-08-04 François Pinard + + * tar.c: Do not include if we do not have it. + Reported by Kaveh R. Ghazi. + + * Makefile.in (RTAPELIB): Prefix by $U for unprotoization. + Reported by Kaveh R. Ghazi and Christian T. Dum. + + * port.c: Remove many static specifiers. + Reported by Demizu Noritoshi, Kaveh R. Ghazi and William Bader. + + * rtapelib.c (__rmt_open): Replace system by remote, twice. + Reported by Ben A. Mesander, Christian T. Dum, Demizu Noritoshi + and Kaveh R. Ghazi. + + * tar.c (addname): Replace a forgotten EX_SYSTEM by + TAREXIT_FAILURE. + Reported by Demizu Noritoshi, James W. McKelvey, Kaveh R. + Ghazi and Robert E. Brown. + +1994-08-02 François Pinard + + * Prerelease 1.11.3. + + * tar.c (assign_string): New routines. + * create.c (dump_file, start_header), extract.c + (extract_archive), list.c (list_archive, read_header), + buffer.c (open_archive), diffarch.c (diff_archive): Use + assign_string for setting these variables to a string value or + NULL. + * buffer.c (open_archive): Sets current_file_name, + current_link_name and save_name to NULL. + (close_archive): Free each of them if not NULL. + (fl_write): Take a copy of save_name into cursor, and advance the + cursor instead, because save_name should stay free-able. + Reported by Dave Gentzel, Harald Anlauf, Mark Clements, Robert + Weissenfels, Ronald van Loon, Tsutomu Yamada and Vic Abell. + + * extract.c (extract_archive): Use xstrdup, for clarity. + * gnu.c (add_dir): Idem. + + * list.c (print_header): Correct a little bug by which + non-symbolic links were not printed properly quoted. + + * diffarch.c (diff_archive): Allocate tmpbuf to the proper + size. NAMSIZ + 2 is not necessarily enough. + +1994-08-01 François Pinard + + * tar.h: Refresh str*/mem* configured declarations. Among + other things, this will solve previously missing #undef's. + * rmt.h: Revise strchr configured declaration. + * *.c: Replace bzero by memset, bcopy by memcpy, bcmp by + memcmp, index by strchr and rindex by strrchr. + * port.c: Delete functions bzero and bcmp, said to not exist + on Minix. AC_MINIX in configure.in should guarantee POSIX things. + Reported by Drew Trieger, Hugh Secker-Walker and Vic Abell. + + * tar.h, tar.c, buffer.c, update.c: Change CMD_* to COMMAND_*. + + * buffer.c (open_archive): Use strcmp to compare archive name + to `-', instead of doing it explicitely. Just for clarity. + + * tar.h, tar.c, buffer.c: Replace ar_files by + archive_name_array, n_ar_files by archive_names and ar_files_len + by allocated_archive_names. Replace the index cur_ar_file by + archive_name_cursor, which is a cursor in archive_name_array. + + * tar.c (main): Move the initialization of + archive_name_array at beginning, taken from options routine. + Free it at end of main. + (options): Use xrealloc instead of ck_realloc for archive_name, + for the already saved names to be preserved. + Reported by Per Bojsen. + + * tar.h, tar.c: Replace name_file by namefile_name. + * tar.c: Replace n_ind by name_array, n_indused by names, + n_indalloc by allocated_names, and n_indscan by name_index. + Replace namef by name_file, n_argv by names_argv and n_argc by + names_argc. + (main): Make an initial allocation for name_array at beginning, + moved out from name_add, free it at end of main. + + * buffer.c (close_archive): Free ar_block at end. + +1994-07-30 François Pinard + + * tar.h [WITH_MALLOC_DBG]: Include "malloc_dbg.h". + + * create.c (create_archive): Do not attempt creating a + directory summary file if -G, since -G sets gnu_dumpfile to 0. + Reported by Alexander Dupuy. + + * create.c (dump_file): Avoid a NULL dereference with -G when + trying to dump an empty directory. + * gnu.c (add_dir_name): Same thing. + Reported by Rainer Orth. + + Correction for the improper `data differs' diagnostic given when + the continuation of a multi-volume was compared. + * diffarch.c (diff_archive): If multi-volume, update save_name + and save_totsize before calling wantbytes. + * buffer.c (wantbytes): If multi-volume, update save_sizeleft. + Reported by Andreas Schwab, Denis Fortin, François Pinard, + Hiroyuki Bessho, Olaf Schlueter, Simon Wright and Saul Lubkin. + +1994-07-30 François Pinard + + * tar.c (options): Implement DEVICE_PREFIX and DENSITY_LETTER. + Reported by Danny R. Johnston. + + * gnu.c (gnu_restore): Use CURRENT_FILE_NAME abbreviation. + * extract.c (extract_archive): Idem. + Reported by Timothy Fossum. + +1994-07-29 François Pinard + + * create.c (dump_file): Abort if no memory for a possible + link, remove related bogus code, and the variable nolinks. + Reported by Andreas Schwab. + + * create.c (dump_file): Detect file sparseness correctly for + Linux ext2 filesystem. + Reported by Kai Petzke. + + * port.c (link) [!MSDOS]: Do not call setmode. + Reported by Richard Deal. + + Reorganization for `tar -d' to provide a different exit status. + * tar.h: Replace errors by exit_status. Declare TAREXIT_*. + * buffer.c (child_open): Exit with exit_status. + * tar.c (main): Initialize exit_status to TAREXIT_SUCCESS, and + exit with exit_status. + * buffer.c, diffarch.c, gnu.c, list.c, port.c, + rmt.c, tar.c, update.c: Replace EXIT_FAILURE by + TAREXIT_FAILURE, and EXIT_SUCCESS by TAREXIT_SUCCESS. + * tar.h (ERROR), create.c (dump_file): Set exit_status to + TAREXIT_FAILURE instead of increasing errors. + * diffarch.c (sigh, diff_sparse_files): On differences, set + exit_status to TAREXIT_DIFFERS if nothing more serious already. + Reported by Tilman Schmidt. + + * rmt.c: Define EXIT_FAILURE and EXIT_SUCCESS if not already. + * rtapelib.c: Define EXIT_ON_EXEC_ERROR to 128 and use it. + +1994-07-27 François Pinard + + * diffarch.c (sigh): Increment errors, so a difference will + yield a non-zero exit status at end. + Reported by Nick Holloway. + + * tar.h: Rename TARERROR to WARN, then add ERROR which is similar, + but increments the errors counter. + * *.c: Replace all TARERROR by WARN or ERROR, deciding for each + case. Many errors were not reflected in exit status. + + Reported by Carl Streeter, Esa Karell, George Chyu, Ian Jackson, + Judy Ricker, Massimo Dal Zotto, Roland McGrath, Tilman Schmidt + and Torkel Hasle. + + * buffer.c (child_open): Exit with EXIT_FAILURE if any error. + + * rtapelib.c: Use error for reporting errors. + (do_command): New name for command. + (get_status): New name for status. + + * buffer.c: Remove definition of MAGIC_STAT. + (close_archive): Do not check MAGIC_STAT for an exit value, since + this value is never returned. + + * *.c: Use TARERROR or exit with EXIT_FAILURE, instead of various + esoteric statuses. Normalize using TARERROR with an exit status, + instead of calling TARERROR with 0 first, then _exit. On exit + calls, use EXIT_SUCCESS instead of 0. + * tar.c: Do not use the exit status anymore for outputting an + error counter value. Wrap around was creating spurious success. + * tar.h: Remove EX_* definitions for tar exit statuses. + Reported by Bob Mende and Torbjorn Granlund. + +1994-07-26 François Pinard + + * tar.h: Add f_rsh_command variable. + * tar.c: Add and process --rsh-command option. + * buffer.c (open_archive, child_open, new_volume): Pass + f_rsh_command to rmtopen and rmtcreat calls. + * rmt.h (rmtopen, rmtcreat): Pass a supplementary argument. + * rtapelib.c (__rmt_open): Accept and process a command + argument, to replace rsh. + Reported by Jonathan I. Kamens. + + * tar.h: Instead of including with BSD42 or + for V7, merely include if it exists, + otherwise . + * buffer.c, diffarch.c, extract.c, list.c, + port.c, update.c: Do not include or + , because they are indirectly included through + "tar.h". + + * create.c (dump_file): Remove the BSD42 conditional. If not + f_sparse_files, initialize upperbound as when not BSD42. + Reported by Alan Bawden, Claude Scarpelli, Laurent + Sainte-Marthe, Noah Friedman, Reuben Sumner, Tom Quinn and + William Bader. + +1994-07-24 François Pinard + + * tar.h: Merely define valloc as being malloc if valloc does + not exist. + * port.h: Remove valloc, which was only a dummy for malloc. + Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman, + J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt. + +1994-07-22 François Pinard + + * create.c (start_header): Cast NAMSIZ to size_t before + comparing it to strlen result. + Reported by Mark Frost. + + * tar.c (main): Zero out label_pattern before compiling in + regular expressions, instead of using uninitialized memory. + Reported by Holger Teutsch. + + * tar.c [!FNM_PATHNAME]: Include fnmatch.h only if unistd.h fails + to define this symbol. + Reported by Alan Modra, Christian T. Dum, Eddy ?, John + Oleynick and Richard Lloyd. + + * buffer.c, diffarch.c, rtapelib.c, update.c: + Include before , if it exists. + Reported by Kaveh R. Ghazi. + + * tar.c (options): Use defined OPTION_* constants instead of + anonymous numbers for long options not having a short option form. + + * rmt.h [!MTIOCTOP]: Do not define RMTIOCTL, so __rmt_ioctl + will not be called if it has not been compiled in rtapelib.c. + + * tar.h: Add CMD_TOO_MANY. + * tar.c (main): Use CMD_TOO_MANY, and get rid of badopt label. + Reported by David J. MacKenzie. + + * tar.c (usage): New name for describe(). Rewritten with + better help formatting and more logical grouping of options. + Accepts an exit status argument. Callers adapted. + Reported by Richard O'Neill. + +1994-07-20 François Pinard + + * port.c (rename): Constify the arguments. + Reported by Elmar Heeb, Jeff Prothero and John Clark. + + * tar.c (main): Declare version_string locally. + * version.c: Deleted. + * Makefile.in: Adjusted. + +1994-07-19 François Pinard + + * tar.h: Merge "port.h" towards the beginning of tar.h. + Include and , and define errno if needed. + * *.c: Do not include "port.h" anymore after "tar.h", do not + include , nor . Also move + "tar.h" as the first file included in every module. This + would solve, among other things, the problem of RE_DUP_MAX + being redefined by , when included after "regex.h". + * port.h: Deleted. + * Makefile.in: Adjusted. + Reported by Alan Modra, Christian T. Dum, Dimitris Fousekis, + John David Anglin, Matthew Braun, Michael Maass, Richard Lloyd + and Stefan Skoglund. + + * create.c (dump_file): Do not cast alloca result to (char *). + The problem reported was that alloca result was seen as int, but + with the changes just made, alloca should be properly declared. + Reported by Bryant Fujimoto and Michael Kubik. + +1994-07-06 François Pinard + + * create.c, extract.c [HAVE_UTIME_H]: Instead of _POSIX_VERSION, + for choosing to include . + Reported by Carl Swanson and Thomas Krebs. + +1994-07-05 François Pinard + + * tar.c: Replace DEF_AR_FILE with DEFAULT_ARCHIVE, replace + DEFBLOCKING with DEFAULT_BLOCKING. + + * rtapelib.c: Replace "??'" by "?? '" at two places in a + comment, so avoiding Pyramid's DC/OSx compiler to complain about + ANSI trigraph sequences. Even comments can trigger bugs, now! + Reported by Mark Frost. + + * tar.h: Declare valloc. + * buffer.c, diffarch.c: Remove declaration for valloc. + + * testpad.c: Deleted. + * tar.h: Do not include "testpad.h" anymore. + * Makefile.in: Delete testpad matters. + + * buffer.c (new_volume): Inside case 'n', strcpy into r then + assign r to p, instead of strcpy'ing directly into p, for making + the module const clean. + +1994-07-03 François Pinard + + Rename a few variables to avoid shadowing variables or functions: + * list.c (print_header): Change name to quoted_name. + * buffer.c (child_open): Change pipe to local_pipe. + * extract.c (extract_archive): Change namelen to namelen_bis. + * rtapelib.c (__rmt_open): Change system to remote. + + * tar.c (options): Add two missing arguments to getoldopt + call, NULL is not necessarily implied on all systems. + + * list.c (print_header): Add a few missing long specification + in formats. + * diffarch.c (compare_chunk, diff_sparse_files): Idem. + * port.c (msg, msg_perror): Idem. + + * tar.h: Include prototypes for all functions which call from + one module to another. Declare voidstar (use it everywhere + instead of PTR). Move in the include from + , and the include of option.h from tar.c and + getoldopt.c, waiting for a better solution for all these things. + * port.c: Removed PTR declaration and including . + * getoldopt.c, tar.c: Remove including "option.h". + +1994-07-02 François Pinard + + * *: Protoized all function headers. Added static to + functions which can take it. Add many const specifiers. Remove + unused variables. + + * port.c (xmalloc): Delete function, do not mask the true one. + * port.c (ck_malloc): Use xmalloc, waiting for annihilation. + * port.c (ck_realloc): Use xrealloc, waiting for annihilation. + * *: Begin switching from ck_malloc (or even pure malloc) to + xmalloc. Same for ck_realloc (pure realloc) to xrealloc. + Doing this correctly is a delicate matter, which I'll continue + without reporting it anymore, while doing other modifications. + + * *: Replace msg and msg_perror calls by TARERROR macro calls. + Capitalize first word of all error messages, remove ending + punctuation or newline. Systematically avoid contractions for + `Cannot' and `Could not'. Always write `WARNING:' all in capitals. + * tar.h: Declare TARERROR as calling error(). Rename + variable tar to program_name. + * tar.c (main, options), buffer.c (child_open), port.c + (msg, msg_perror), gnu.c (gnu_restore): Rename variable tar to + program_name. + * gnu.c (gnu_restore): Remove a spurious repetition of + program_name in error message. + +1994-07-01 François Pinard + + * buffer.c, create.c extract.c, gnu.c, list.c, + names.c, rmt.c, tar.c, update.c: Remove all (void) + prefixes to function calls. There are limits to lint clutter. + +1994-06-30 François Pinard + + * port.h: Remove definition of const. Let configure do it. + + * tar.h, rmt.c, rtapelib.c, version.c, testpad.c: Add a block + for including or "config.h". If "tar.h" was included + everywhere, the block will only be needed there. + + * *.[ch]: Reindented to GNU standards (they were not far). + Got rid of all `* ' left prefixes in comments and refilled them. + There is still a lot of cosmetic changes needed everywhere. + I will not report them any more, doing them along the way of + other things in the future. + + * Makefile.in: New file. + + * Split distribution into a few subdirectories, for easing + maintainance. + + * Taking over maintenance duties. + +1993-08-31 David J. MacKenzie + + * rmt.c [M_UNIX]: Include sys/tape.h instead of sys/mtio.h. + Reported by Drew Sullivan and William Bader. + +1993-07-29 David J. MacKenzie + + * Makefile.in (config.status): Run config.status --recheck, not + configure, to get the right args passed. + +1993-07-19 David J. MacKenzie + + * Makefile.in (libdir): Use standard GNU value -- + $(exec_prefix)/lib, not /etc. + +1993-07-08 David J. MacKenzie + + * Makefile.in (installdirs, configure, config.status, + Makefile): New targets. + +1993-06-14 Noah Friedman + + * Makefile.in (.c.o): Put -I. before -I$(srcdir), and make + $(CFLAGS) last. + +1993-05-22 The King + + * extract.c (extract_archive, restore_saved_dir_info): Print + mode in octal, not in decimal. + Reported by Scott S. Bertilson. + +1993-03-26 Noah Friedman + + * configure.in: Better way of detecting HP-UX. + Reported by Noah Friedman. + +1993-03-25 Michael I Bushnell + + * version.c: Released version 1.11.2. + + * Makefile.in (dist): Do the link differently; some of the + files have changed filesystems which makes it more complex. + + * Makefile.in (dist, shar): Use gzip instead of compress. + + * create.c (dump_file): Test for curdev == -1, not curdev < 0. + Some losing NFS systems give negative device numbers sometimes. + Reported by Thorbjxrn Willoch. + +1993-03-19 Michael I Bushnell + + * buffer.c (new_volume): Write the global volume number to the + volno file before running the info script, so that the script + can look at it. + +1993-03-17 Michael I Bushnell + + * tar.c (describe, long_options): Changed --compress-block to + --block-compress. + (options): Fixed f_compress_block sanity check error message + to give the correct name of the option. + +1993-03-16 Michael I Bushnell + + * extract.c (extract_archive): case LF_DIR: Do chown when + necessary. Don't bother jumping to set_filestat for + f_modified; repeat the chmod code here. Replace `break', + deleted on 2 September 1992. + + * tar.c (describe, long_options, options): Added gzip options + and use-compress-program option. + * tar.h: Added new compression options. + * buffer.c (child_open, open_archive): Use new compression options. + + * create.c (start_header): Only mask off high bits when + creating old-style archives. + * list.c (decode_header): Mask off potentially misleading + high bits from the mode when reading headers. + Reported by Paul Eggert. + +1993-03-15 Michael I Bushnell + + * extract.c (extract_archive): Put arguments in the right + order for error message. + Reported by Bruno Haible. + + * create.c (deal_with_sparse): If the last byte was null, we + didn't write it out. + + * gnu.c, create.c, extract.c, diffarch.c, list.c: + Replace malloc calls with ck_malloc and realloc with ck_realloc. + Reported by Jonathan Kamens. + + * tar.c (describe): Improve doc for -L. + + * tar.c (name_next): Don't apply exclusion to explicitly named + files. + + * tar.c (long_options, describe): Added new-volume-script as + an alias for info-script. + + * extract.c (extract_archive): LF_DUMPDIR case; misplaced paren. + + * extract.c (extract_archive): extract_file case, first if, + include space for null in namelen computation. + + * extract.c (extract_sparse_file): Use value returned by write + to properly create error message. + + * create.c (create_archive): Don't assume we have anything to + dump. + + * buffer.c (open_archive): Set current_file_name for the + volume header so that verbose listings work properly. + + * Makefile.in (realclean): Added getdate.c. + + * create.c (deal_with_sparse): If exactly 26 elements in + sparsearray, only 25 were written. + Reported by Jim Murray. + + * create.c (deal_with_sparse): If the file ends with a zero + block, the last byte was not written. This is fixed in create + rather than extract: if amidst_data is not set at EOF, put out a + block with just the last byte of the file. + Reported by Jim Murray. + +1993-01-14 David J. MacKenzie + + * tar.c: Include fnmatch.h after port.h to make sure we get our FNM_* + (e.g. on HPUX 8). + +1992-11-24 David J. MacKenzie + + * tar.c (addname), gnu.c (read_dir_file) [HAVE_GETCWD]: Instead of USG. + + * port.h, rmt.h [HAVE_STRING_H]: Instead of USG. + + * port.h: Add dir header decls. + * create.c, gnu.c: Use SYSNDIR, SYSDIR, and NDIR + instead of BSD42 and USG. Rename DP_NAMELEN to NLENGTH. + Use `struct dirent' instead of `struct direct'. + * create.c, gnu.c, tar.c: Remove dir header decls. + +1992-11-18 David J. MacKenzie + + * tar.c: Change FNM_TARPATH to FNM_LEADING_DIR to match change + in fnmatch.[ch]. + +1992-10-02 David J. MacKenzie + + * tar.c (describe): Fix some tab alignments. + + * Makefile.in (SRC3): Add getdate.c, for systems without bison/yacc + (like MS-DOS). + + * diffarch.c (diff_sparse_files): Add missing arg to fprintf calls. + + * extract.c (extract_archive, restore_saved_dir_info), + buffer.c (child_open), list.c (decode_header, print_header): + Delete unused vars. + + * port.c [__MSDOS__]: Have strstr, rename, and mkdir. Don't + define ck_pipe. + + * buffer.c, tar.c (init_volume_number, closeout_volume_number), + create.c (write_long): Declare as void, not int, since they + don't return a value. + +1992-09-22 Michael I Bushnell + + * buffer.c (close_archive): Removed leftover `break' from when + this was a switch. + +1992-09-22 Noah Friedman + + * create.c, port.h: indented #pragma directives with 1 space. + +1992-09-18 Michael I Bushnell + + * All source files: re indented using GNU indent. + + * rtapelib.c (__rmt_read): Only read the amount left in the + buffer; otherwise a broken rmt server (which puts too much + data out) could overwrite past our buffer. + +1992-09-17 Michael I Bushnell + + * configure.in: Check for getpwuid and getgrgid. + Reported by J.T. Conklin. + + * create.c: Throughout, use struct utimbuf rather than array + of longs. + Reported by J.T. Conklin and Michael Ellis. + + * Makefile.in (SRC3, AUX): Move alloca.c to SRC3. + (OBJ3): Add @ALLOCA@. + + * Makefile.in (getdate.c): Look in srcdir for getdate.y. + + * buffer.c (close_archive): We can't check WTERMSIG + meaningfully unless we already know tha WIFSIGNALED is true. + (There is no guarantee it WTERMSIG will return zero when + WIFSIGNALED is false.) + * port.c (rmdir, mkdir): Check WIFSIGNALED rather than + WTERMSIG. + + * Makefile.in (getdate.c): Use $(YACC) instead of `yacc'. + +1992-09-15 Michael I Bushnell + + * version.c: Released version 1.11.1. + + * Makefile (AUX): Added NEWS. + + * Makefile.in (rmt): Added $(LIBS). + + * mangle.c (extract_mangle): Null terminate link name for + losing archives missing it. + + * configure.in: Added tests for libraries needed on Solaris. + + * Makefile.in: added target and rule for getdate.c: getdate.y; + some makes don't have one built in. + +1992-09-14 Michael I Bushnell + + * tar.c (options, main): Advise use of --help rather than + +help. + Reported by J.T. Conklin. + + * create.c (write_long): Using hstat here is a Bad Idea, and + totally unnecessary at that. + + * list.c (read_header): Compute both signed and normal + checksums. + Reported by Robert E. Brown. + + * diffarch.c, buffer.c: Declare valloc as void* rather than + char*. + Reported by Robert E. Brown. + + * Makefile.in: Don't install info files. + + * port.h: Undefine index and rindex if necessary; some + string.h's define them for us. + + * tar.c (addname): Missing braces after if. + * gnu.c (read_dir_file): Missing braces after if. + + * names.c: Add include of , + + * create.c (start_header): Set current_file_name so that + print_header, used for verbose create, works properly. + (dump_file): Set current_link_name when setting up symlink + and hardlink records. + Reported by Robert Crowe. + + * configure.in: Define BSD in the presence of /sdmach or + /../../mach. + Reported by Robert E. Brown. + + * configure.in: Check for malloc was scrambled. + +1992-09-11 David J. MacKenzie + + * fnmatch.[ch]: New files. + * wildmat.c: File removed. + * tar.c: Include fnmatch.h and use fnmatch instead of wildmat. + * Makefile.in, makefile.pc: Replace wildmat.o(bj) with fnmatch. + +1992-09-10 David J. MacKenzie + + * buffer.c, tar.c: Remove redundant decls of getenv, rindex. + + * Makefile.in: Add uninstall target. + Define libdir instead of hardcoding /etc for installing rmt. + +1992-09-10 Michael I Bushnell + + * list.c (read_header): On second thought, that doesn't work + either, so just store the names in malloced areas. Sigh. + + * NEWS: New file. + * README: Removed things that belong in NEWS; point to it. + + * list.c (read_header): current_file_name and + current_link_name need to be set to the arrays in head rather + than header; header is the actual read buffer and will change. + + * extract.c (extract_archive): + * buffer.c (new_volume): `#' directives need to start in + column 1. + Reported by J.T. Conklin. + +1992-09-09 Michael I Bushnell + + * version.c: Release of version 1.11. + + * Makefile.in (AUX): Add getpagesize.h. + (AUX): Comment out manuals. + (all): Comment out dependency on tar.info. + + * Makefile, configure.in: Arrange to use local malloc on HP-UX. + + * port.h Use the canonical Autoconf chunk for alloca instead + of just looking for gcc. + +1992-09-09 Noah Friedman + + * port.h: If compiling with gcc, use __builtin_alloca. + +1992-09-08 Michael I Bushnell + + * extract.c: Removed long name support from here. + * list.c (read_header): Understand and skip longname/longlink + headers here. Names for current file are stored in new global + variables. All source files except create.c changed to refer + to current_file_name and current_link_name instead of fields + directly from the current header. + +1992-09-03 Michael I Bushnell + + * create.c (write_long): New function. + (dump_file): When writing link records or symlink records, use + new write_long function instead of mangling when the link + target is too long. + (start_header): Use write_long instead of mangling for long + names. + * extract.c (saverec): Recognize LF_LONGNAME and LF_LONGLINK. + (saverec): Throughout, use longname and longlink if they are set. + +1992-09-02 Michael I Bushnell + + * mangle.c: This is now deprecated; retain extract_mangle for + backward compatibility. + + * list.c (print_header): Prevent printing 0 when the gid or uid is + null. + Reported by Chris Arthur. + + * list.c (decode_header): Use the gid field when the gid is empty, + and similarly for uid. + Reported by Chris Arthur. + + * extract.c: saved_dir_info, saved_dir_info_head: new type and + var. + (extract_archive): When extracting directories, now save info + in saved_dir_info_head. + (restore_saved_dir_info): New function. + * list.c (read_and): Call restore_saved_dir_info at the end of + the run. + Reported by Chris Arthur. + +1992-08-31 Michael I Bushnell + + * create.c (create_archive): If there are no names specified, + write nothing on the archive instead of dumping ".". + + * buffer.c (open_archive): Useful error message. + + * tar.c, tar.h: Recognize f_atime_preserve. + * create.c (dump_file): Implement f_atime_preserve. + + * rmt.h (_remdev): Don't require /dev/ to be in remote archive + names; obey new force-local flag. + * tar.c, tar.h: Implement new force-local flag. + Reported by Roland Schemers III. + + * tar.c (describe): same-owner and same-order were confused. + + * create.c (dump_file): Check for toplevel had sense reversed. + + * buffer.c (new_archive): Don't free old_name...when these + come from the command line, they aren't malloced, and it isn't + important to save this trivial amount of memory. + + * tar.h: replace ar_file with ar_files, n_ar_files, + cur_ar_files. + * buffer.c (open_archive): multi-volume compressed archives + never worked; give an appropriate error. Change open of + ar_file to open of ar_files[0]. + (writeerror, readerror, flush_archive): use + ar_files[cur_ar_file] instead of ar_file. + (new_archive): Necessary changes to support ar_files. + * tar.c (options): handle multiple tape drive arguments. + +1992-08-28 Michael I Bushnell + + * list.c (decode_header), create.c (start_header), tar.h (TMAGIC): + Undo djm's changes below; tar does not support the final + Posix.1 format; it's bad to make it look like it does. + +1992-07-19 David J. MacKenzie + + * port.h: Try to prevent redefining major. + * port.c [minix]: Implies HAVE_BZERO. Fix a typo. + + * list.c (decode_header): Recognize the final POSIX.1 magic as + well as the early draft magic for ustar. + * create.c (start_header): Create a final POSIX.1 magic string + instead of an early draft string for ustar. + * tar.h (TMAGIC): Remove the trailing blanks. + + * rmt.c, rtapelib.c: Use POSIX and STDC headers if available. + * rmt.h: Declare the external functions defined in rtapelib.c. + +1992-07-14 David J. MacKenzie + + * pathmax.h: New file. + * port.h: Include it. + * create.c (create_archive): Allocate PATH_MAX instead of + NAME_MAX for temporary buffer so we don't have to figure out + what NAME_MAX is (portably). + +1992-07-10 Michael I Bushnell + + * gnu.c (collect_and_sort_names): write_dir_file has no argument. + +1992-07-06 David J. MacKenzie + + * port.c (rename): If unlinking the source at the end fails, + unlink the destination instead to avoid leaving a mess. + +1992-07-03 David J. MacKenzie + + * buffer.c, diffarch.c, update.c, rtapelib.c [HAVE_SYS_MTIO_H]: + Instead of NO_MTIO. + + * port.c, tar.h [HAVE_FOO]: Instead of FOO_MISSING. + +1992-06-23 David J. MacKenzie + + * rmt.c: Add #ifdefs to work on ISC. + +1992-05-20 David J. MacKenzie + + * port.h: Define major, minor, makedev if the system doesn't. + +1992-05-13 Michael I Bushnell + + * gnu.c (add_dir_name): Store legitimate value into + dir_contents when get_dir_contents returns NULL. + +1992-05-07 Michael I Bushnell + + * gnu.c (add_dir_name): Check for return of NULL from + get_dir_contents; see djm's change of Fri Jul 26 01:12:58 1991. + +1992-05-04 David J. MacKenzie + + * tar.h: Make comments for option names say -- instead of +. + +1992-04-29 Michael I Bushnell + + * tar.c, tar.t: Added +volno-file option. + buffer.c (init_volume_number, closeout_volume_number): New functions. + tar.c (main): Call new functions in the right place. + + * buffer.c (fl_write, fl_read): Mod to allow losing tape + drives which use short counts to indicate end of tape + correctly handle the multi-tape stuff. The read half won't + co-exist with f_reblock; there's no way to fix that, of + course. + + * tar.c, tar.h: Added new option +show-omitted-dirs. + list.c (read_and): Implemented show-omitted-dirs. + Reported by Karl Berry. + + * tar.c, tar.h: Added new option +checkpoint. + buffer.c (fl_read, fl_write): Implemented +checkpoint lazily. + + * create.c (dump_file): Added toplevel argument; some devices + can be negative, so the old method was bogus. All callers + changed. + Reported by Max Hailperin. + + * tar.c, tar.h: Added new option +ignore-failed-read. + create.c (dump_file): Implemented +ignore-failed-read. + Reported by Bob Mende Pie. + + * create.c (finish_sparse_file): Commented out debugging printf. + + * tar.c, tar.h: Added new option +remove-files to delete files + after they are added to the archive. + create.c (dump_file): Implemented +remove-files for + everything but directories. I don't think they need it. + +1992-04-28 Michael I Bushnell + + * create.c: (dump_file): save_name needs to be set equal to p, + not something inside the header, because the header changes at + the first buffer flush. + +1992-04-24 Michael I Bushnell + + * create.c: Djm incorrectly moved the include of port.h to + precede the include of sys/file.h; restored. + + * tar.c (main): Cases CMD_EXTRACT and CMD_LIST: declare error + string with const. + + * gnu.c (collect_and_sort_names): Leave if around + write_dir_file in place. + +1992-04-22 David J. MacKenzie + + * rtapelib.c: SIGTYPE -> RETSIGTYPE. + +1992-03-09 David J. MacKenzie + + * rtapelib.c: Reformat and make comments more complete. + Rename a few variables for clarity. + +1992-03-05 David J. MacKenzie + + * tar.c (describe): Document long options as starting with --. + +1992-01-23 David J. MacKenzie + + * tar.c (options): Check get_date return value for error indication. + +1991-12-24 David J. MacKenzie + + * tar.c, gnu.c, extract.c, create.c, port.h, rmt.h [HAVE_UNISTD_H, + _POSIX_VERSION]: Instead of POSIX ifdefs. + +1991-12-20 Michael I Bushnell + + * testpad.c (main): flush stderr so perror and fprintf + cooperate right. + +1991-12-18 David J. MacKenzie + + * port.h [MAJOR_IN_MKDEV, MAJOR_IN_SYSMACROS]: To find where to + get major, minor and makedev. + * create.c, list.c, update.c: Don't check USG to include + sys/sysmacros.h. + +1991-12-12 Michael I Bushnell + + * mangle.c (extract_mangle): Correctly null terminate name of + link target. + +1991-11-21 Michael I Bushnell + + * create.c (dump_file, at start of ISREG output loop): use + filename from header instead of real name to make sure that we + get the mangled version and not one that is too long and + overflows buffers. + +1991-11-16 David J. MacKenzie + + * tar.h: Use new criteria for STDC version of msg. + +1991-11-02 David J. MacKenzie + + * create.c, gnu.c, tar.c [USG]: Use DIRENT instead of NDIR to select + between dirent.h and ndir.h. + + * port.c [FOO_MISSING]: Instead of WANT_FOO, to make sharing code + and configure script with other utilities easier. + [VPRINTF_MISSING, DOPRNT_MISSING]: Instead of FOO_MSG, to select + error reporting routines. + +1991-08-29 Michael I Bushnell + + * tar.c (long_options). Fixed info-script long option. + Reported by Eric Norum. + +1991-08-26 David J. MacKenzie + + * configure, Makefile.in: Only put $< in Makefiles if VPATH + is being used, because older makes don't understand it. + +1991-08-19 David J. MacKenzie + + * create.c: Indent '#pragma alloca' so non-ANSI compilers + don't choke on it. + +1991-08-14 David J. MacKenzie + + * list.c (UGSWIDTH): Increase from 11 (sort of like Unix tar) to + 18, so that with normal user and group names of <= 8 chars, + the columns never shift in a tar -t listing. + +1991-08-02 David J. MacKenzie + + * Makefile.in (dist): Include texinfo.tex and tar.info*. + (install): Install tar.info*. + * configure: Set INSTALLDATA. + + * configure: Create config.status. Remove it and Makefile if + interrupted while creating them. + + * configure: Check for +srcdir etc. arg and look for + Makefile.in in that directory. Set VPATH if srcdir is not `.'. + * Makefile.in: Add `prefix'. + (tar.info): New target. + +1991-07-30 David J. MacKenzie + + * configure [FTIME_MISSING]: Instead of NEED_TZSET. + +1991-07-29 David J. MacKenzie + + * port.c [F_CHSIZE]: Additional version. + +1991-07-27 David J. MacKenzie + + * rmt.h: Clean up ifdefs. + + * makefile.pc: Fix typo. + * port.h [__MSDOS__]: Instead of MSDOS. + [__MSDOS__]: Define off_t. Include io.h and not sys/param.h. + [__TURBOC__]: Use void * and don't define const. + +1991-07-26 David J. MacKenzie + + * buffer.c: Rename `eof' to `hit_eof' to avoid conflict with an + MSDOS function. + * gnu.c (get_dir_contents): Return NULL, not "\0\0\0\0", on error. + * diffarch.c (diff_archive): Open files in binary mode. + Don't use or free a non-malloc'd return value from get_dir_contents. + * msd_dir.c [__TURBOC__]: Include stdlib.h. + * rmt.h: lseek returns off_t, not long. + + * tar.c (describe): -X is +exclude-from, not +exclude. + (names_notfound): Free memory only if amiga, not !unix. + + * tar.h, tar.c: Add +null option to make -T read + null-terminated filenames (such as those produced by GNU find + -print0), and disable -C option. + This guarantees that odd filenames will get archived. + * tar.c (read_name_from_file): New function. + (name_next): Call it instead of fgets. + From David J. MacKenzie. + +1991-07-24 David J. MacKenzie + + * create.c [_AIX]: Declare alloca. + + * buffer.c (open_archive): Check for successful open before, + not after, fstatting the fd. + +1991-07-23 David J. MacKenzie + + * configure: Only define BSD42 if sys/file.h exists. + If alloca is missing and /usr/ucblib exists (SVR4), use it + instead of -lPW. + + * port.h [!__STDC__]: #define const. + * gnu.c (dirent_cmp): Fix args to agree with ANSI C prototype. + * create.c: Declare ck_realloc. + * gnu.c, diffarch.c: Move check for symlinks to after port.h include. + +1991-07-20 David J. MacKenzie + + * msd_dir.[ch]: Use POSIX-style `struct dirent' instead of + `struct direct'. + * create.c, gnu.c, tar.c: Adjust callers. + +1991-07-18 David J. MacKenzie + + * port.c (ck_malloc, ck_realloc): Return PTR, not char *. + * gnu.c, create.c, tar.c: Fix decls. + + * port.c: Don't use the preprocessor to guess missing + functions on Unix; let configure do it. + [WANT_GETWD] (getwd): Function removed; not needed because + getcwd is used if needed. + * gnu.c, tar.c [POSIX]: Use getcwd. + + * rtapelib.c: Use SIGTYPE instead of testing SIGNAL_VOID. + Default to void (more common these days) instead of int. + + * tar.c, gnu.c, mangle.c: Remove VOIDSTAR defn. Use PTR instead. + * port.h: Define PTR. + + * gnu.c, tar.c [__MSDOS__ || USG]: Remove incorrect getcwd decl. + [!POSIX]: Put correct one in port.h. + + * tar.c (describe): Print on stdout instead of stderr; it's + not so much a usage message (since you have to ask for it + explicitly) as on-line help, and you really need to be able to + page it because it's more than a screen long. + + * Make #ifdefs for sys/file.h or fcntl.h, directory header, + sys/mtio.h consistent between files. Use NO_MTIO instead of + tricks with USG and HAVE_MTIO and NO_RMTIOCTL. + * Move decls of ANSI C and POSIX functions to port.h and + use standard headers to declare them if available + [STDC_HEADERS or POSIX]. + * Add many missing function declarations and return types. + * Some places used __MSDOS__, some MSDOS; standardize on __MSDOS__. + * Change S_IF macros to S_IS for POSIX. + * port.h: Define appropriate S_IS macros if missing. + * port.h [POSIX]: Rename macros for testing exit status to conform to + POSIX; use the system's versions if available. + * Use POSIX PATH_MAX and NAME_MAX instead of MAXPATHLEN and MAXNAMLEN. + * port.h: Define PATH_MAX and NAME_MAX. + * create.c, gnu.c, tar.c: Use ck_malloc and free instead of + auto arrays of size PATH_MAX or NAME_MAX, since with pathconf + they might not be constants. + * Move all definitions of O_* to port.h to reduce redundancy. + * Make all source files that now need to include port.h do so. + * port.c: Remove #undefs of WANT_* so you can use -DWANT_* + when compiling, instead of having to edit port.c. + [WANT_DUMB_GET_DATE] (get_date): Function removed. + Even systems without bison can get bison output and compile it. + [WANT_STRING] (index, rindex, bcopy, bzero, bcmp): Functions + removed; the translation is now done by macros in port.h. + * wildmat.c (wildmat): Use POSIX.2 '!' instead of '^' to negate + character classes. + +1991-07-15 David J. MacKenzie + + * testpad.c (main): Return type void. + + * port.c [WANT_STRING]: Don't include memory.h if NO_MEMORY_H. + + * create.c (dump_file) [AIX]: Fix typo, `allocate' for `alloca'. + * gnu.c (collect_and_sort_names): Move misplaced brace out of #ifdef. + Reported by Minh Tran-Le. + + * configure: Also look in sys/signal.h for signal decl. + +1991-07-10 David J. MacKenzie + + * Rename rtape_server.c to rmt.c and rtape_lib.c to rtapelib.c. + + * configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL). + +1991-07-09 David J. MacKenzie + + * Most files: Refer to GPL version 2. + * COPYING: Use version 2. + + * port.c [__TURBOC__] (utime): New function. + + * xmalloc: New function (just calls ck_malloc), for alloca.c + and bison.simple (in getdate.y output). + + * Makefile.in (AUX): Include alloca.c and tcexparg.c, a + command line globber for Turbo C. + +1991-07-08 David J. MacKenzie + + * testpad.c: Open and write to testpad.h instead of stdout, + because some MS-DOS makes (Borland's at least) can't do + redirection in commands. + * Makefile.in: Don't redirect testpad output. + +1991-07-08 Michael I Bushnell + + * buffer.c (fl_read): Missing \n in printf. + +1991-07-08 David J. MacKenzie + + * create.c, extract.c, gnu.c, diffarch.c, tar.c: Comment out + unused variables. + + * tar.c (options): Cast get_date arg to VOIDSTAR instead of + `struct timeb *', since on some non-BSD systems the latter is + undefined. + +1991-07-06 David J. MacKenzie + + * Replace Makefile with configure, Makefile.in, and makefile.pc. + Update README with current compilation instructions. + + * port.c [WANT_RENAME] (rename): New function. + +1991-07-03 Michael I Bushnell + + * testpad.c (main): Avoid warning from some compilers on array + address. + + * rtape_server.c (sys_errlist): Should be declared extern. + Reported by Stuart Kemp. + +1991-07-01 Michael I Bushnell + + * Release of version 1.10; appropriate changes to README. + + * create.c: Removed printf's about sparse files. + +1991-06-21 Michael I Bushnell + + * list.c (skip_extended_headers): Userec was being called in + the wrong place. + +1991-06-20 David J. MacKenzie + + * tar.h [STDC_MSG]: Use ANSI prototypes for msg and msg_perror, + even if BSD42 is also. + + * Makefile: Replace DESTDIR with bindir. + (install): Don't install tar.texinfo. There's no standard + place for texinfo files, and /usr/local/man is inappropriate. + Add TAGS, distclean, and realclean targets and SHELL= line. + + * version.c: Move old change history to bottom of ChangeLog. + +1991-06-12 Michael I Bushnell + + * rtape_lib.c (__rmt_write) [SIGNAL_VOID]: Instead of USG. + +1991-06-05 Michael I Bushnell + + * tar.c (name_match, addname): Ugly hack to handle -C without + any files specified. + tar.h (struct name): New field for ugly hack. + +1991-06-03 Michael I Bushnell + + * testpad.c: New file to determine if we need special padding + in struct header in tar.h. + + * tar.h (struct header): include padding if necessary, include + testpad.h. + + * Makefile: rules to create testpad.h, etc. + +1991-05-22 Michael I Bushnell + + * tar.c (options): -L takes an argument. + + * rtape_lib.c (__rmt_open): add /usr/bin/nsh to the list of + remote shell programs. + + * create.c: define MAXPATHLEN if we don't get it from a system + header file. + + * create.c (deal_with_sparse): return a real return value if + we can't open the file. + + * tar.c (long_options): +newer takes an argument. + (describe): fix printing in various trivial ways + +1991-05-21 Michael I Bushnell + + * tar.c (long_options): +get and +concatentate don't require arguments + +1991-05-20 Michael I Bushnell + + * create.c (write_eot): Don't try and write an EOF if we are + already at one. + + * port.c (strstr): Looking for null string should return zero. + +1991-05-19 Michael I Bushnell + + * tar.c (options): -l doesn't take an argument + + * Makefile: Minor fix for SGI 4D defines. + Reported by Andrew Torda. + + * rtape_server.c (main.c): For 386/AIX. I'm suspicious about this + one. + * create.c (dump_file): For hidden files on AIX. + gnu.c (collect_and_sort_name, get_dir_contents): AIX hidden file mod. + Reported by Minh Tran-Le. + + * tar.c: (name_next): Allow -C inside a file list given to -T. + Reported by David Taylor. + + * Makefile: Comment describing presence of USE_REXEC. + + * extract.c (extract_archive, case LF_SPARSE): zero check for + last element on numbytes needs to look at value after + converted from octal. + + * port.c [HAVE_STRSTR]: Check it, instead of always demanding strstr. + Makefile: Comment describing presence of HAVE_STRSTR option. + +1991-05-19 David J. MacKenzie + + * port.c (get_date): Renamed from getdate, to avoid SVR4 conflict. + * tar.c: Call get_date instead of getdate. + +1991-05-10 Noah Friedman + + * tar.c: added "\n\" to the end of some documentation strings + where they were left off. + +1991-05-09 Michael I Bushnell + + * Makefile: added level-0, level-1, and backup-specs to AUX. + * version.c: changed to 1.10 beta. + * README: updated for 1.10 beta release. + +1991-04-02 Michael I Bushnell + + * create.c (dump_file): HPUX's st_blocks is in 1024 byte units + instead of 512 like the rest of the world, so I special cased + it. + * tar.c: Undo Noah's changes. + +1991-04-01 Noah Friedman + + (This ought to be temporary until things are fixed properly. ) + + * tar.c: (struct option long_options): flag for "sparse" zero if + compiling under hpux. + tar.c: (functon options): case 'S' is a no-op if compiling under + hpux. + +1991-03-30 Michael I Bushnell + + * tar.h: new variable tape_length. + + * tar.c (options): add new option +tape-length / -L. + + * buffer.c (fl_write): Turn #ifdef TEST code for limited tape + length on always, for tape-length option. + + * create.c (dump_file): avoid apollo lossage where S_IFIFO == S_IFSOCK. + + * buffer.c: include regex.h + * buffer.c (fl_read, open_archive): Use regex routines for + volume header match. + * xmalloc.c: removed file; wasn't necessary. + * tar.c: (main) use ck_malloc instead of xmalloc. + +1991-03-28 Noah Friedman + + * regex.c, regex.o: New links. + * tar.c: include regex.h. + * Makefile (OBJ2): Add regex.o. + (regex.o, tar.o): Depend on regex.h + (SRC2, AUX): Add the new files. + +1991-03-23 Noah Friedman + + * Makefile: added default flags and options for compiling under + hpux. + + * Added files alloca.c and xmalloc.c. + +1991-03-23 Michael I Bushnell + + * port.c [HPUX]: Define WANT_VALLOC. + +1991-03-15 David J. MacKenzie + + * rtape_lib.c [USG && !HAVE_MTIO]: Define NO_RMTIOCTL automatically. + (_rmt_rexec): Temporarily re-open stdin and stdout to + /dev/tty, to guarantee that rexec() can prompt and read the + login name and password from the user. + * Makefile: Mention -DUSE_REXEC. + Reported by Pascal Meheut. + +1991-03-08 Michael I Bushnell + + * tar.h, Makefile [HAVE_SIZE_T]: Might be useful for some people. + + * gnu.c: lstat->stat define where appropriate + + * buffer.c (fl_write): keep track of amount written for +totals. + * tar.c, tar.h: set flag f_totals from +totals option. + * tar.h (f_totals, tot_written): new variables. + * tar.c (main): print total written with CMD_CREATE. + + * tar.c (main): return appropriate exit status + +1991-01-17 David J. MacKenzie + + * port.c: Remove a spurious `+' between functions (a remnant + of a context diff, apparently). + +1991-01-09 Michael I Bushnell + + * create.c (where_is_data): Rewritten to be better, and then + #ifdef-ed out. + (deal_with_sparse): Severly pruned. Now we write or don't + write only complete blocks, not worrying about partial blocks. + This simplifies calculations, removes bugs, and elides the + second scan through the block. The first was zero_record, the + second was where_is_data. + +1991-01-07 Michael I Bushnell + + * create.c (deal_with_sparse): Second computation (for short + reads) of numbytes increment had subtraction backwards. + Need to handle calling where_is_data better when we did a + short read (it might go past the end of the read), also, set + sparsearray[...].offset in this case too. + +1991-01-04 Jay Fenlason + + * buffer.c: Return a special error code if the archive + you're trying to read starts with a different label than + the one specified on the command line. + +1991-01-02 Jay Fenlason + + * gnu.c: Prepend the current directory to the gnu_dumpfile, so that + -C's won't affect where the output goes. (sigh.) + +1990-12-18 Jay Fenlason + + * gnu.c: Don't complain if the gnudumpfile we're reading info + from doesn't exist. + + * create.c: Write out gnudumpfile after finishing writing the archive. + + * tar.c: Add +exclude FNAME, and make +exclude-from do what +exclude + used to. + * Make +version an operation, not an option. + * Add +confirmation alias for +interactive. + +1990-12-04 Jay Fenlason + + * tar.c (check_exclude): Don't let MUMBLE match MUMBLE.c or + fooMUMBLE but only foo/MUMBLE. + + * mangle.c: New file. + * create.c, extract.c: According changes. + + * extract.c: Don't complain when extracting an already existing link. + Don't complain when extracting a directory iff it already exists. + Don't ad u+wx to directories when running as root. + Reported by Chip Salzenberg. + + * gnu.c: Make +listed-incremental work. + Reported by Chip Salzenberg. + + * port.c: Add the F_FREESP emulation of the ftruncate syscall. + +1990-11-21 Jay Fenlason + + Remove excess \n from lots of msg() calls. + +1990-11-19 Jay Fenlason + + * tar.c: Rename +volume to +label. + +1990-11-16 David J. MacKenzie + + * tar.c (describe): Include the default values for -b and -f + (as set in the Makefile) in the message. + +1990-11-15 Jay Fenlason + + * extract.c (extract_archive): Do the utime() call before the + chmod() call, 'cuz some versons of utime() trash the file's mode + bits. + + * list.c (read_and): Call do_something on volume headers and + multivol files even if they don't match the names we're looking + for, etc. + +1990-11-06 Jay Fenlason + + * port.c (un-quote-string): Don't try to write a null if there's + already one there. + +1990-11-01 Jay Fenlason + + * buffer.c (new_volume): fflush(msg_file) before reading for + confirmation on new volume. On EOF or error, print error msg and + abort. + +1990-10-29 Jay Fenlason + + * getdate.y: Use new version of getdate(). + + * tar.c (name_add): Use sizeof(char *) instead of sizeof(int) + + * README: Give the correct return address. + +1990-10-25 Jay Fenlason + + rtape_lib.c [NO_RMTIOCTL]: Instead of RMTIOCTL, so it is on by default. + + rmt.h [NO_REMOTE]: Add _isrmt() #define. + + gnu.c: Add forward reference for add_dir_name(). + +1990-10-16 Jay Fenlason + + Version 1.09 --- New -G file implementation of gnu-dump stuff. + + * tar.c (name_add): Get the calls to ck_realloc and ck_malloc right. + +1990-10-11 Jay Fenlason + + * gnu.c: Fix A couple of typos. + +1990-09-19 David J. MacKenzie + + * getdate.y [USG && !DAYLIGHT_MISSING] (ftime): Use `daylight'. + +1990-09-17 Jay Fenlason + + * gnu.c (gnu_restore): Don't use a passed char* for the + file name, use skipcrud+head->header.name, just like everything + else does. This means that gnu_restore will still work with + small buffers, etc. + +1990-09-13 Jay Fenlason + + * tar.c (add_exclude): Don't bus-error if the exclude file doesn't + end with a newline. + +1990-09-09 David J. MacKenzie + + * Makefile (dist): Remove .fname when done. + +1990-09-06 Jay Fenlason + + * gnu.c (gnu_restore): Rember to skip_file() over the directory + contents, even if we don't have to do anything with them. + + * create.c, extract.c, diffarch.c: Free sparsearray after we're + done with it. + +1990-09-04 Jay Fenlason + + * Makefile: Include gnu.c in dist + + * gnu.c: Move add_dir above read_dir_file so that cc doesn't + complain about add_dir returning void. + +1990-09-02 David J. MacKenzie + + * getdate.y: Declare some more functions and add storage + classes where omitted to shut compiler up. + [USG] (ftime): Don't use extern var `daylight'; appears that + some systems don't have it. + +1990-08-29 David J. MacKenzie + + * getdate.y (lookup): In the code that allows `Aug.' to be + recognized as `Aug', don't chop off the final `.' from words + like `a.m.', so they can be recognized. + +1990-08-16 Jay Fenlason + + * buffer.c (open_archive): If -O, write verbosity to stderr + instead of stdout. + +1990-08-10 Jay Fenlason + + * getdate.y: Handle an explicit DST in the input string. + Reported by Per Foreby. + +1990-07-16 Jay Fenlason + + * tar.c: rename -g -G +incremental, +listed-imcremental, etc. + +1990-07-13 Jay Fenlason + + * tar.c: Make +newer and +newer-mtime work according to their names. + + * gnu.c: If +newer or +newer-mtime, use the time specified on the + command line. + + * buffer.c, create.c: Add test to see if dimwit is trying to + archive the archive. + + * tar.c (long_options[]): Re-ordered, so that groups of similar + options are next to each other... I think. + + (describe): Modified to more closely reflect reality. + +1990-07-06 Jay Fenlason + + * tar.c: Add compile-time option for SYS V (?) style + tape-drive names /dev/rmt/{n}[lmh] + + * tar.c: Fix getopt-style stuff so that -C always works correctly. + + * gnu.c, tar.c: Make filename to -G optional. + + * {all over}: Replace some fprintf(stderr...) calls with calls + to msg(). + + * port.c: Make -Dmumble_MSG option on command line override + internal assumptions. + + * Makefile: Mention -Dmumble_MSG options + +1990-07-06 David J. MacKenzie + + * tar.c (options): Don't change `c' if it is 0, as getopt now + handles that internally. + +1990-07-02 Jay Fenlason + + * gnu.c (new file): Moved all the f_gnudump stuff here where we + can keep track of it easier. Also made -G take a file name where + it stores the inode information about directories so that we can + detect moved directores. + + * create.c (dump_file): Changed slightly to work with the new + f_gnudump. + + * tar.c: Moved the f_gnudump stuff to gnu.c + + * tar.c, extract.c: Added the +do-chown option, which forces tar + to always try to chown the created files to their original owners. + + * version.c: New version 1.09 + +1990-06-24 David J. MacKenzie + + * create.c: Change ifdefs for directory library header + selection to be like the ones in tar.c. + * Makefile [Xenix]: Link with -ldir to get the dirent.h + directory library. + +1990-06-07 David J. MacKenzie + + * Makefile, buffer.c, diffarch.c [HAVE_MTIO]: Instead of MTIO, as + SCO Xenix defines 'MTIO' for an incompatible tape driver system in + a file included by termio.h. + * tar.h: Don't define size_t for Xenix. + +1990-06-05 Jay Fenlason + + * create.c (dump_file): Only print the + "... is on a different filesystem..." if f_verbose is on. + also add a case for S_IFSOCK and treat it like a FIFO. + (Not sure if that's the right thing to do or not, but it's better + than all those Unknown File Type msgs.) + +1990-05-31 Jay Fenlason + + * port.c [sparc]: Use instead of SPARC since the lowercase version + is defined, and the uppercase one isn't. + +1990-05-22 Jay Fenlason + + * port.c (ck_malloc): if size==0 pretend size=1 + (ck_realloc): if(!ptr) call ck_malloc instead. + +1990-05-15 Jay Fenlason + + * diffarch.c (diff_archive): If not f_absolute_paths, and attempt + to open a file listed in the archive fails, try /filename also. + This will allow diff to open the wrong file if both /filename and + filename exist, but there's nothing we can do about that. + +1990-05-11 Jay Fenlason + + * Makefile: Describe new -DMTIO option. + + * buffer.c, diffarch.c: Change ifdefs slightly, so that -DMTIO + will include sys/mtio.h even if USG is defined. This is for HPUX + and similar BSD/USG crossovers. + +1990-05-08 Jay Fenlason + + * update.c (update_archive): Call reset_eof() when appropriate. + + * buffer.c (reset_eof): New function, that turns of EOF flag, and + re-sets the ar_record and ar_last pointers. This will allow + 'tar rf non-existant-file' to not core-dump. + +1990-05-04 David J. MacKenzie + + * tar.c: Recognize the +sparse option. It was documented, but + only the short form (-S) was actually recognized. + +1990-04-17 Jay Fenlason + + * create.c: Don't access location 0 if ->dir_contents is null. + +1990-04-11 Jay Fenlason + + * buffer.c (flush_archive, close_archive, new_volume): Always + check the return value of rmtclose(), and only give a warning msg + if it is <0. Some device drivers (including Sun floppy disk, and + HP streaming tape) return -1 after an IO error (or something like + that.) + +1990-03-23 Jim Kingdon + + * tar.c (long_options): Make it so +append +extract +list +update + +catenate and +delete don't take arguments. + +1990-03-12 Jay Fenlason + + * buffer.c (open_archive, fl_write): Set the mtime of the volume + header to the current time. + +1990-03-07 Jay Fenlason + + * buffer.c Fix +compress-block A two character patch from + Juha Sarlin. + Replace #ifdef __GNU__ with #ifdef __STDC__. + (new_volume): If open of new archive fails, ask again, as it + probably is user error. + + * tar.c: Replace #ifdef __GNU__ with #ifdef __STDC__ + + * port.c: Clean up #ifdef and #defines a bit. + (quote_copy_string): Sometimes the malloc'd buffer would be up to + two characters too short. + + * extract.c (extract_archive): Don't declare ind static. + + * create.c (dump_file): Don't declare index_offset static. + + * diffarch.c: Remove diff_name variable, and always use + head->header.name, which will always work, unlike diff_name, which + becomes trash when the next block is read in. + +1990-03-01 Jay Fenlason + + * Makefile: Mention the -NO_REMOTE option. + * port.c [i386]: Fix typo, and define WANT_FTRUNCATE. + +1990-02-26 Jim Kingdon + + * getdate.y: Declare yylex and yyerror as static. + #define yyparse to getdate_yyparse. + +1990-02-25 David J. MacKenzie + + * tar.c: Remove +old option, since it is a valid abbreviation of + +old-archive, which does the same thing. + (describe): A few small cleanups in message. + +1990-02-05 Jay Fenlason + + * port.c [sparc]: Define LOSING_MSG, since doprnt_msg doesn't work. + [WANT_GETWD]: Fix typo. + +1990-01-26 Jay Fenlason + + Version 1.08 --- Sparse file support added. Also various other + features. + + * diffarch.c (compare_chunk): Include correct arguments in + a call to fprintf() for an error msg. + (compare_chunks, compare_dir): First argument is a long, not an int. + + * tar.c (options): Use tar variable (argv[0]) as the name to print + in an error msg, instead of a constant "tar". + (confirm): Use external variable char TTY_NAME[] for name of file + to open for confirmation input. + + * buffer.c (new_volume): Ditto. + + * port.c: Add declaration for TTY_NAME[]. + + * rmt.h: Add long declarations for lseek() and __rmt_lseek(); + +1990-01-23 Jay Fenlason + + * tar.c, create.c: Create the +newer-mtime option, which is like + +newer, but only looks for files whose mtime is newer than the + given date. + + * rtape_lib.c [USG]: Make *both* instances of signal-handler stuff + use void (*foo)(). + +1990-01-11 Jay Fenlason + + * getdate.y : Parse European dates of the form YYMMDD. + In ftime(): Init timezone by calling localtime(), and remember that + timezone is in seconds, but we want timeb->timezone to be in minutes. + Reported by Jörgen Haegg. + + * rtape_lib.c (__rmt_open): Also look for /usr/bsd/rsh. + Declare signal handler as returning void instead of int if USG is + defined. + + * port.c: Declare WANT_GETWD for SGI 4-D IRIS. + + * Makefile: Include defines for SGI 4D version. + Reported by Mike Muuss. + + * buffer.c (fl_read): Work properly on broken Ultrix systems where + read() returns -1 with errno==ENOSPC on end of tape. Correctly go + on to the next volume if f_multivol. + + * list.c (list_archive, print_header): Flush msg_file after + printing messages. + + * port.c: Delete unused references to alloca(). + Don't crash if malloc() returns zero in quote_copy_string. + Flush stderr in msg() and msg_perror(). + + * tar.c: Flush msg_file after printing confirmation msg. + +1990-01-10 David J. MacKenzie + + * tar.c (main): Change -help option and references to it to +help, + and remove suggestion to run info (which is unreleased, so not + likely to be of any help). + +1990-01-09 Jay Fenlason + + * create.c (dump_file): Close file descriptor if start_header() + fails. + (dump_file): Change test for `./'-ness to not think that `.' {any + character} is a `./'. + Reported by Piercarlo Grandi. + + * diffarch.c (diff_init): Print correct number of bytes in error + message. + +1990-01-09 David J. MacKenzie + + * Makefile: Add comment at top noting that two source files also + contain #defines that might need to be changed by hand. + + * create.c, diffarch.c, extract.c: Change L_SET to 0 in lseek + calls, because only BSD defines it. + * create.c (dump_file) [BSD42]: Make sparse file checking code + conditional because it uses st_blocks, which the other systems lack. + +1990-01-02 Jay Fenlason + + * port.c (quote_copy_string): Fix so it doesn't scramble memory if + the last character is non-printable. + Reported by Kian-Tat Lim. + +1989-12-19 Jim Kingdon + + * port.c [BSD42]: Define DOPRNT_MSG. + tar.h [BSD42]: Do not prototype msg{,_perror}. + +1989-12-08 Jay Fenlason + + * create.c (dump_file): Remove typo in msg. + +1989-12-01 David J. MacKenzie + + * Makefile: Remove comments referring to certain systems lacking + getopt, since it is now provided always and needed by all systems. + + * port.c: Remove copy of getopt.c, as it is now linked in + separately to always get the current version. + + * tar.c: Rename +cat-tars option to +catenate or +concatenate, + and +local-filesystem to +one-file-system (preferred by rms + and used in GNU cp for the same purpose). + (describe): Reflect changes. + +1989-11-28 David J. MacKenzie + + * port.c: Move declaration of alloca into #else /* sparc */ + so it will compile on sparcs. + +1989-11-27 David J. MacKenzie + + * tar.c (options): Remove -version option (replaced by +version). + (describe): Mention long options. + +1989-11-25 David J. MacKenzie + + * getoldopt.c (getoldopt): Make `opt_index' argument a pointer to + an int, not char. + + * tar.c: Modify long options per rms's suggestions: + Make preserve-permissions an alias for same-permissions. + Make preserve-order an alias for same-order. + Define preserve to mean both of those combined. + Make old an alias for old-archive. + Make portability an alias for old-archive, also. + Rename sym-links to dereference. + Rename gnudump to incremental. + Rename filename to file. + Make compare an alias for diff. Leave diff but prefer compare. + Rename blocking-factor to block-size. + Rename chdir to directory. + Make uncompress an alias for compress. + Rename confirm to interactive. + Make get an alias for extract. + Rename volume-header to volume. + + Also make +version an alias for -version. + + (options): Shorten code that interprets long options by using + the equivalent short options' code. This also makes it tons + easier to change the long options. + + (describe): Make usage message more internally consistent + stylistically. + +1989-11-20 hack@ai.mit.edu + + * list.c (read_and): Call check_exclude() to see if the files + should be skipped on extract or list. + +1989-11-09 Jim Kingdon + + * buffer.c (fl_read): Fix typos in error message + "tar EOF not on block boundary". + +1989-10-23 + + * tar.c (long_options[]): Add an option for blocked compression. + +1989-10-19 + + * buffer.c (writeerror): Print a more useful error msg. + +1989-09-27 + + * tar.c (main): Mention "tar -help" if the luser types a non-workable + set of options. + +1989-09-11 + + * tar.c (options): Have -F correctly set info_script. + +1989-08-29 + + * Makefile Include ChangeLog in tar.tar and tar.tar.Z + +1989-08-28 + + * tar.c (options) Made -F imply -M. + Also remind tar that the -f option takes an argument! + + * Modified -F option to make it do what (I think) it + should. e.g, if you say -F, tar won't send a msg to + msg_file and wait for a It'll just run the program + it was given, and when the prog returns, the new tape had + *better* be ready... + + * buffer.c (open_archive): Give error message and abort if + the luser didn't give an archive name. + +1989-08-25 Joy Kendall + + * Added code to make a new option to run a specified script at + the end of each tape in a multi-volume backup. Changed: tar.c: + made new switch, -F, and new long-named option, "info-script". + Code is where you would expect. + * tar.h: added flag f_run_script_at_end, and an extern char * + called info_script, which optarg gets set to. + * buffer.c (new_volume): if f_run_script_at_end is set, we give + info_script to system(), otherwise we do what we've always done. + +1989-08-24 Joy Kendall +(These changes made over the course of 6/89 - 8/89) + + * diffarch.c: diff_archive: Added switches for LF_SPARSE in the + case statements that needed it. Also, skip any extended headers + if we need to when we skip over a file. (need to change the bit + about, if the size doesn't agree AND the file is NOT sparse, + then there's a discrepancy, because I added another field to + the header which should be able to deal with the sizes): If + the file is sparse, call the added routine "diff_sparse_files" + to compare. Also added routine "fill_in_sparse_array". + + * extract.c: extract_archive: added the switch LF_SPARSE to the + case statement as needed, and code to treat the sparse file. + At label "again_file", modified opening the file to see if we + should have O_APPEND be one of the modes. Added code at label + "extract_file" to call the new routine "extract_sparse_file" + when we have an LF_SPARSE flag. + + Note: really should erase the commented-out code in there, + because it's confusing. + + * update.c: made sure that if a file needed to be "skipped" + over, it would check to see if the linkflag was sparse, and if + so, would then make sure to skip over any "extended headers" + that might come after the header itself. Do so by calling + "skip_extended_headers". + + * create.c: create_archive: added code to detect a sparse file + when in the long case statement. Added ways to detect extended + headers, and label "extend" (ack! should get rid of that, is + atrocious). Call the new routine "finish_sparse_file" if the + linkflag is LF_SPARSE to write the info to the tape. Also added + routines "init_sparsearray", "deal_with_sparse", "clear_buffer", + "where_is_data", "zero_record", and "find_new_file_size". + + * tar.h: Added the #define's SPARSE_EXT_HDR and SPARSE_IN_HDR. + Added the struct sparse and the struct sp_array. Added the + linkflag LF_SPARSE. Changed the tar header in several ways: + - added an array of struct sparse's SPARSE_IN_HDR long + - added a char flag isextended + - added a char string realsize to store the true size of a sparse file + Added another choice to the union record called a struct + extended_header, which is an array of 21 struct sparse's and a + char isextended flag. Added flag f_sparse_file to list of flags. + + * tar.c: added long-named options to make tar compatible with + getopt_long, changed Makefile. + +1989-03-03 David MacKenzie (edf at rocky2.rockefeller.edu) +(I'm not completely sure all these have been integrated -- FP.) + + * buffer.c [USG]: ifdef'd out #include . + (close_archive): SysV doesn't have ftruncate, so substituted + fmtwrite (just copied the code for MS-DOS). + * create.c: Unos lacks so provided a substitute. + (start_header): Only strip leading paths if f_relative_paths is true. + * extract.c: + (extract_archive): Only strip leading paths if + f_relative_paths is true. Because the Unos filesystem has + only one timestamp, moved the utime call to after the chown + and chmod calls. + * getdate.y: Don't define ftime if Unos. + * list.c: Defined size_t for Unos. [USG]: Don't include . + Define stuff manually for Unos. + (decode_header): Add braces around switch cases; some compilers + require them. + (print_header): Changed UGSWIDTH from 11 to 25 because the smaller + value made tape listings of files owned by more than one user + gradually get wider, making them hard to read. + * port.c: Don't include if SysV. Define + size_t for Unos. + (mkdir): Add code to support Unos makedir sys call. + (getopt): Use malloc instead of alloca, because tar doesn't + use alloca anywhere else and many systems lack it. A few other + changes from the current version of getopt.c incorporated. + * rtape_lib.c: Undefine RMTIOCTL. Doesn't seem to be needed, + and can't compile on Unos/SysV with it defined. Might need to be + ifdef'd. + * tar.c: Alias addname to add_name and rmdir to deldir on Unos + due to C library weirdness. + (options): Recognize new -P option to set f_relative paths. + (describe): Clean up error message and add -P description. + * tar.h: Add variable, f_relative_paths, to cause tar to strip + leading `/' characters in pathnames during create and extract. + * tar.texinfo: Fixed a couple of typos, detected by texi2roff. + * update.c: Simulate for Unos. + +Previous releases by Jay Fenlason (hack@ai.mit.edu) + + * Version 1.07 --- New version to go on beta tape with GCC 1.35. + Better USG support. Also support for __builtin_alloca if we're + compiling with GCC. + + * diffarch.c: Include the correct header files so MTIOCTOP + is defined. + * tar.c: Don't print the verbose list of options unless + given -help. The list of options is *way* too long. + + * Version 1.06 --- [__STDC__]: Use STDC_MSG. + ENXIO meand end-of-volume in archive (for the UNIX PC) + Added break after volume-header case (line 440) extract.c + Added patch to rtape_lib.c (reported by Arnold Robbins). + Added f_absolute_paths option. + Deleted refereces to UN*X manual sections (dump(8), etc) + Fixed to not core-dump on illegal options + Modified msg_perror to call perror("") instead of perror(0) + patch so -X - works + Fixed tar.c so 'tar cf - -C dir' doesn't core-dump + tar.c (name_match): Fixed to chdir() to the appropriate + directory if the matching name's change_dir is set. This + makes tar xv -C foo {files} work. + + * Version 1.05 --- A fix to make confirm() work when the archive is + on stdin; include 'extern FILE *msg_file;' in pr_mkdir(). + * tar.h [__STDC__]: Fix to work. + + Added to port.c: mkdir() ftruncate(): Removed: lstat() + Fixed -G to work with -X + Another fix to tar.texinfo + Changed tar.c to say argv[0]":you must specify exactly ... + buffer.c: modified child_open() to keep tar from hanging when + it is done reading/writing a compressed archive + added fflush(msg_file) before printing error messages + create.c: fixed to make link_names non-absolute + + * Version 1.04 --- Added functions msg() and msg_perror(): Modified + all the files to call them. Also checked that all (I hope) calls + to msg_perror() have a valid errno value. + (modified anno() to leave errno alone), etc. + Re-fixed the -X option. This time for sure... + re-modified the msg stuff. flushed anno() completely + Modified the directory stuff so it should work on sysV boxes + added ftime() to getdate.y + Fixed un_quote_string() so it won't wedge on \" Also fixed + \ddd (like \123, etc) + More fixes to tar.texinfo + + * Version 1.03 --- Fixed buffer.c so 'tar tzf NON_EXISTENT_FILE' + returns an error message instead of hanging forever. + More fixes to tar.texinfo. + + * Version 1.02 --- Fixed tar.c so 'tar -h' and 'tar -v' don't cause + core dump. Also fixed the 'usage' message to be more up-to-date. + * diffarch.c [!MTIOCTOP]: Fixed so verify should compile. + + * Version 1.01 --- Fixed typoes in tar.texinfo. + Fixed a bug in the #define for rmtcreat(). + Fixed the -X option to not call realloc() of 0. + + * Version 1.00 --- version.c added. -version option added. + Installed new version of the remote-tape library. + Added -help option. + + +----- tests/ChangeLog ----- + +1997-04-25 François Pinard + + * Release 1.12. + + * gzip.sh, ignfail.sh: Adjust to new delayed error exit message. + + * Makefile.am (BUILT_SOURCES): Define as preset, so preset is + regenerated if configuration changes. + + * Makefile.am (TESTS): Nevertheless include delete01.sh. + (POSTPONED_TESTS): Adjusted. + Reported by Andreas Schwab. + + * delete02.sh: Mention f - explicitly, do not assume it, in case + $TAPE is defined or the default archive has been overridden. + Reported by Andreas Schwab. + +1997-04-24 François Pinard + + * after: Unredirect stdout and stderr before removing the files. + If redirections are to NFS files, removing them while they are + still opened may have strange effects, failing almost all tests. + Reported by Kaveh R. Ghazi. + +1997-04-22 François Pinard + + * Prerelease 1.11q. + + * extrac03.sh: New file. + * Makefile.am (TESTS): Adjusted. + Reported by Marc Boucher. + + * preset.in (LC_MESSAGES): Clear value before tests. + Reported by Sven Verdoolaege. + + * Makefile.am (INCLUDES): Adjust so config.h gets found. + + * genfile.c (usage): Corrected. + + * delete01.sh: New name for delete.sh. + * delete02.sh: New file. + * Makefile.am (TESTS): Adjusted. + Reported by Vince Del Vecchio. + + * Makefile.am (POSTPONED_TESTS): To contain the --delete tests. + (TESTS): Adjusted. + (EXTRA_DIST): Include $(POSTPONED_TESTS). The purpose is getting + the tests distributed, but not executed. These flaky tests are to + be addressed only after 1.12 is released. + +1997-04-19 François Pinard + + * Makefile.am (AUTOMAKE_OPTIONS): Declare ../src/ansi2knr. + * (DEFS): New, for defining LOCALEDIR. + * (genfile.o): Deleted, will be implied from DEFS above. + Reported by Bruno Haible and Kaveh R. Ghazi. + +1997-04-17 François Pinard + + * Prerelease 1.11p. + + * genfile.c (usage): Add a program description. + (main): Output --version according to recent GNU standards. + +1997-04-15 François Pinard + + * ignfail.sh: Ensure the test does not fail if run as super-user. + Reported by John David Anglin. + +1997-04-12 François Pinard + + * genfile.c (pattern): Remove trailing comma for last enum item. + Reported by Bruno Haible. + +1997-04-11 François Pinard + + * Prerelease 1.11o. + +1997-03-29 François Pinard + + * ignfail.sh: New file. + * Makefile.am (TESTS): Adjusted. + Reported by Ralph Schleicher. + +1997-03-24 François Pinard + + * genfile.c: Implement --pattern=default/zeros. + +1997-02-25 François Pinard + + * old.sh: New file. + * Makefile.am (TESTS): Adjusted. + Reported by Daniel Trinkle. + +1997-01-21 François Pinard + + * extrac01.sh: New name for extract.sh. + * extrac02.sh: New file. + * Makefile.am (TESTS): Adjusted. + Reported by Axel Boldt. + +1996-11-25 François Pinard + + * genfile.c (usage): Typo in message. + Reported by Christian Kirsch. + +1996-11-22 François Pinard + + * incremen.sh: New file. + Reported by Wolfram Wagner. + + * append.sh, delete.sh: New files. + * Makefile.am (TESTS): Adjusted. + Reported by Andreas Schwab. + + * before: Ensure .. on PATH, so genfile may be found. + * Makefile.am ($(TESTS)): Depend on genfile, waiting for Automake + to be adjusted to do the proper thing for parallel make. + + * gzip.sh: New name for childerr.sh. + * extract.sh: New name for direxist.sh. + * volume.sh: New name for volcheck.sh. + * Makefile.am: Adjusted. + + * All tests: Use set -e whenever appropriate. Use "" instead of + '' for out and err, so allowing us to use escaped newlines. In + case of multiple output in a single test, ensure separator lines. + +1996-11-06 François Pinard + + * Prerelease 1.11.13. + + * childerr.sh, direxist.sh, volcheck.sh: Use sh, not bash. + Reported by John David Anglin. + +1996-09-20 François Pinard + + * volcheck.sh: New. + * Makefile.am (TESTS): Adjusted. + +1996-09-19 François Pinard + + * Prerelease 1.11.12. + + * Makefile.am ($(TESTS)): Depend on preset. + * version.sh (PATH): Adjust for multi-line --version output. + * preset.in (LANG, LANGUAGE): Export them, so gzip does not + localise its own output. + (echo_n, echo_c): Define from the result of echo configuration. + * after: Handle echo with newline suppressed. + +1996-09-09 François Pinard + + * childerr.sh, direxist.sh, before, after: New files. + * Makefile.am: Adjusted. + +1996-09-04 François Pinard + + * ChangeLog, Makefile.am, pretest.in, version.sh: New files. + * checktar.sh, genfile.c: New files, moved from src/. + + A regression test is an old dream for GNU tar. + Reported by Tom Tromey and Robert Bernstein.