1 Currently there is just one ChangeLog file for tar, but
2 there used to be separate ChangeLog files for each subdirectory.
3 This file records what used to be in those separate files.
5 Copyright 1989\(en1997, 2013, 2023\(en2024 Free Software Foundation,
8 This file is part of GNU tar.
10 GNU tar is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3 of the License, or
13 (at your option) any later version.
15 GNU tar is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>.
26 1997-04-25 François Pinard <pinard@iro.umontreal.ca>
30 * configure.in: Check for the inline keyword.
32 1997-04-24 François Pinard <pinard@iro.umontreal.ca>
34 * Makefile.am (BABYL): Delete admin/RMAIL, renamed rmail/announce.
37 (EXTRA_DIST): Adjusted.
39 1997-04-23 François Pinard <pinard@iro.umontreal.ca>
41 * BI-PATCHES: Patches for Bison 1.25.
42 * Makefile.am (EXTRA_DIST): Adjusted.
44 * configure.in (AC_PROG_INSTALL): Call deleted. AM_INIT_AUTOMAKE
45 takes care of this already.
47 1997-04-22 François Pinard <pinard@iro.umontreal.ca>
51 * configure.in: Use gethostent instead of gethostbyname while
52 checking for -lnsl. It seems SINIX systems require this.
53 Reported by Bruno Haible.
55 1997-04-19 François Pinard <pinard@iro.umontreal.ca>
57 * acinclude.m4: New fp_WITH_INCLUDED_MALLOC macro.
58 * configure.in: Use it instead of the HP/UX test for GNU malloc.
59 Reported by Bruno Haible.
61 1997-04-17 François Pinard <pinard@iro.umontreal.ca>
65 * acinclude.m4 (cl_FUNC_GMALLOC): New macro, yet still unused, as
66 it requires config.guess. I have to think more about this.
67 Reported by Bruno Haible.
69 1997-04-16 François Pinard <pinard@iro.umontreal.ca>
71 * AC-PATCHES: Patches for Autoconf 2.12.
72 * AM-PATCHES: Patches for Automake 1.1n.
73 * Makefile.am (EXTRA_DIST): Adjusted.
75 1997-04-15 François Pinard <pinard@iro.umontreal.ca>
77 * configure.in: Ensure all cpp directives are left justified.
78 Reported by Kaveh R. Ghazi.
80 1997-04-12 François Pinard <pinard@iro.umontreal.ca>
82 * configure.in: Add fnmatch.o to LIBOBJS if AC_FUNC_FNMATCH
83 says no working copy was found. This is not done automatically.
84 Reported by Bruno Haible, Bryant Fujimoto, John David Anglin,
85 Kaveh R. Ghazi, Laurent Caillat-Vallet, Sakai Kiyotaka and
88 1997-04-11 François Pinard <pinard@iro.umontreal.ca>
90 * configure.in: Much simplify the -lsocket and -lnsl tests.
91 Reported by Larry Schwimmer.
93 1997-04-11 François Pinard <pinard@iro.umontreal.ca>
97 * configure.in: Do not check for gettimeofday anymore.
99 * configure.in: Do not anymore blindly add -lnsl if gethostname
100 is found, nor -lsocket if setsockopt is found. Instead, for
101 resolving setsockopt, try none, -lsocket, and -lsocket -lnsl,
102 in that order. For resoving gethostbyname, try none, than -lnsl.
103 Reported by Ariel Faigon, Heiko Schlichting, Jean-Philippe
104 Martin-Flatin, John J. Szetela, John R. Vanderpool, Kaveh
105 R. Ghazi, Larry Schwimmer, Marcus Daniels, Mark Bynum and
108 1997-04-10 François Pinard <pinard@iro.umontreal.ca>
110 * configure.in: Define _GNU_SOURCE to get FNM_LEADIR_DIR, etc.
111 * acconfig.h: Document _GNU_SOURCE.
112 Reported by Andreas Jaeger, Becki Kain, Brendan Kehoe, David
113 N. Brown, J. Dean Brock, James V. DI Toro III, Jeffrey Mark
114 Siskind, Jürgen Reiss, Paul Eggert, Roland McGrath, Rolf
115 Niepraschk, Roman Gollent, Thomas Bushnell n/BSG and Ulrich
118 1997-03-26 François Pinard <pinard@iro.umontreal.ca>
120 * configure.in (ALL_LINGUAS): Add it.
122 1997-03-20 François Pinard <pinard@iro.umontreal.ca>
124 * configure.in: Require Autoconf 2.12.
126 1997-02-25 François Pinard <pinard@iro.umontreal.ca>
128 * configure.in: Use AM_CONFIG_HEADER and AM_GNU_GETTEXT instead
129 of AC_CONFIG_HEADER and ud_GNU_GETTEXT. Use AC_FUNC_FNMATCH
130 instead of AM_FUNC_FNMATCH. Do not take care anymore of stamp-h
131 in AC_OUTPUT, leave it to Automake.
132 * acinclude.m4: Replaced whole, from elsewhere.
133 * Makefile.am (EXTRA_DIST): Leave README-alpha to Automake.
135 1997-02-12 François Pinard <pinard@iro.umontreal.ca>
137 * configure.in: Delete README-alpha code, Automake handles it now.
139 1996-11-18 François Pinard <pinard@iro.umontreal.ca>
141 * Prerelease 1.11.14.
143 * Makefile.am (BABYL): Add admin/RMAIL.
145 * configure.in: Check for sys/buf.h, as BSD/OS.
146 Reported by Dan Reish.
148 1996-11-09 François Pinard <pinard@iro.umontreal.ca>
150 * configure.in: Replace a missing basename.
151 Reported by Bryant Fujimoto, Erick Branderhorst, Greg Black, John
152 David Anglin, John J. Szetela, Kaveh R. Ghazi, Kurt Jaeger, Marcus
153 Daniels, Santiago Vila Doncel and William Bader.
155 1996-11-08 François Pinard <pinard@iro.umontreal.ca>
157 * Prerelease 1.11.13.
159 * configure.in: Replace a missing dirname.
161 1996-10-07 François Pinard <pinard@iro.umontreal.ca>
163 * configure.in: Clean out some macro calls made useless since
164 AM_INIT_AUTOMAKE implies them.
166 1996-09-20 François Pinard <pinard@iro.umontreal.ca>
168 * configure.in: Do not check anymore for regex.
170 1996-09-19 François Pinard <pinard@iro.umontreal.ca>
174 * configure.in: Check echo for newline suppression.
176 1996-09-18 François Pinard <pinard@iro.umontreal.ca>
178 * configure.in: Do not add open3.o to LIBOBJS anymore.
180 1996-09-05 François Pinard <pinard@iro.umontreal.ca>
182 * configure.in (ALL_LINGUAS): Add pl.
184 1996-09-04 François Pinard <pinard@iro.umontreal.ca>
186 * configure.in (AC_OUTPUT): Prepare tests/Makefile and tests/preset.
187 * Use AM_ version of fp_ macros.
189 * Makefile.am (SUBDIRS): Add tests/.
191 1996-07-18 François Pinard <pinard@iro.umontreal.ca>
193 * Prerelease 1.11.11.
195 * configure.in: Use AC_PREREQ(2.10).
197 1996-07-16 François Pinard <pinard@iro.umontreal.ca>
199 * configure.in (ALL_LINGUAS): Add nl.
200 Reported by Erick Branderhorst.
202 1996-07-12 François Pinard <pinard@iro.umontreal.ca>
204 * Prerelease 1.11.10.
206 * configure.in (ALL_LINGUAS): Add ko and sl.
208 1996-05-01 François Pinard <pinard@iro.umontreal.ca>
210 * configure.in: Check for fsync, and linux/fd.h.
211 Reported by Marty Leisner.
213 1996-04-17 François Pinard <pinard@iro.umontreal.ca>
215 * Makefile.am (EXTRA_DIST): New name for DIST_OTHERS.
217 * configure.in (ALL_LINGUAS): Add no.
219 * Makefile.am (BABYL): Consider rmail/* instead of rmail/*/*.
221 1996-02-28 François Pinard <pinard@iro.umontreal.ca>
223 * configure.in: Avoid PROGRAMS, instead use RMT to substitute rmt.
224 * Makefile.am (SUBDIRS): Use intl and po instead of @INTLSUB@ and
227 * configure.in: Check for poll.h and stropts.h.
228 Check for nap, napms, poll, select and usleep.
230 1996-02-12 François Pinard <pinard@iro.umontreal.ca>
232 * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
233 * configure.in: Temporarily remove a \ in AC_OUTPUT for automake.
235 1996-02-03 François Pinard <pinard@iro.umontreal.ca>
237 * configure.in: Check size of unsigned long (assume 32 bits if
238 cross-compiling) and long long (assume not available).
240 1996-01-14 François Pinard <pinard@iro.umontreal.ca>
242 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits and dist-shar.
243 (dist-zoo): New goal, experimental for now.
245 1996-01-07 François Pinard <pinard@iro.umontreal.ca>
247 * Makefile.am: Force distribution of BACKLOG.
248 Reported by Jonathan Thornburg.
250 * Makefile.am: Declare BABYL. Force distribution of AUTHORS
251 and rebox.el. Add id, ID and dist-shar targets. Add parts of
252 previous Makefile.in as FIXME comments.
254 1995-12-30 François Pinard <pinard@iro.umontreal.ca>
256 * configure.in: Ensure there is a link for libintl.h.
257 Reported by Daniel S. Barclay, Göran Uddeborg, Jonathan Thornburg,
258 Ken Raeburn and Minh Tran-Le.
260 1995-12-29 François Pinard <pinard@iro.umontreal.ca>
264 * Makefile.am: New file.
266 * configure.in: Decide if README-alpha should be distributed.
269 1995-12-28 François Pinard <pinard@iro.umontreal.ca>
271 * configure.in (AC_OUTPUT): Call sed for po/Makefile.in.
273 * Makefile.in: Distribute ABOUT-NLS rather than NLS, and do not
274 distribute config.guess or config.sub anymore.
276 * configure.in: Test for lchown.
278 1995-12-19 François Pinard <pinard@iro.umontreal.ca>
280 * configure.in: Prefer avoiding union wait, and use it only if
281 using int fails. This turns around the previous test, as directly
282 checking for union wait is seemingly seeking for trouble.
283 Reported by Alan Bawden, Chris Arthur, Coranth Gryphon,
284 Jean-Philippe Martin-Flatin, Robert Bernstein and Tarang Kumar
287 * configure.in: Check for strerror, so lib/error.c will not try to
288 define sys_errlist in the case strerror is already provided.
289 Reported by Coranth Gryphon, Chris Arthur, David J. MacKenzie,
290 Erich Stefan Boleyn, Greg Black, Jason R. Mastaler, Michael
291 Innis Bushnell, Robert Bernstein, Santiago Vila Doncel, Skip
292 Montanaro and Thomas Krebs.
294 * configure.in: Quote the selected shell. I wonder why this
295 error did not show up before!
297 * configure.in: Check <sys/tprintf.h> and <sys/device.h> for BSDi.
298 Reported by Chris Arthur and Skip Montanaro.
300 1995-12-17 François Pinard <pinard@iro.umontreal.ca>
302 * configure.in: Be more systematic at caching test results.
303 Reported by Ulrich Drepper.
305 * configure.in: While checking for remote tape header files, only
306 include <sgtty.h> if it was found to exist.
308 * configure.in: Prefer #if to #ifdef while checking for open3.
310 1995-11-30 François Pinard <pinard@iro.umontreal.ca>
312 * configure.in: Check for net/errno.h and sys/inet.h, trying to
313 get EOPNOTSUPP defined.
315 * configure.in: Check for sgtty.h.
317 1995-11-06 François Pinard <pinard@iro.umontreal.ca>
319 * acconfig.h: Document HAVE_STPCPY for the time being. I do not
320 understand yet why this is mandatory: it should be automatic
321 from AC_CHECK_FUNCS(stpcpy) in aclocal.m4, through autoheader.
323 * configure.in: Use fp_FUNC_FNMATCH, to get around non-working
324 versions on SCO Unix 3.2v4.2, and Solaris.
325 Reported by Chad Hurwitz, Dennis Pixton, Per Foreby, Richard
326 Westerik, Robert Weiner and Tom Tromey.
328 1995-10-27 François Pinard <pinard@iro.umontreal.ca>
330 * configure.in: Add /usr/bin/rcmd as a possible remote shell, as
331 this is the name used by SCO Unix 3.2.4.
332 Reported by Bela Lubkin and Rodney Brown.
334 1995-07-23 François Pinard <pinard@iro.umontreal.ca>
336 * configure.in: Adapt for GNU gettext 0.8.
338 1995-07-10 François Pinard <pinard@iro.umontreal.ca>
340 * Makefile.in (default): Define to all.
342 1995-06-18 François Pinard <pinard@iro.umontreal.ca>
344 * configure.in: For mknod, also include <sys/types.h> prior to
345 <sys/stat.h>, as Ultrix needs this.
346 Reported by Bruce Jerrick, Bryant Fujimoto, Conrad Hughes, Erich
347 Stefan Boleyn, Jason R. Mastaler, Joshua R. Poulson, Jurgen Botz,
348 Serge Granik, Simon Wright, Ulrich Drepper and Vince Del Vecchio.
350 * configure.in: Replace execlp as needed (for Minix, mainly).
352 * configure.in: Force compilation of lib/open3.c if required.
353 Clean out old NO_OPEN3 code.
355 1995-06-17 François Pinard <pinard@iro.umontreal.ca>
359 * Makefile.in (DISTFILES): Distribute config.guess and config.sub.
360 Reported by Ulrich Drepper.
362 * acconfig.h, aclocal.m4, configure.in: Last minutes
363 additions, and glimpses to the future gettext 0.6.1.
364 Reported by Ulrich Drepper.
366 * acconfig.h: Document HAVE_MKNOD.
367 * configure.in: Test for mknod only once <sys/stat.h> included.
368 Reported by Alan Modra, Ray Dassen and Ulrich Drepper.
370 * aclocal.m4: Test for re_rx_search instead of rx_compile, the
371 latter not being exported unless RX_WANT_RX_DEFS is defined.
372 Reported by Alan Modra.
374 1995-06-15 François Pinard <pinard@iro.umontreal.ca>
376 * Makefile.in (dist): Do not hide copying rule.
378 * configure.in: Adjustments to NLS, so .sed scripts may now all
381 1995-06-13 François Pinard <pinard@iro.umontreal.ca>
383 * Makefile.in (pot): New goal, triggering po/tar.pot.
385 1995-06-07 François Pinard <pinard@iro.umontreal.ca>
387 * configure.in: Substitute POTFILES by contents of po/POTFILES.
389 * configure.in: More adjustments for GNU gettext 0.6.
390 * config.guess, config.sub: New files, all taken from gettext 0.6.
392 1995-06-04 François Pinard <pinard@iro.umontreal.ca>
394 * Makefile.in (check): New goal.
396 1995-05-30 François Pinard <pinard@iro.umontreal.ca>
398 * Makefile.in (DISTFILES): Do not distribute SUPPORT, now
399 integrated in the documentation.
400 Reported by Karl Berry.
402 1995-05-28 François Pinard <pinard@iro.umontreal.ca>
404 * configure.in: Check for isascii, not iascii.
405 Reported by Alan Modra, Bruno Haible and Greg McGary.
407 1995-05-16 François Pinard <pinard@iro.umontreal.ca>
411 * Makefile.in (DISTFILES): Distribute NLS.
412 * configure.in, acconfig.h: Many adjustments for GNU gettext.
414 1995-05-09 François Pinard <pinard@iro.umontreal.ca>
416 * configure.in: Clean glocale out.
417 * Makefile.in (SUBDIRS): Add po.
418 * Makefile.in (pofile): New goal.
420 1995-05-08 François Pinard <pinard@iro.umontreal.ca>
422 * configure.in: Call ud_WITH_NLS, create intl/Makefile.in.
423 Compute size of unsigned short and unsigned int.
425 * acconfig.h: Document ENABLE_NLS, HAVE_CATGETS and HAVE_GETTEXT.
426 * Makefile.in: Process intl subdirectory.
428 * configure.in (LINGUAS): Add pt.
429 * src/pt.po: New file, for Portuguese.
430 Reported by Antonio Jose Coutinho.
432 1995-03-19 François Pinard <pinard@iro.umontreal.ca>
434 * configure.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
435 * acconfig.h: Add description for WITH_CATALOGS.
437 1995-02-22 François Pinard <pinard@iro.umontreal.ca>
439 * configure.in, Makefile.in: Replace `date' by `echo timestamp'.
441 1995-02-19 François Pinard <pinard@iro.umontreal.ca>
443 * Makefile.in: Support ID files. Do not distribute TAGS.
445 1995-02-05 François Pinard <pinard@iro.umontreal.ca>
447 * Makefile.in (maintainer-clean): New name for realclean.
449 1995-01-02 François Pinard <pinard@iro.umontreal.ca>
451 * configure.in: Check for <sys/ioccom.h>.
452 Reported by Joseph E. Sacco.
454 1995-01-01 François Pinard <pinard@iro.umontreal.ca>
456 * Makefile.in (DISTFILES): Distribute SUPPORT, with *pre*-releases.
458 1994-12-18 François Pinard <pinard@iro.umontreal.ca>
460 * configure.in: Check for isascii.
461 Reported by Bruno Haible.
463 1994-12-11 François Pinard <pinard@iro.umontreal.ca>
465 * configure.in: Use fp_WITH_REGEX.
466 * acconfig.h: Document WITH_REGEX.
468 1994-12-10 François Pinard <pinard@iro.umontreal.ca>
470 * src/de.tt: New file, for German.
471 Reported by Ulrich Drepper.
473 1994-12-03 François Pinard <pinard@iro.umontreal.ca>
477 * configure.in: Localize, adapting from how it is done in sharutils.
479 * src/fr.tt: New file, for French.
481 * configure.in, {,*/}Makefile.in, acconfig.h:
482 Rename PRODUCT to PACKAGE.
484 1994-11-26 François Pinard <pinard@iro.umontreal.ca>
486 * configure.in: Check for <libintl.h> and <locale.h>.
488 1994-11-02 François Pinard <pinard@iro.umontreal.ca>
490 * configure.in: Check for const only after having found possible
491 ANSIfying compiler flags, this is of no use to check it before.
493 1994-11-01 François Pinard <pinard@iro.umontreal.ca>
495 * {,*/}Makefile.in: Clean up, following those of GNU m4. I will
496 not detail all the changes here.
497 * configure.in: Likewise.
498 * acconfig.h: Document PRODUCT and VERSION.
500 1994-10-04 François Pinard <pinard@iro.umontreal.ca>
502 * configure.in: Correct shell assignment for ac_cv_path_RSH.
503 Reported by Kaveh R. Ghazi.
505 1994-09-14 François Pinard <pinard@iro.umontreal.ca>
507 * Makefile.in: Cleanup... Use subshells for all cd's.
508 (MDEFINES): Do not use $(INSTALL...), because ./install-sh will
509 not be relocated correctly.
510 (DISTFILES): Distribute install-sh, not install.sh.
511 (tags): Make only in lib and src.
513 (distclean, realclean): Remove config.status.
514 (distclean-local): Don't.
515 (*-recursive): Combine, use sed to strip -recursive in subgoals.
516 (Makefile): Have ./config.status create this Makefile only.
517 (stamp-h): Have ./config.status create config.h only. Do not
518 create stamp-h here, it is now done from configure.
519 (stamp-h.in): Use date instead of touch.
520 * configure.in (AC_OUTPUT): Create stamp-h.
522 1994-09-09 François Pinard <pinard@iro.umontreal.ca>
524 * configure.in: Use fp_ macros for accessing aclocal.m4. Revert
525 _OS_ macros to their previous names, to follow Autoconf.
527 1994-09-08 François Pinard <pinard@iro.umontreal.ca>
529 * configure.in: Delete AC_OS_XENIX, now within AC_HEADER_DIRENT.
531 1994-09-01 François Pinard <pinard@iro.umontreal.ca>
533 * configure.in (PROGS): Warn if $DEFAULT_ARCHIVE was specified,
534 while not being found on the current system.
535 Reported by Robert Bernstein.
537 1994-08-31 François Pinard <pinard@iro.umontreal.ca>
539 * Makefile.in: Distribute it.
541 * Makefile.in (distclean-local): Delete config.log.
543 1994-08-27 François Pinard <pinard@iro.umontreal.ca>
545 * acconfig.h: Document HAVE_UNION_WAIT, no more in Autoconf.
547 1994-08-24 François Pinard <pinard@iro.umontreal.ca>
549 * configure.in: Replace AC_SYS_REMOTE_TAPE by its definition,
550 distillating it around. It is going out of Autoconf.
551 Do not backslash quotes anymore while defining unquoted, this is
552 now corrected in Autoconf.
554 1994-08-23 François Pinard <pinard@iro.umontreal.ca>
556 * configure.in: Do not define RTAPELIB nor HAVE_RTAPELIB.
558 1994-08-22 François Pinard <pinard@iro.umontreal.ca>
560 Little cleanup in installation:
561 * configure.in: Do not check for wait3, this function is not used.
562 * Makefile.in: Remove useless RSH substitutions.
564 * configure.in: Use `-g -O' instead of `-g' as CFLAGS default
565 value, when GNU C is being used. Delay testing for presets.
566 Reported by Chris Arthur.
568 1994-08-21 François Pinard <pinard@iro.umontreal.ca>
572 * Makefile.in (BACKLOG, dist, shar): Correct for when a different
575 * configure.in: Check for union wait. Adapted from make 3.71.
577 * configure.in: Replace both mkdir and rmdir, not just mkdir,
578 because NS32016 running SysVr2.2 has mkdir and lacks rmdir.
579 Reported by Greg Black.
581 * configure.in: Do not try anymore to discover the archive device
582 by looking around for various device names. If the installer does
583 not override it, nicely use `-' as a convenient default.
584 Reported by Andreas Schwab and Kaveh R. Ghazi.
586 1994-08-20 François Pinard <pinard@iro.umontreal.ca>
588 * configure.in: Correct a checking message.
589 Reported by Bruno Haible.
591 1994-08-17 François Pinard <pinard@iro.umontreal.ca>
593 * configure.in: Replace AC_PROG_RSH with its expansion. Correct
594 the no/true confusion in tests. Do not substitute RSH anymore in
595 src/Makefile, instead define REMOTE_SHELL in config.h. Replace
596 NO_REMOTE by HAVE_RTAPELIB, with inverted meaning. Substitute
597 RTAPELIB by $Urtapelib.o instead of rtapelib.o.
598 * acconfig.h: Document HAVE_RTAPELIB and REMOTE_SHELL.
599 Reported by Andreas Schwab.
601 * configure.in: Checking for remote shell, use the RSH environment
602 variable if set. This is done only when not already in the cache.
603 Reported by Kaveh R. Ghazi.
605 * configure.in: Include <sys/types.h> when testing <utime.h>.
606 Reported by Andreas Schwab.
608 * configure.in: Also create doc/Makefile.
609 * Makefile.in: Add doc in subdirs, set infodir, update MDEFINES.
611 1994-08-16 François Pinard <pinard@iro.umontreal.ca>
613 * configure.in: Undo the `test -b' patch of 1994-08-05. Ultrix
614 4.2 test does not know about -b. Grrr...
615 Reported by Kaveh R. Ghazi.
617 * configure.in: Check for <sys/gentape.h>, HAVE_SYS_GENTAPE_H
618 is tested in rmt.c. Check for <sys/tape.h>, to avoid playing
619 with M_UNIX anymore in rmt.c.
620 Reported by Daniel R. Guilderson and Kaveh R. Ghazi.
622 * configure.in: Use proper function names in AC_CHECK_LIB's.
623 Reported by Alexander Dupuy and Kurt Jaeger.
625 * configure.in: Use $LIBOBJS, not LIBOJBS, while adding to it.
626 Reported by Demizu Noritoshi and Kaveh R. Ghazi.
628 1994-08-15 François Pinard <pinard@iro.umontreal.ca>
632 1994-08-14 François Pinard <pinard@iro.umontreal.ca>
634 * configure.in: Decide MTIO_CHECK_FIELD by grepping <sys/mtio.h>.
635 * acconfig.h: Document it.
636 Reported by Ben A. Mesander.
638 * Makefile.in: Substitute CC, INSTALL, INSTALL_PROGRAM,
639 INSTALL_DATA, RSH, CFLAGS, LDFLAGS, LIBS, prefix, exec_prefix,
640 binprefix, bindir and libexecdir.
641 (MDEFINES): New, using the previous substitutions.
642 (all, install, uninstall): Use it.
643 Reported by Bruno Haible.
645 1994-08-13 François Pinard <pinard@iro.umontreal.ca>
647 * configure.in: Check for <sys/wait.h>.
649 1994-08-11 François Pinard <pinard@iro.umontreal.ca>
651 * configure.in: For <utime.h>, also ensure struct utimbuf is
652 defined by the header file before defining HAVE_UTIME_H. Some
653 systems will not define the structure without _POSIX_SOURCE.
654 * acconfig.h: Document HAVE_UTIME_H.
655 Reported by James W. McKelvey and Robert E. Brown.
657 * configure.in: Instead of replacing strstr, check for it, so
658 HAVE_STRSTR gets defined, then replace it explicitely if required.
660 1994-08-09 François Pinard <pinard@iro.umontreal.ca>
662 * configure.in: Updated for Autoconf 2.0.
664 1994-08-08 François Pinard <pinard@iro.umontreal.ca>
666 * configure.in: Replace memset, mkdir (and rmdir), rename, strstr,
667 ftruncate, when not found.
668 Reported by Kaveh R. Ghazi (for memset and strstr).
669 Reported by Bruno Haible (for mkdir and rename).
671 1994-08-05 François Pinard <pinard@iro.umontreal.ca>
673 * configure.in: Remove padding test.
674 * acconfig.h: Remove PADDING_IN_TAR_HEADER.
675 Reported by Bruno Haible.
677 * configure.in: While defining DEFAULT_ARCHIVE, check for a block
678 device, instead of mere existence. But is `test -b' portable?
679 Test for /dev/fd0, instead of for /dev/fd. Put rct tests last.
680 Reported by Andreas Schwab.
682 * configure.in: Define uid_t and gid_t if necessary.
683 Reported by Jonathan I. Kamens.
685 * Makefile.in (distclean-local): Delete config.cache.
686 Reported by Thomas Koenig.
688 * configure.in: Change malloc_dbg to dmalloc, mutatis mutandi.
689 * acconfig.h: According changes.
691 * configure.in: Test for broken stat macros, and for mkfifo.
693 * configure.in: Check for ST_BLKSIZE and ST_BLOCKS.
695 1994-08-02 François Pinard <pinard@iro.umontreal.ca>
699 * Makefile.in (dist, shar): Distribute the scripts directory.
701 1994-08-01 François Pinard <pinard@iro.umontreal.ca>
703 * configure.in: Check for <memory.h>.
705 1994-07-30 François Pinard <pinard@iro.umontreal.ca>
707 * configure.in: When --with-malloc-dbg, define WITH_MALLOC_DBG and
708 add -lmalloc_dbg to LIBS.
709 * acconfig.h: Document WITH_MALLOC_DBG.
711 * configure.in: Try deciding DEVICE_PREFIX and DENSITY_LETTER from
712 the selected DEFAULT_ARCHIVE.
713 * acconfig.h: Document DEVICE_PREFIX and DENSITY_LETTER.
714 Reported by Danny R. Johnston.
716 1994-07-29 François Pinard <pinard@iro.umontreal.ca>
718 * aclocal.m4: Adapt AC_PROTOTYPES to caching.
720 * Using configure as generated by a more recent Autoconf solves a
721 problem of rename being rejected on HP-UX in ANSI mode, because of
722 a conflicting prototype from <stdio.h>. In this context, Autoconf
723 now uses ctype.c instead for defining __stub macros.
724 Reported by Alan Modra, Burkhard Plache, Edward Welbourne,
725 Henrik Bakman, Jeffrey Goldberg, Jim Farrell, Kimmy Posey,
726 Michael Maass, Mike Nolan, Richard Lloyd, Robert McGraw,
727 Robert W. Kim, Stefan Skoglund, Tarang Kumar Patel, Tilman
728 Schmidt, Tim Ramsey, Van Snyder and W. Phillip Moore.
730 1994-07-26 François Pinard <pinard@iro.umontreal.ca>
732 * configure.in: Check for <fcntl.h>. Do not define BSD42, do
733 not look anymore if /vmunix, /sdmach or /../../mach exist.
734 * acconfig.h: Remove BSD42.
736 1994-07-24 François Pinard <pinard@iro.umontreal.ca>
738 * configure.in: Add gmalloc.o to LIBOBJS, instead of AC_SUBST'ing
739 MALLOC. Check for valloc only if gmalloc.o is not being selected.
740 valloc was possibly defined both in "port.h" and GNU malloc.
741 * acconfig.h: Add a description for HAVE_VALLOC.
742 J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
744 1994-07-22 François Pinard <pinard@iro.umontreal.ca>
746 * configure.in: Use provided fnmatch only as a replacement.
748 * configure.in: Check for <sys/io/trioctl.h>, needed for
749 defining _IOW and _IOR on the Tektronix XD88.
750 Reported by Kaveh R. Ghazi.
752 1994-07-20 François Pinard <pinard@iro.umontreal.ca>
754 * Makefile.in (BACKLOG): New goal, for summarizing the
755 maintainance backlog. Distribute file BACKLOG.
757 1994-07-08 François Pinard <pinard@iro.umontreal.ca>
759 * regex.c, regex.h: Use newer versions. This solves a few
760 problems reported by users.
761 Reported by Chris Hopps and John David Anglin.
763 1994-07-06 François Pinard <pinard@iro.umontreal.ca>
765 * configure.in: Check for <utime.h>.
767 1994-07-05 François Pinard <pinard@iro.umontreal.ca>
769 * configure.in: Substitute DEFAULT_ARCHIVE and DEFAULT_BLOCKING
770 from the environment. Check for /dev/tape first while trying to
771 decide the default archive, because it is often symlinked right.
772 * acconfig.h: Explain DEFAULT_ARCHIVE and DEFAULT_BLOCKING.
774 * configure.in: Use AC_SET_MAKE.
775 * Makefile.in: Use @SET_MAKE@.
776 Reported by Jim Meyering.
778 * configure.in: Integrate the check, previously in testpad.c,
779 about a needed padding field in the tar header struct.
780 * acconfig.h: Explain PADDING_IN_TAR_HEADER.
782 1994-07-02 François Pinard <pinard@iro.umontreal.ca>
784 * configure.in: Check for -linet, this library is required on
785 a few systems for gettimeofday() or getservbyname(). Also, on ISC
786 4.0, this avoids a broken version of rename().
787 Reported by Dean Gaudet, Goeran Uddeborg, Mike Rogers and
790 * configure.in: Ensure -lsocket is tested after -lnsl. This is
791 required in particular for SINIX-Z, an SVR4.0 system.
792 Reported by Manfred Weichel and Mark Frost.
794 * configure.in: All tests reordered for clarity.
796 1994-07-01 François Pinard <pinard@iro.umontreal.ca>
798 * configure.in: Use AC_TIME_WITH_SYS_TIME, test for <sys/time.h>.
799 This should solve the problem of multiple inclusions of <time.h>.
800 Also, also check for <sys/timeb.h>, for getdate.y tests this.
801 Reported by Jim Meyering, John Rouillard, Karl Berry and Rick
804 1994-06-30 François Pinard <pinard@iro.umontreal.ca>
806 * configure.in: AC_CONST was already added since 1.11.2, but no
807 ChangeLog entry for it, so here is one, with list of reporters.
808 * AIX 3.2 RS/6000 IBM's compiler was unable to compile regex.c,
809 this might be solved already through improved Autoconf tests.
811 Reported by Alexey Vovenko, Ben A. Mesander, Bryant
812 Fujimoto, Christian. T. Dum, Christopher Vickery, Dan Bloch,
813 David K. Drum, David Lemson, Demizu Noritoshi, Dimitris
814 Fousekis, Ezra Peisach, Hugh Secker-Walker, Indra Singhal,
815 J.T. Conklin, Jan Hoeglund, Janice Burton, Jeff Siegel,
816 Jim Blandy, John L. Chmielewski, John Rouillard, Jonathan
817 N. Sherman, Kevin D Quitt, Kurt Jaeger, Mark Frost, Matthew
818 Braun, Michael Kubik, Michael Helm, Moritz D. Klingholz,
819 Neil Jerram, Nelson H.F. Beebe, Nick Barron, Paul Eggert,
820 R. Scott Butler, Rob Parry, Ron Guilmette, Scott Grosch,
821 Sherwood and Stephen Saroff.
823 * Makefile.in: Completely replaced, lurking at the previous one.
824 At the same time, solve a few minor problems reported by users.
825 The most frequently reported ones pertained to a trailing \ in a
826 comment, and rmt installing in /etc.
827 Reported by Dean Gaudet, Gerben Wierda, James W. McKelvey,
828 John L. Chmielewski, Karl Berry, Mike Rogers, Ralf Suckow and
831 * configure.in: Also process lib/Makefile.in and src/Makefile.in.
832 Substitute CFLAGS, LDFLAGS and YFLAGS from the environment.
833 Use AC_CHECKING instead of using echo explicitely.
834 Use AC_HEADER_CHECK(unistd.h) instead of obsolete AC_UNISTD_H.
836 * configure.in: Generate a configuration header file. This not
837 only puts less clutter in make output, but also goes around some
838 compilers' limits about the number of allowed -D options.
839 Reported by Nelson H.F. Beebe.
841 * acconfig.h: New file.
843 * Split distribution into a few subdirectories, for easing
844 maintainance. So far: src, lib, scripts, msdos which are to be
845 distributed; then rmail, texinfo, ARCH and misc to be kept here.
846 * scripts/ChangeLog: Initialized by moving entries related to
847 scripts out of this ChangeLog.
849 * Taking over maintenance duties.
852 ----- doc/ChangeLog -----
854 1997-04-23 François Pinard <pinard@iro.umontreal.ca>
858 * Makefile.am (EXTRA_DIST): Remove tar-mew.texi for the release.
859 (tar.dvi) [!PUBLISH]: Delete @smallbook. Call sed in all cases.
861 1997-04-11 François Pinard <pinard@iro.umontreal.ca>
865 * Makefile.am (tar.info): Comment about needed makeinfo version.
866 Reported by Sherwood Botsford.
868 1997-04-10 François Pinard <pinard@iro.umontreal.ca>
870 * Makefile.am (EXTRA_DIST): Add tar-mew.texi.
872 1997-03-16 François Pinard <pinard@iro.umontreal.ca>
874 * Makefile.am (tar.dvi): Merely use tar.texi and rely on -I to
875 resolve it in $(srcdir). Remove tmp-tar.info* files right away.
876 (CLEANFILES): Define to tmp-*.
878 1997-03-14 François Pinard <pinard@iro.umontreal.ca>
880 * Makefile.am: Rename RENDERING, QUALITY, DRAFT and DEBUG to
881 RENDITION, PUBLISH, DISTRIB and PROOF respectively. Ensure that
882 `@set DISTRIB' gets replaced after macro-expansion and before TeX.
884 1996-11-06 François Pinard <pinard@iro.umontreal.ca>
886 * Prerelease 1.11.13.
888 * getdate.texi: New file, from elsewhere.
889 * tar.texi: Replace a lot of text by an include of getdate.texi.
890 * Makefile.am: Adjusted.
892 1996-08-24 François Pinard <pinard@iro.umontreal.ca>
894 * Prerelease 1.11.12.
896 * Makefile.am (EXTRA_DIST): Remove texinfo.tex, now that Automake
897 handles it automatically.
899 1996-07-18 François Pinard <pinard@iro.umontreal.ca>
901 * Prerelease 1.11.11.
903 * Makefile.am (tar.info): Remove -I$(srcdir), which was useless.
905 1996-07-17 François Pinard <pinard@iro.umontreal.ca>
907 * Makefile.am (EXTRA_DIST): Include texinfo.tex, until Automake
908 does it automatically.
910 1996-07-16 François Pinard <pinard@iro.umontreal.ca>
912 * Prerelease 1.11.10.
914 * Makefile.am (EXTRA_DIST): Distribute convtexi.pl, for now.
916 1996-04-22 François Pinard <pinard@iro.umontreal.ca>
918 * Makefile.am: Implement rendering levels (QUALITY, DRAFT or DEBUG).
920 1996-04-17 François Pinard <pinard@iro.umontreal.ca>
922 * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
924 1996-03-03 François Pinard <pinard@iro.umontreal.ca>
926 * Makefile.am (tar.dvi): Comment about needed makeinfo version.
927 Reported by Jonathan Thornburg.
929 1996-02-12 François Pinard <pinard@iro.umontreal.ca>
931 * Makefile.am: Replace TEXINFO by info_TEXINFOS for Automake 0.29.
933 1996-01-14 François Pinard <pinard@iro.umontreal.ca>
935 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
937 1996-01-08 François Pinard <pinard@iro.umontreal.ca>
939 * Makefile.am: New file.
940 * tar.texi: New name for tar.texinfo.
942 1995-12-30 François Pinard <pinard@iro.umontreal.ca>
944 * Makefile.in (check): New goal, doing nothing.
945 Reported by Cesar Romani, Joachim Seelig, Mark Bynum and Ulrich
948 1995-11-29 François Pinard <pinard@iro.umontreal.ca>
950 * Makefile.in (clean): Remove tmp-* files.
952 1995-11-27 François Pinard <pinard@iro.umontreal.ca>
954 * Makefile.in: Use -I$(srcdir) with makeinfo, and -otmp-tar.info
955 so tar.info in build directory does not shadow the real one.
956 (tar.dvi): Depend on version.texi. Add $(srcdir) to TEXINPUTS so
957 texinfo.tex is found, as texi2dvi gets no clue from the file name.
958 (DISTFILES): Also distribute tar.info-8.
960 1995-11-22 François Pinard <pinard@iro.umontreal.ca>
962 * Makefile.in (DISTFILES): Distribute ChangeLog.
963 * ChangeLog: New file, extracted from top-level ChangeLog.
965 1995-06-22 François Pinard <pinard@iro.umontreal.ca>
967 * Makefile.in: Get rid of docwarn.texi, now replaced by
968 the @UNREVISED macro, right into tar.texinfo.
970 1995-06-18 François Pinard <pinard@iro.umontreal.ca>
972 * Makefile.in (tar.dvi): First macro-expand tar.texinfo.
974 1995-06-07 François Pinard <pinard@iro.umontreal.ca>
976 * Makefile.in: Use subdir and distdir.
978 1995-06-03 François Pinard <pinard@iro.umontreal.ca>
980 * tar.texinfo: Use header.texi.
981 * Makefile.in: Prepare header.texi from src/tar.h.
984 1995-05-28 François Pinard <pinard@iro.umontreal.ca>
986 * Makefile.in (DISTFILES): Add tar.info-3.
987 Reported by Bruno Haible.
989 1995-02-22 François Pinard <pinard@iro.umontreal.ca>
991 * Makefile.in: Replace `date' by `echo timestamp'.
993 1995-02-13 François Pinard <pinard@iro.umontreal.ca>
995 * Makefile.in: Use top_srcdir.
997 1995-02-05 François Pinard <pinard@iro.umontreal.ca>
999 * Makefile.in (maintainer-clean): New name for realclean.
1001 1994-12-03 François Pinard <pinard@iro.umontreal.ca>
1003 * Makefile.in (DISTFILES): Include docwarn.texi.
1005 1994-11-07 François Pinard <pinard@iro.umontreal.ca>
1007 * Makefile.in (stamp-vti): Use new -r option to date.
1009 1994-11-05 François Pinard <pinard@iro.umontreal.ca>
1011 * Makefile.in (realclean): Also remove stamp-vti.
1013 1994-09-14 François Pinard <pinard@iro.umontreal.ca>
1015 * Makefile.in: Cleanup...
1016 (texclean): Deleted, merged into mostlyclean.
1017 (Makefile): Have ./config.status create this Makefile only.
1019 1994-08-30 François Pinard <pinard@iro.umontreal.ca>
1021 * Makefile.in (tar.info): Make the documentation in the source
1024 1994-08-21 François Pinard <pinard@iro.umontreal.ca>
1026 * Makefile.in: Correct for when a different build directory.
1028 * docwarn.texi: New file.
1029 * Makefile.in: Distribute it.
1031 1994-08-17 François Pinard <pinard@iro.umontreal.ca>
1033 * Makefile.in: New file.
1034 * tar.texinfo: New file.
1035 * texinfo.tex: New, from elsewhere.
1038 ----- lib/ChangeLog -----
1040 1997-04-25 François Pinard <pinard@iro.umontreal.ca>
1044 1997-04-16 François Pinard <pinard@iro.umontreal.ca>
1048 The distribution did not have getdate.c updated:
1049 * Makefile.am (libtar_a_SOURCES): Use getdate.y, not getdate.c.
1050 (EXTRA_DIST): Do not include getdate.y anymore.
1051 * getdate.c: Specify $(srcdir)/, to silence GNU make.
1052 Reported by Bruno Haible.
1054 1997-04-15 François Pinard <pinard@iro.umontreal.ca>
1056 * Makefile.am (getdate.c): Announce 13 conflicts, not 10.
1057 Reported by Bruno Haible, Bryant Fujimoto and Wolfram Wagner.
1059 1997-04-11 François Pinard <pinard@iro.umontreal.ca>
1063 * getdate.h: New file.
1064 * Makefile.am: Adjusted.
1066 1997-04-10 François Pinard <pinard@iro.umontreal.ca>
1068 * modechange.c, modechange.h: New files.
1069 * Makefile.am: Adjusted.
1071 1997-02-25 François Pinard <pinard@iro.umontreal.ca>
1073 * Makefile.am: Adapt library name to Automake 1.1l.
1075 1996-11-09 François Pinard <pinard@iro.umontreal.ca>
1077 * Prerelease 1.11.14.
1079 * basename.c: New file.
1081 1996-11-09 François Pinard <pinard@iro.umontreal.ca>
1083 * Prerelease 1.11.13.
1085 * Makefile.am: Use tar_DEPENDENCIES. Avoid BUILT_SOURCES,
1086 put getdate.c instead of getdate.y in tar_SOURCES and keep
1087 getdate.c in EXTRA_DIST.
1089 1996-11-06 François Pinard <pinard@iro.umontreal.ca>
1091 * argmatch.c, argmatch.h, backupfile.c, backupfile.h, dirname.c,
1092 getversion.c: New files.
1093 * Makefile.am: Adjusted.
1094 Reported by Marty Leisner.
1096 1996-10-31 François Pinard <pinard@iro.umontreal.ca>
1098 * safe-stat.h: Deleted.
1099 * Makefile.am (noinst_HEADERS): Adjusted.
1100 Reported by Jim Meyering.
1102 1996-09-20 François Pinard <pinard@iro.umontreal.ca>
1104 * regex.c, regex.h, rx.c, rx.h: Deleted.
1105 * Makefile.am: Adjusted.
1107 1996-09-19 François Pinard <pinard@iro.umontreal.ca>
1109 * Prerelease 1.11.12.
1111 * execlp.c: Include stdio.h, not only stdio!
1113 1996-09-16 François Pinard <pinard@iro.umontreal.ca>
1115 * open3.h: File deleted after being merged into system.h.
1116 * open3.c: File deleted, moved back into src/.
1117 * Makefile.am: Adjusted.
1118 Reported by Jim Meyering.
1120 1996-08-24 François Pinard <pinard@iro.umontreal.ca>
1122 * Makefile.am (EXTRA_DIST): $(BUILT_SOURCES) is no longer
1123 necessary, as Automake now handles it automatically.
1125 1996-07-16 François Pinard <pinard@iro.umontreal.ca>
1127 * Prerelease 1.11.11.
1129 * Makefile.am (EXTRA_DIST): Move stpcpy.c there, from tar_SOURCES.
1130 Reported by Ulrich Drepper.
1132 1996-04-17 François Pinard <pinard@iro.umontreal.ca>
1134 * Prerelease 1.11.10.
1136 * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
1138 1996-02-28 François Pinard <pinard@iro.umontreal.ca>
1140 * msleep.c: New file, from elsewhere.
1141 * Makefile.am: Adjusted.
1143 1996-02-12 François Pinard <pinard@iro.umontreal.ca>
1145 * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
1147 1996-01-14 François Pinard <pinard@iro.umontreal.ca>
1149 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
1151 1996-01-07 François Pinard <pinard@iro.umontreal.ca>
1153 * Makefile.am: Add parts of previous Makefile.in as FIXME comments.
1155 1996-01-01 François Pinard <pinard@iro.umontreal.ca>
1157 * error.h: New file, from elsewhere.
1158 * Makefile.am: Add error.h to HEADERS.
1159 Reported by Jim Meyering.
1161 1995-12-30 François Pinard <pinard@iro.umontreal.ca>
1163 * Makefile.am (INCLUDES): Add -I../intl to get libintl.h.
1164 Reported by Daniel S. Barclay, Göran Uddeborg, Jonathan Thornburg
1167 1995-12-29 François Pinard <pinard@iro.umontreal.ca>
1169 * Prerelease 1.11.9.
1171 * Makefile.am: New file.
1173 1995-11-22 François Pinard <pinard@iro.umontreal.ca>
1175 * Makefile.in (DISTFILES): Distribute ChangeLog.
1176 * ChangeLog: New, extracted from the top-level ChangeLog.
1178 1995-06-18 François Pinard <pinard@iro.umontreal.ca>
1180 * execlp.c (execlp): New, extracted from src/port.c.
1181 * Makefile.in: Adjusted.
1183 * open3.h: New, moved from src/.
1184 * open3.c: New, extracted from src/port.c.
1185 * Makefile.in: Adjusted.
1186 Clean out old NO_OPEN3 code.
1188 * insremque.h, insremque.c: Deleted.
1189 * Makefile.in: Adjusted.
1191 1995-06-17 François Pinard <pinard@iro.umontreal.ca>
1193 * Makefile.in (DISTFILES): Remove COPYING.LIB.
1194 * COPYING.LIB: Deleted.
1196 1995-06-15 François Pinard <pinard@iro.umontreal.ca>
1198 * Makefile.in (dist): Do not hide copying rule.
1200 1995-06-07 François Pinard <pinard@iro.umontreal.ca>
1202 * Makefile.in: Use subdir and distdir.
1204 * stpcpy.c, xgetcwd.c: New functions needed by gettext.
1205 * Makefile.in: Adjusted to always compile these.
1207 1995-05-16 François Pinard <pinard@iro.umontreal.ca>
1209 * insremque.h, insremque.c: New files, from GNU gettext.
1210 * Makefile.in: Take care of insremque.[hc].
1212 1995-03-19 François Pinard <pinard@iro.umontreal.ca>
1214 * Makefile.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
1216 1995-02-19 François Pinard <pinard@iro.umontreal.ca>
1218 * Makefile.in: Support ID files. Do not distribute TAGS.
1220 1995-02-05 François Pinard <pinard@iro.umontreal.ca>
1222 * Makefile.in (maintainer-clean): New name for realclean.
1224 1994-12-18 François Pinard <pinard@iro.umontreal.ca>
1226 * safe-stat.h: New, from elsewhere. This solves the fact that
1227 mkdir.c, rmdir.c and rename.c were needing it.
1228 * Makefile.in (Makefile): Distribute it.
1229 Reported by Bruno Haible and Sherwood Botsford.
1231 1994-12-11 François Pinard <pinard@iro.umontreal.ca>
1233 * rx.c, rx.h: New, from elsewhere.
1234 * Makefile.in: Adjust accordingly.
1236 1994-12-03 François Pinard <pinard@iro.umontreal.ca>
1238 * Makefile.in: Localize, adapting from how it is done in sharutils.
1240 1994-09-14 François Pinard <pinard@iro.umontreal.ca>
1242 * Makefile.in: Cleanup...
1243 (DISTFILES): Distribute TAGS.
1245 (TAGS): Make TAGS in $(srcdir) only.
1246 (distclean): Do not remove TAGS.
1247 (realclean): Remove TAGS.
1248 (Makefile): Have ./config.status create this Makefile only.
1250 1994-08-22 François Pinard <pinard@iro.umontreal.ca>
1252 Little cleanup in installation:
1253 * Makefile.in (install, check): Depend on all.
1255 1994-08-21 François Pinard <pinard@iro.umontreal.ca>
1257 * Makefile.in: Correct for when a different build directory.
1259 * rmdir.c: New, split out of mkdir.c.
1260 * Makefile.in: Distribute it.
1261 Reported by Greg Black.
1263 1994-08-17 François Pinard <pinard@iro.umontreal.ca>
1265 * ftruncate.c: Revised, because there is no ftruncate
1266 capability whatsoever in Interactive Unix.
1267 Reported by Peder Chr. Norgaard.
1269 1994-08-08 François Pinard <pinard@iro.umontreal.ca>
1270 * memset.c, mkdir.c, rename.c, strstr.c and
1271 ftruncate.c: New, from elsewhere.
1272 * Makefile.in: Distribute them.
1274 1994-08-05 François Pinard <pinard@iro.umontreal.ca>
1276 * Makefile.in (getdate.c): Tell the installer to expect 10
1277 shift/reduce conflicts instead of 9.
1278 Reported by Andreas Schwab.
1280 * fileblocks.c: New, from elsewhere.
1281 * Makefile.in: Distribute it.
1283 1994-08-02 François Pinard <pinard@iro.umontreal.ca>
1285 * xstrdup.c: New, from elsewhere.
1286 * Makefile.in: Adjusted.
1288 1994-07-29 François Pinard <pinard@iro.umontreal.ca>
1290 * error.c: Add error_print_progname virtual routine.
1292 1994-07-24 François Pinard <pinard@iro.umontreal.ca>
1294 * gmalloc.c: New, from elsewhere. This renames and updates
1295 what was previously malloc.c. This also solves __const vs const.
1296 * Makefile.in: Distribute gmalloc.c.
1297 Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman,
1298 J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
1300 1994-07-22 François Pinard <pinard@iro.umontreal.ca>
1302 * Makefile.in (LIBOBJS): Get configured list of replacements.
1303 * fnmatch.h: Undefine FNM_PATHNAME and FNM_PERIOD, for HP-UX
1304 defines them in <unistd.h>.
1306 * getdate.y: Acknowledging here a few reports which are
1307 likely solved by going to an updated version of getdate.y.
1308 Reported by Andrey A. Chernov, Bruce Evans, Dean Gaudet, Ian
1309 T. Zimmerman, Jeff Prothero, Mike Nolan, Milan Hodoscek, Peder
1310 Chr. Norgaard, Sarah Quady, Tarang Kumar Patel and Thomas
1313 1994-07-02 François Pinard <pinard@iro.umontreal.ca>
1315 * xmalloc.c: New file, from elsewhere.
1316 * error.c: New, from elsewhere.
1317 * Makefile.in: Adjusted.
1319 1994-06-30 François Pinard <pinard@iro.umontreal.ca>
1321 * Makefile.in: New file.
1324 ----- po/ChangeLog -----
1326 1997-04-25 François Pinard <pinard@iro.umontreal.ca>
1330 1997-04-18 François Pinard <pinard@iro.umontreal.ca>
1334 * fr.po: Updated file.
1336 1997-04-11 François Pinard <pinard@iro.umontreal.ca>
1340 1997-03-26 François Pinard <pinard@iro.umontreal.ca>
1344 1997-02-14 François Pinard <pinard@iro.umontreal.ca>
1346 * pl.po: Updated file.
1348 1996-11-22 François Pinard <pinard@iro.umontreal.ca>
1350 * POTFILES.in: Add src/common.h.
1351 Reported by Christian Kirsch.
1353 1996-11-18 François Pinard <pinard@iro.umontreal.ca>
1355 * Prerelease 1.11.14.
1357 * POTFILES.in: Adjust for changes in src/.
1359 1996-09-05 François Pinard <pinard@iro.umontreal.ca>
1361 * Prerelease 1.11.12.
1365 1995-06-17 François Pinard <pinard@iro.umontreal.ca>
1369 * Makefile.in (.po.gmo): Force moving the created .gmo file to
1370 $(srcdir), in case it was not already found and replaced there.
1371 (install-data): Find files in $(srcdir) if not in current dir,
1372 because .gmo files are taken there, right out the distribution.
1373 * intl/Makefile.in (DISTFILES): Ensure an all ready stamp-cat-id
1374 and cat-id-tbl.c into the distribution.
1375 (stamp-cat-id): Rewrite rule so it replaces files in $(srcdir),
1376 remove a useless rm and cat.
1378 * intl/cat-compat.c, int/gettext.h, intl/po-to-tbl.sed,
1379 Makefile.in: Last minutes additions, and glimpses to the future
1381 Reported by Ulrich Drepper.
1383 * Makefile.in (install-data, uninstall): Avoid using basename.
1385 1995-06-15 François Pinard <pinard@iro.umontreal.ca>
1387 * Makefile.in (dist): Comment out tupdate action for now, it
1388 needs more tweeking before being distributed active.
1390 * intl/Makefile.in (dist), Makefile.in (dist): Correct
1391 missing reference to $(srcdir) on cp call, also avoid outputting
1392 clutter while doing the work.
1394 * intl/Makefile.in: Use top_srcdir for referring to $(PACKAGE).pot.
1396 * Makefile.in (.po.gmo): Get around what seems to be an msgfmt
1397 bug, which adds .mo even to FILE in `-o FILE'.
1399 * intl/Makefile.in, Makefile.in: Adjustments to NLS, so .sed
1400 scripts may now all reside in intl/.
1402 1995-06-07 François Pinard <pinard@iro.umontreal.ca>
1404 * POTFILES: New file.
1405 * Makefile.in: Use POTFILES instead of TRANSCSRCS, also use
1408 * intl/linux-msg.sed, intl/po-to-tbl.sed, intl/xopen-msg.sed: New
1409 files, all taken from gettext 0.6.
1411 1995-06-05 François Pinard <pinard@iro.umontreal.ca>
1413 * intl/*: New from GNU gettext 0.6, replacing the previous
1414 version of this directory. This change should solve many problems.
1416 Reported by Bruno Haible, Christopher Vickery, Jan Carlson,
1417 Jean-Philippe Martin-Flatin, John David Anglin, Joseph E.
1418 Sacco, Kaveh R. Ghazi, Kurt Jaeger, Mark W. Eichin, Marty
1419 Leisner, Minh Tran-Le, Stephen Saroff, Thomas Koenig, Thomas
1420 Krebs and William Bader.
1422 1995-05-16 François Pinard <pinard@iro.umontreal.ca>
1424 * intl/Makefile.in, Makefile.in: Many adjustments for GNU gettext.
1426 1995-05-09 François Pinard <pinard@iro.umontreal.ca>
1428 * Makefile.in: New file.
1429 * de.po, fr.po, pt.po, sv.po: New files, adapted from
1430 the corresponding .tt files in src/.
1432 1995-05-08 François Pinard <pinard@iro.umontreal.ca>
1434 * intl/*: New, from nlsutils.
1436 1995-01-09 François Pinard <pinard@iro.umontreal.ca>
1438 * src/de.tt: New file, for Swedish.
1439 Reported by Jan Djarv.
1441 1994-12-10 François Pinard <pinard@iro.umontreal.ca>
1443 * de.tt: New file, for German.
1444 Reported by Ulrich Drepper.
1447 ----- scripts/ChangeLog -----
1449 1997-04-24 François Pinard <pinard@iro.umontreal.ca>
1453 * level-1, level-0: Replace --block-size by --blocking.
1455 1996-04-17 François Pinard <pinard@iro.umontreal.ca>
1457 * Prerelease 1.11.10.
1459 * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
1461 1996-01-14 François Pinard <pinard@iro.umontreal.ca>
1463 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
1465 1996-01-08 François Pinard <pinard@iro.umontreal.ca>
1467 * Makefile.am: New file.
1469 1995-12-31 François Pinard <pinard@iro.umontreal.ca>
1471 * Makefile.in (check, dvi): New goals, doing nothing.
1472 Reported by Cesar Romani and Ulrich Drepper.
1474 1995-06-21 François Pinard <pinard@iro.umontreal.ca>
1476 * Prerelease 1.11.9.
1478 * Makefile.in: Distribute the ChangeLog, now recovered!
1479 Reported by Andreas Schwab.
1481 1995-06-17 François Pinard <pinard@iro.umontreal.ca>
1485 * WARNING: New file.
1486 * Makefile.in (DISTFILES): Distribute it.
1488 1995-06-15 François Pinard <pinard@iro.umontreal.ca>
1490 * sripts/Makefile.in (dist): Do not hide copying rule.
1492 1995-06-07 François Pinard <pinard@iro.umontreal.ca>
1494 * Makefile.in: Use subdir and distdir.
1496 1995-02-05 François Pinard <pinard@iro.umontreal.ca>
1498 * Prerelease 1.11.7.
1500 * Makefile.in (maintainer-clean): New name for realclean.
1502 1994-12-03 François Pinard <pinard@iro.umontreal.ca>
1504 * Prerelease 1.11.6.
1506 * ChangeLog: Replaced by a warning for now. It has
1507 seemingly been overwritten by the weekly script :-(.
1509 * Makefile.in (dist): Correct .../examples to .../scripts.
1511 1994-09-14 François Pinard <pinard@iro.umontreal.ca>
1513 * Makefile.in: Cleanup...
1515 (Makefile): Have ./config.status create this Makefile only.
1517 1994-06-30 François Pinard <pinard@iro.umontreal.ca>
1519 * Prerelease 1.11.5.
1521 * ChangeLog: Initialized by moving entries related to
1522 scripts out of this ChangeLog.
1524 1993-11-24 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1526 * dump-remind: Send mail notification to the original recipients
1527 that the dump has been continued when that is the case.
1529 1993-03-31 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1531 * level-0, level-1 (LOGFILE): Put logfile in `log' subdirectory.
1533 1993-03-28 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1535 * dump-remind (volno): Don't increment by one.
1537 1993-03-25 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1539 * level-0, level-1 (TAR_PART1): Use `--block-size', not just
1540 `--block', which is now ambiguous.
1542 1993-03-24 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1544 * backup-specs (TAR): New variable.
1546 * level-0, level-1 (TAR_PART1): Get path of GNU tar from `TAR'
1547 variable, don't hardcode it.
1549 1993-03-20 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1551 * backup-specs (SLEEP_MESSAGE): put backslashes in front of nested
1554 * level-0, level-1 (BACKUP_DIRS): Don't put in quotes.
1555 (LOGFILE): Use sed to construct name, not awk.
1557 * dump-remind (recipients): Replaced inefficient pipeline with a
1558 single, simple sed script.
1559 (volno): Deal with the possibility that VOLNO_FILE may not be
1562 1993-03-19 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
1564 * backup-specs (VOLNO_FILE): Removed abusive comment by Noah.
1566 1993-03-18 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1568 * Makefile.in (AUX): Include `dump-remind' in distribution.
1570 * backup-specs (SLEEP_MESSAGE): New variable.
1571 level-0, level-1: Use it instead of external `dont_touch' file.
1573 * level-0, level-1: Put most of the script in () and pipe
1574 everything from the subshell through tee -a $LOGFILE. Since you
1575 really want most of the output to go to the logfile anyway, and
1576 since all those pipelines were preventing one from getting the
1577 exit status of most commands, this seems like the right idea.
1579 * level-0, level-1 (LOGFILE): Use YYYY-MM-DD (all numeric) format
1580 for log file name, since that makes the file names sortable in a
1581 coherent way. Suffix should always be `level-n' where n is the
1582 dump level. level-0 script was just using `-full' instead.
1584 * level-0, level-1 (DUMP_LEVEL): New variable. Set to `0' or `1'
1585 in each script as appropriate.
1587 * level-0, level-1 (HOST): Renamed to `localhost' for clarity.
1588 (host): renamed to `remotehost' for clarity.
1590 * level-0, level-1 (startdate): New variable. Use it in Subject
1591 line of mailed report.
1593 * level-0, level-1: Fixed all instances where sed is called with a
1594 script on the command line to use `-e' option.
1596 * level-0, level-1: Don't try to call logfile.sed to filter
1597 LOGFILE. It's not distributed with tar and was never really used
1600 * level-0, level-1: Put quotes around most variable names (barring
1601 those that are known to intentionally contain text that should be
1602 expanded into multiple words, like `TAR_PART1').
1604 * level-0, level-1: Got rid of annoying trailing backslashes in awk
1605 scripts. They were gratuitous. Made them a little more readable
1606 by adding some whitespace.
1608 1992-10-21 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1610 * level-0, level-1: put curly braces around variables for clarity.
1612 * backup-specs (DUMP_REMIND_SCRIPT): define it (but commented out
1613 so that distributed dump scripts won't use it by default).
1614 level-0, level-1 (TAR_PART1): use --info-script if
1615 DUMP_REMIND_SCRIPT is defined.
1616 dump-remind: new file (intended as an example).
1618 1992-10-15 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1620 * level-0, level-1: remove $LOGFILE.tmp files before exiting.
1622 1992-09-24 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
1624 * level-0, level-1 (TAR_PART1): remove --atime-preserve
1625 because of a total screw.
1627 1992-09-10 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1629 * level-0, level-1 (TAR_PART1): put --atime-preserve inside quotes.
1631 1992-09-09 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
1633 * level-0, level-1 (TAR_PART1): Use --atime-preserve.
1635 1992-07-10 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
1637 * level-0, level-1: Avoid silly Sun awk lossage.
1639 1992-04-30 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1641 * level-1: Added `$' before VOLNO_FILE in definition of TAR_PART1.
1642 Added line to remove $VOLNO_FILE from any previous dump before
1645 * level-0, level-1: Change long options to use `--' instead of `+'
1646 (support for `+' will go away soon)
1648 1991-10-17 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
1650 * level-0: Repair damage from previous mod: stdin to rsh must
1651 be the terminal or tar's questions lose.
1653 1991-08-31 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1655 * level-0: Fixed several syntax errors associated with
1656 stdout/stderr redirection.
1657 Made sure remote host executes commands from sh where redirection
1658 is necessary, since root's shell might be csh in some places and
1659 the redirect syntax differs.
1661 1991-07-01 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
1663 * Fix a misplaced quote in level-0 and change some >& into
1667 ----- src/ChangeLog -----
1669 1997-04-25 François Pinard <pinard@iro.umontreal.ca>
1673 * tar.c (main): Attempt to clarify the delayed error exit message.
1674 Reported by Richard Stallman.
1676 * list.c (decode_mode): New name for demode.
1678 * list.c (read_and): Set current_stat.st_mtime before testing it.
1679 Reported by Sven Verdoolaege.
1681 1997-04-24 François Pinard <pinard@iro.umontreal.ca>
1683 * create.c (dump_file): Before asserting that we cannot access
1684 a directory, make sure tar is not installed suid root.
1685 Reported by Dietmar Braun.
1687 * misc.c (quote_copy_string): Undo 1996-05-02 change, meant for
1688 the file mangler, now obsolete. This will do neater listings.
1689 Reported by Max Hailperin and Noah Friedman.
1691 * buffer.c, incremen.c, misc.c, tar.c: Replace dangling semicolons
1692 by continue; or break; depending on context.
1693 Reported by Robert E. Brown.
1695 1997-04-23 François Pinard <pinard@iro.umontreal.ca>
1697 * arith.c (add_to_tarlong_helper): Compare a superdigit against a
1698 value, rather than an unsigned sum against zero.
1699 Reported by Bruno Haible.
1701 * misc.c (quote_copy_string): Replace many if's by a switch.
1703 1997-04-22 François Pinard <pinard@iro.umontreal.ca>
1707 * extract.c (extract_archive): Check if directory extraction was
1708 attempted over an existing directory before attempting recovery,
1709 so avoiding extraction loops in cases like DIR/../DIR.
1710 Reported by Marc Boucher.
1712 * delete.c (delete_archive_members): New name for junk_archive.
1713 * common.h, tar.c (main): Adjusted.
1715 1997-04-20 François Pinard <pinard@iro.umontreal.ca>
1717 * tar.c (usage): Update comment about --mode.
1719 1997-04-19 François Pinard <pinard@iro.umontreal.ca>
1721 * buffer.c: Include <fnmatch.h> if necessary.
1722 Reported by Bruno Haible.
1724 * common.h: Declare write_dir_file for incremen.c.
1725 Reported by Bruno Haible.
1727 * incremen.c (get_directory_contents): Nest an assignment and test
1728 within another set of aesthetical parentheses.
1729 Reported by Bruno Haible.
1731 * tar.c (check_octal): Deleted.
1732 Reported by Bruno Haible.
1734 * buffer.c (flush_archive): Add one impossible switch case.
1735 * delete.c (junk_archive): Add two impossible switch cases.
1736 * list.c (read_and): Add one impossible switch case.
1737 * update.c (update_archive): Add two impossible switch cases.
1738 Reported by Bruno Haible.
1740 * names.c (name_gather): Explicitly declare allocated_length as
1741 an int, do not imply it.
1742 Reported by Bruno Haible.
1744 1997-04-18 François Pinard <pinard@iro.umontreal.ca>
1748 * Makefile.am (tar._o, rmt._o): Revise rules further.
1749 Reported by Bruno Haible and Ken Steube.
1751 1997-04-16 François Pinard <pinard@iro.umontreal.ca>
1753 * arith.h: Prefer a single long over a long long, if possible.
1754 Also reject long long if it is not long enough :-).
1755 Reported by Bruno Haible.
1757 1997-04-15 François Pinard <pinard@iro.umontreal.ca>
1759 * buffer.c, tar.c, update.c, common.h: Replace _COMMAND suffixed
1760 constants by _SUBCOMMAND suffixed. Rename enum command by
1761 enum subcommand, main_command_option by subcommand_option and
1762 set_main_command_option by set_subcommand_option.
1764 * create.c (dump_file): Remove badperror label, call WARN
1765 explicitly at the two other needed places instead. Remove
1766 badfile label, expand the proper code at the three other
1767 needed places instead. Delete the critical_error flag, just
1768 set exit_status to TAREXIT_FAILURE rather than setting this flag.
1770 1997-04-12 François Pinard <pinard@iro.umontreal.ca>
1772 * delete.c (move_archive): Declare it void.
1773 Reported by Bruno Haible and Kaveh R. Ghazi.
1775 1997-04-11 François Pinard <pinard@iro.umontreal.ca>
1779 * Makefile.am: Duplicate rules for the ansi2knr case.
1780 Reported by Kaveh R. Ghazi and Marcus Daniels.
1782 1997-04-10 François Pinard <pinard@iro.umontreal.ca>
1784 * common.h: Change mode_option from int to struct mode_change *.
1785 * tar.c (decode_option): Use mode_compile.
1786 * create.c (start_header): Use mode_adjust.
1788 1997-04-09 François Pinard <pinard@iro.umontreal.ca>
1790 * All: Replace all flag_ prefixed variables by _option suffixed.
1791 * tar.c: Replace OPTION_ prefixed macros by _OPTION suffixed.
1793 * buffer.c, tar.c, update.c, common.h: Replace COMMAND_ prefixed
1794 macros by _COMMAND suffixed, COMMAND_NONE by UNKNOWN_COMMAND,
1795 and delete TOO_MANY_COMMAND. Turn these into an enum and declare
1796 main_command_option of this enum type, to replace command_mode,
1797 which was an int, everywhere.
1798 * tar.c (decode_options): Initialise main_command_option.
1799 (set_main_command_option): New function to replace
1800 SET_COMMAND_MODE. Diagnostic ambiguous command as soon as seen.
1801 However, be forgiving if command has merely been repeated.
1803 * buffer.c, tar.c, common.h: Have info_script_option be at the
1804 same time a flag and the option value, no need for a separate
1805 info_script variable. Rename rsh_command to rsh_command_option,
1806 tape_length to tape_length_option, compress_program to
1807 use_compress_program_option, volno_file to volno_file_option.
1808 * tar.c (set_use_compress_program_option): New function.
1810 * buffer.c, names.c, tar.c, common.h: Have files_from_option
1811 be at the same time a flag and the option value, no need for
1812 a separate namefile_name variable.
1814 * buffer.c, create.c, tar.c, commun.h: Rename volume_label to
1815 volume_label_option.
1817 * incremen.c, tar.c, common.h: Rename gnu_dumpfile to
1818 listed_incremental_option. Let it unitialised for just incremental.
1819 * create.c (create_archive): No need to check both
1820 incremental_option and listed_incremental_option, as the later
1821 implies the former already.
1823 * create.c, tar.c, common.h: Rename preset_owner to owner_option,
1824 preset_group to group_option and preset_mode to mode_option.
1826 * create.c, incremen.c, list.c, tar.c, commun.h: Have
1827 after_date_option be a Boolean instead of a three-valued flag.
1828 Rename threshold_time to newer_mdate_option, which may be looked
1829 at without checking after_date_option first, as threshold_time
1830 before. Make newer_cdate_option an alias for newer_mdate_option.
1832 1997-04-08 François Pinard <pinard@iro.umontreal.ca>
1834 * buffer.c: Use int after extern to declare time_to_start_writing.
1835 * extract.c: Use int after static to declare we_are_root.
1836 Reported by Ariel Faigon.
1838 1997-04-03 François Pinard <pinard@iro.umontreal.ca>
1840 * list.c (read_and): Use the proper enum constants in switch,
1841 instead of oldish and wrong numbers.
1842 Reported by Martin Mares.
1844 1997-04-01 François Pinard <pinard@iro.umontreal.ca>
1846 * arith.c [SUPERDIGIT] (zerop_tarlong, lessp_tarlong,
1847 clear_tarlong, add_to_tarlong, add_to_tarlong, mult_tarlong,
1848 print_tarlong): Rename all functions by adding a _helper suffix.
1849 * arith.h [SUPERDIGIT]: Replace function prototypes by macros,
1850 each calling the function with _helper appended, and extracting
1851 pointers out of the tarlong structures.
1852 Reported by Andrew A. Ivanov and Kaveh R. Ghazi.
1854 * buffer.c (child_open_for_compress): Copy all records coming out
1855 of the compressor, not only the last one.
1856 Reported by Alois Steindl, Mark Bynum, Martin Mares, Nelson
1857 H. F. Beebe, Scott J. Kramer and Torkel Hasle.
1859 1997-03-29 François Pinard <pinard@iro.umontreal.ca>
1861 * create.c (dump_file): Ignore unreadable directories when
1862 --ignore-failed-read.
1863 Reported by Ralph Schleicher.
1865 * create.c (deal_with_sparse): Chain the last partial zero block
1866 with the preceding data, do not try sparing it. This correction
1867 is approximative, as the whole thing should be rethought.
1868 Reported by Andreas Degert.
1870 1997-03-24 François Pinard <pinard@iro.umontreal.ca>
1872 * All: Rename head to current_header, hstat to current_stat, and
1873 header_format to current_format.
1874 * update.c (update_archive): Rename nstat to stat_data.
1875 * create.c: Do not extern hstat, as common.h does it.
1876 (deal_with_sparse): Get rid of amidst_data, since numbytes is
1877 already usable as a flag for the same thing.
1879 1997-03-21 François Pinard <pinard@iro.umontreal.ca>
1881 * names.c (name_gather): Do not declare static variables which
1882 do not need to be. Have allocated_length represent the full
1883 allocated length, instead of only the name part. It's clearer.
1884 (addname): Similar cleanups.
1886 1997-03-20 François Pinard <pinard@iro.umontreal.ca>
1888 * compare.c: Always call report_difference when there is a
1889 problem, so the exit status will be set in all cases. Build the
1890 message string if necessary, so avoiding stdargs/varargs.
1891 (report_difference): If NULL argument, just set the exit status
1892 without reporting a message. Move out the word `differs'
1893 in all callers, do not insert into an English message.
1894 (read_and_process): Return void, as the int result is never used.
1895 Assume processors returns nonzero for success and zero for
1896 failure, instead of 0 for success and -1 for error.
1897 (process_rawdata, process_dumpdir): Adjusted.
1899 * compare.c: Remove different as a global variable, it is useless.
1900 (diff_sparse_files): Make different a local variable, reinitialise
1901 it on each call. Otherwise, after any error elsewhere, all sparse
1902 files were always and falsely reported as erroneous.
1903 Reported by James E. Carpenter and Tim Towers.
1905 1997-02-25 François Pinard <pinard@iro.umontreal.ca>
1907 * tar.c: Adjust copyright years in --version output.
1909 * create.c (dump_file): Allow saving directories even with -o.
1910 Reported by Daniel Trinkle.
1912 1996-11-26 François Pinard <pinard@iro.umontreal.ca>
1914 * compare.c (verify_volume) [FDFLUSH]: Use fsync even in that case.
1915 Reported by Marty Leisner.
1917 1996-11-25 François Pinard <pinard@iro.umontreal.ca>
1919 * buffer.c (new_volume): Write file name in two words.
1920 * names.c (name_next): Idem.
1921 * buffer.c (flush_read): Speak of record size instead of blocksize.
1922 Reported by Christian Kirsch.
1924 1996-11-22 François Pinard <pinard@iro.umontreal.ca>
1926 * list.c (read_header): Return failure, instead of success,
1927 whenever checksums do not match.
1928 Reported by Marc Boucher and Marty Leisner.
1930 * incremen.c (get_directory_contents): Use stat_data instead of
1931 current_header for checking normal files. Otherwise, new or
1932 modified files in old directories were not dumped, that is, if a
1933 directory was older than the listed entry, it was skipped
1934 completely without checking the contained files.
1935 Reported by David Johnson, John David Anglin and Wolfram Wagner.
1937 * buffer.c (open_archive): When updating the archive, initialize
1938 the access variable with reading mode, not update mode.
1939 Reported by Andreas Schwab.
1941 * delete.c (junk_archive): Initially jump directly into the loop,
1942 so deleting a file after a big one will not destroying the archive.
1943 Reported by Akiko Matsushita, Andreas Schwab, Eric Backus, Jeff
1944 Siegel, Saul Lubkin, Stuart Kemp and Yasushi Suzudo.
1946 1996-11-19 François Pinard <pinard@iro.umontreal.ca>
1948 * incremen.c (get_directory_contents): Compute distance using the
1949 start of the proper buffer.
1950 Reported by David Johnson, Donald H. Locker, John David Anglin,
1951 Marc Boucher and Noah Friedman.
1953 * tar.c (usage): Revise the mandatory/optional sentence again.
1954 Reported by Karl Berry.
1956 1996-11-18 François Pinard <pinard@iro.umontreal.ca>
1958 * Prerelease 1.11.14.
1960 * tar.c (usage): Explain the purpose of the program.
1962 * tar.c (usage): Clarify the mandatory/optional sentence.
1963 Reported by Alex Schmidt.
1965 * system.h [HAVE_SYS_TAPE_H]: Include sys/buf.h if it exists, to
1966 avoid many warnings on BSD/OS.
1967 Reported by Dan Reish.
1969 1996-11-11 François Pinard <pinard@iro.umontreal.ca>
1971 * incremen.c (write_directory_file): Renamed from write_dir_file.
1972 (get_directory_contents): Renamed from get_dir_contents.
1973 * common.h: Adjusted.
1975 * all: Cleanup around local variables, renaming them more
1976 appropriately, using initializers when natural, and moving them
1977 closer to the blocks where they are used.
1979 A bit of reorganisation in the sources:
1980 * common.h: New file, for holding all GNU tar specific definitions,
1981 which were previously held in tar.h.
1982 * tar.h: Now limited to the archive format description only.
1983 * all: Include common.h instead of tar.h.
1984 * delete.c: New file, holding delete code out of update.c.
1985 * update.c: Now limited to appending type of commands.
1986 * compare.c: New name for diffarch.c.
1987 * incremen.c: New name for increm.c.
1988 * names.c: Moved over all name processing from tar.c.
1989 * tar.c, common.h: Adjusted.
1990 * Makefile.am: Adjusted.
1992 * system.h (lstat) [!S_ISLNK]: Define as stat.
1993 * create.c, diffarch.c, increm.c: Remove similar definitions.
1995 * tar.c: Merge --version-control into --backup, make it obsolete.
1997 1996-11-10 François Pinard <pinard@iro.umontreal.ca>
1999 * all: Add a FIXME comment everywhere errno is modified by tar.
2001 * buffer.c (new_volume): Return nonzero/zero for success/failure,
2002 instead of zero/negative. Callers adjusted. Use xstrdup on
2003 file name given by user with the answer "n", so avoiding the
2004 apparently useless allocation of one extra byte. Avoid using p.
2006 * buffer.c: Add DEBUG_FORK conditional code.
2007 Reported by Thomas König and Ulrich Drepper.
2009 * misc.c (maybe_backup_file): In the renaming message, say that
2010 the previous file is being renamed, not the newly extracted one.
2012 * buffer.c (backspace_output): Change return type to void, since
2013 returned values were never used.
2014 * update.c (move_arch): Idem.
2015 (xdup2): New name for redirect, order of arguments was not natural.
2017 1996-11-09 François Pinard <pinard@iro.umontreal.ca>
2019 * all: Remove all white lines between open braces and comments.
2021 * tar.h: Declare access_mode as an enum and as a variable.
2022 Adjust declaration of open_archive.
2023 * buffer.c: (open_archive, new_volume): Use access instead of
2024 reading. Callers adjusted for using enum access_mode arguments.
2025 (flush_archive, close_archive): Use access_mode, and cleanup.
2026 * diffarch.c (verify_volume): Use access_mode.
2028 * buffer.c (child_open_for_compress, child_open_for_uncompress):
2029 Split of previous child_open_for_compress. Clean up.
2030 (open_archive): Adjusted for calling the proper function above.
2032 1996-11-09 François Pinard <pinard@iro.umontreal.ca>
2034 * Prerelease 1.11.13.
2036 * tar.c (usage): Do not tie --posix anymore to 1.12.
2038 * extract.c (set_stat): Until we know better, for the time being,
2039 limit restoring symbolic link attributes to lchown only.
2041 * all: Mini clean up. Systematically set logical variables to
2042 one instead of auto-incrementing them (PDP-11 time is over by
2043 now! :-). Replace some single letter counters or cursors by
2044 variables named counter or cursor. Simplify a few C constructs.
2046 * buffer.c, tar.h: Delete read_error_flag, set but never used.
2047 Rename r_error_count to read_error_count.
2049 * create.c (clear_buffer): Use memset instead of explicit loop.
2050 (zero_block_p): Renamed from zero_block, callers adjusted.
2052 1996-11-07 François Pinard <pinard@iro.umontreal.ca>
2054 * rmt.c (private_strerror): Add const's to sys_errlist declaration.
2055 Reported by Fabio d'Alessi.
2057 1996-11-06 François Pinard <pinard@iro.umontreal.ca>
2059 * tar.h: Add OPTION_BACKUP, OPTION_SUFFIX, OPTION_VERSION_CONTROL.
2060 Renumber options from 3 instead of from 10. Declare flag_backup.
2061 * tar.c: Include backupfile.h. Implement --backup, --suffix and
2062 --version-control decoding. Adjust usage documentation.
2064 * misc.c (maybe_backup_file, un_backup_file): New functions.
2066 * buffer.c (child_open_for_compress, open_archive, new_volume):
2067 Use the new functions.
2068 * extract.c (extract_archive): Idem.
2069 Reported by Jeffrey Mark Siskind, Karl Berry, Karl Heuer, Marty
2070 Leisner, Melissa Weisshaus and William Bader.
2072 * misc.c (assign_string): Moved over from tar.c.
2075 1996-10-28 François Pinard <pinard@iro.umontreal.ca>
2077 * tar.h: Declare enum read_header, for return values of read_header.
2078 * diffarch.c (verify_volume): Adjusted.
2079 * list.c (read_and, read_header): Adjusted.
2080 * update.c (junk_archive, update_archive): Adjusted.
2081 * update.c: Rename prev_status to previous_status.
2082 * update.c (junk_archive): Delete found_stuff, use logical_status.
2084 1996-10-15 François Pinard <pinard@iro.umontreal.ca>
2086 * buffer.c (new_volume, open_archive): Soften messages.
2087 * create.c, extract.c: Add quotes around slashes in some messages.
2088 * tar.c (usage): Added a missing equal sign after --directory.
2089 Reported by Jan Djarv.
2091 1996-09-22 François Pinard <pinard@iro.umontreal.ca>
2093 * tar.c: Write --no-recursion instead of --no-recurse.
2094 Reported by Noah Friedman.
2096 1996-09-20 François Pinard <pinard@iro.umontreal.ca>
2098 * tar.h: Delete label_pattern.
2099 * tar.c (main): Do not compile anymore volume_label as a regexp.
2100 (usage): Document --label as accepting a globbing pattern.
2101 * buffer.c, tar.c: Do not include regex.h neither rx.h.
2102 * buffer.c (check_label_pattern): New function.
2103 (open_archive, flush_read): Use it, instead of re_match.
2105 * tar.c (decode_options): Better space --version output.
2107 1996-09-19 François Pinard <pinard@iro.umontreal.ca>
2109 * Prerelease 1.11.12
2111 * Makefile.am (EXTRA_PROGRAMS): Compile rmt properly, instead of
2112 letting make use default .c to executable rule.
2114 * tar.c: Include getopt.h.
2117 * increm.c (get_dir_contents): Consider all NFS devices as equal
2118 before deciding that a directory was renamed, so automount will
2119 not fool GNU tar into spurious incremental redumping.
2120 Reported by Frank Koenen, Giorgio Signorini, Joachim Holzfuss,
2121 Konno Hiroharu, R. Kent Dybvig and Wolfram Wagner.
2123 * tar.c (usage): Add bug report address in --help output.
2124 (decode_options): Add copyright and authors in --version output.
2126 * increm.c: New name for gnu.c.
2127 * Makefile.am (tar_SOURCES): Adjusted.
2129 * gnu.c (init_buffer, add_buffer, get_buffer, flush_buffer): Moved
2130 over from misc.c. Deleted is_dot_or_dot_dot and remove_any_file.
2131 * misc.c (is_dot_or_dotdot, remove_any_file): Moved over from gnu.c.
2132 Deleted init_buffer, add_buffer, get_buffer and flush_buffer.
2135 1996-09-18 François Pinard <pinard@iro.umontreal.ca>
2137 * buffer.c (write_error): Obey --totals before aborting.
2138 Reported by Greg Chung.
2140 * buffer.c (read_error, write_error): Renamed from readerror and
2142 * tar.c (read_name_from_file): Rename c to character.
2144 1996-09-17 François Pinard <pinard@iro.umontreal.ca>
2146 * arith.h (tarlong): The typedef tarlong, when an array, is now
2147 wrapped inside a struct to avoid bugs in EWS 4.2 C compiler.
2148 * arith.c: Adjusted.
2149 Reported by Paul Eggert.
2151 * buffer.c: Declare archive_stat statically.
2152 (open_archive): Do not declare archive_stat locally.
2153 (close_archive): Limit archive draining to while reading a pipe.
2154 Reported by Andreas Schwab.
2156 1996-09-16 François Pinard <pinard@iro.umontreal.ca>
2158 * system.h: Define protected defaults for open parameter symbols.
2159 [EMUL_OPEN3]: Intercept open calls and redirect them to open3.
2160 * open3.c: New file, moved over from lib/. Merely include
2161 system.h rather than config.h, errno.h and open3.h.
2162 [EMUL_OPEN3]: The compilation of the file depends on this symbol.
2163 When it was in lib/, we were using LIBOBJS to control this.
2164 * Makefile.am: Adjusted.
2165 * extract.c: Don't call open3.h.
2166 Reported by Jim Meyering.
2168 1996-09-09 François Pinard <pinard@iro.umontreal.ca>
2170 * Makefile.am (libexec_PROGRAMS): Rely on @RMT@, not rmt.
2171 (bin_PROGRAMS): Do not include @RMT@.
2173 * gnu.c (remove_any_file): Protect value of errno in case
2174 of failure to remove a directory, in non-recursive mode.
2175 This should correct spurious diagnostics while extracting
2176 directories over already existing hierarchies.
2177 Reported by Martin Mares and Marty Leisner.
2179 1996-09-04 François Pinard <pinard@iro.umontreal.ca>
2181 * gnu.c (read_dir_file): Diagnose file names over PATH_MAX.
2182 (get_dir_contents, add_dir_name): Increase namebuf many times if
2183 this is needed to receive a loong file name.
2184 Reported by Carsten Heyl.
2186 * Makefile.am (tar.o, rmt.o): Special rules for defining
2187 LOCALEDIR, instead of having it defined on all compiles.
2189 * Makefile.am: Remove check related lines, moved over to tests/.
2191 1996-09-03 François Pinard <pinard@iro.umontreal.ca>
2193 * Makefile.am: Use genfile in check_PROGRAMS, not noinst_PROGRAMS.
2194 (check-local): Do not depend on genfile.
2196 1996-08-24 François Pinard <pinard@iro.umontreal.ca>
2198 * Makefile.am (EXTRA_DIST): Do not mention ansi2knr.1 nor
2199 ansi2knr.c, as Automake now handle them automatically.
2201 1996-07-18 François Pinard <pinard@iro.umontreal.ca>
2203 * arith.h: Include tar.h, not arith.h, so FATAL_ERROR is defined.
2204 [!SUPER_DIGIT]: Declare arguments to ..._tarlong routines as
2205 pointers to unsigned long and not arrays, for avoiding pointers
2206 to arrays, and nevertheless have arrays passed by reference
2207 rather than by value.
2208 * arith.c: Adjusted function headers accordingly.
2209 * buffer.c, tar.c: Removed address-of operators, using tarlongs.
2210 Reported by Christian T. Dum, Jim Meyering and Kaveh R. Ghazi.
2212 * arith.h [SUPER_DIGIT]: Avoid indirection in all macros for
2213 Accumulators. This, in particular, solves a bug where the pointer
2214 value itself was printed, rather than the pointed to value.
2215 Reported by Drew Sullivan and Wolfram Wagner.
2217 * Makefile.am (EXTRA_DIST): Include ansi2knr.[1c] for now.
2218 Reported by Christian T. Dum, Jim Meyering and Kaveh R. Ghazi.
2220 1996-07-17 François Pinard <pinard@iro.umontreal.ca>
2222 * Prerelease 1.11.11.
2224 * Makefile.am (check-local): Ensure relinking if the service
2225 libraries where modified (waiting for Automake to do it!).
2227 1996-07-16 François Pinard <pinard@iro.umontreal.ca>
2229 * rmt.c (strerror): It is a macro on some systems.
2230 Reported by Santiago Vila Doncel.
2232 1996-07-15 François Pinard <pinard@iro.umontreal.ca>
2234 * Prerelease 1.11.10.
2236 * checktar.sh: Use a more regular WARNING in message.
2238 1996-07-09 François Pinard <pinard@iro.umontreal.ca>
2240 * tar.h: Declare that unquote_string as returning int, not char *.
2241 * misc.c (unquote_string): New name for un_quote_string. Clean
2242 up a bit, return a boolean indicator for success, not a string.
2243 * gnu.c (read_dir_file), mangle.c (extract_mangle), tar.c
2244 (add_exclude): Callers adjusted, so they never use a NULL return
2245 as an actual string. In fact, the result of unquote_string is
2246 always used, even if the quoting was improper.
2247 Reported by Johan Vromans.
2249 1996-05-03 François Pinard <pinard@iro.umontreal.ca>
2251 * tar.h: Define TTY_NAME as a macro, instead of an external array.
2252 * tar.c: Remove declaration of TTY_NAME.
2254 * tar.h: Rename new_time to threshold time. Make it GLOBAL.
2255 * tar.c, create.c, gnu.c, list.c: Adjusted.
2256 (decode_options): Clarify -N and --newer-mtime decoding, ensure
2257 one of them is called at most, otherwise it would misbehave.
2259 1996-05-02 François Pinard <pinard@iro.umontreal.ca>
2261 * misc.c (quote_copy_string): Ensure spaces are backslash-quoted.
2262 Reported by Max Hailperin.
2264 * list.c (decode_header): Some clean up. Recognize POSIX archive
2265 headers, avoid fetching atime or ctime in this case.
2266 [!S_IFBLK || !S_IFCHR]: Ensure st_rdev is cleared appropriately.
2267 * tar.h: Rename head_standard to header_format, so turning an
2268 int to an enum archive_format. Adjust decode_header prototype.
2269 * diffarch.c, extract.c, list.c, update.c: Usages changed.
2270 * create.c: Ensure oldgnu_header is only used when OLDGNU_FORMAT.
2271 (Correction just starting to be made--will be comprehensive...)
2272 Reported by Anders Andersson, Bdale Garbee, Chris G Demetriou and
2275 * buffer.c, gnu.c, rtapelib.c, tar.c: Diagnose errors on fclose.
2276 Reported by Jim Meyering.
2278 1996-05-01 François Pinard <pinard@iro.umontreal.ca>
2280 * buffer.c (close_archive): If reading and the archive is
2281 finished, read until end of archive, for avoiding an error
2282 message from the upstream process if we are reading from a pipe.
2283 Reported by Bennett Todd, Dick Streefland, Don Bennett, Ian Lance
2284 Taylor, Jean-loup Gailly and Piercarlo Grandi.
2286 * create.c (dump_file): Add note about accuracy of st_blocks.
2287 Reported by Dick Streefland.
2289 * diffarch.c: Include <linux/fd.h> if it exists.
2290 (verify_volume): fsync, than ioctl(, FDFLUSH) first.
2291 Reported by Marty Leisner.
2293 1996-04-29 François Pinard <pinard@iro.umontreal.ca>
2295 * list.c (isotime): New function.
2296 (print_header) [!USE_OLD_CTIME]: Use it instead of ctime.
2297 Reported by Karl Berry and Markus Kuhn.
2299 1996-04-23 François Pinard <pinard@iro.umontreal.ca>
2301 * extract.c (set_stat): Accept a new parameter telling if this is
2302 a symbolic link. In this case, and if lchown exists, use it
2303 instead of chown. Callers adjusted.
2304 (extract_archive): Do call set_stat over restored symbolic links.
2305 Reported by Andreas Koppenhoefer, Bernard Derval, Ian Jackson,
2306 Matt Power, Warren Dodge and Wolfram Gloger.
2308 * extract.c (extr_init): If the umask was very restrictive at
2309 start of tar, nevertheless ensure we create intermediate
2310 directories with such permissions that we can at least add files
2312 (extract_archive): Same, but for final directory. Ensure
2313 directory attributes are restored in all cases.
2314 Reported by Piercarlo Grandi.
2316 * tar.c: Implement --owner, --group and --mode options.
2317 * tar.h: Declare preset_owner, preset_group and preset_mode.
2318 * create.c: Obey these variables.
2319 Reported by Ken Raeburn, Richard Stallman and Stephen Gildea.
2321 * create.c (dump_file): When wanting the length of the link
2322 name, use strlen, rather then doing wrong arithmetic giving
2323 the number of removed slashes at the beginning of it.
2324 Reported by Brian R. Smith.
2326 * create.c (start_header): Try removing leading slashes even for
2328 Reported by Art Isbell, Fritz Elfert and Robert E. Brown.
2330 * buffer.c (new_volume): Avoid calling closeout_volume_number if
2331 the --volno-file option was not specified, so avoiding crashes.
2332 * tar.c (usage): Document the --volno-file option.
2333 Reported by Christoph Litauer, Daniel S. Barclay, David Taylor,
2334 Erik D. Frederick, Larry Creech, Loïc Prylli, Loren J. Rittle,
2335 Marty Leisner, Neil Faulks, Paul Mitchell, Rocky Giannini, Roy
2336 Marantz, Sylvain Rougier, Timothy J. Lee and Werner Almesberger.
2338 1996-04-22 François Pinard <pinard@iro.umontreal.ca>
2340 * system.h (N_): Define marking macro for delayed translations.
2341 * rmt.c: Use N_ instead of _ for returned strings. It does not
2342 make sense translating messages in a remote process, not knowing
2343 the language in use in the local process.
2345 1996-04-18 François Pinard <pinard@iro.umontreal.ca>
2347 Instead of -UU for removing directories, request a long option.
2348 * tar.c: Implement --recursive-unlink.
2349 (usage): Document --recursive-unlink.
2350 (decode_options): Have --recursive-unlink imply --unlink-first.
2351 * tar.h: Declare --recursive-unlink.
2352 * extract.c (extract_archive): Use flag_recursive_unlink instead
2353 of flag_unlink_first > 1.
2354 Reported by Andreas Schwab.
2356 1996-04-17 François Pinard <pinard@iro.umontreal.ca>
2358 * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
2360 * tar.c (addname, name_gather): Zero out freshly allocated struct
2361 name, to prevent garbage to get into the structure.
2362 Reported by Jonathan Kamens.
2364 1996-03-28 François Pinard <pinard@iro.umontreal.ca>
2366 * create.c (dump_file): Cast %ld argument to (long).
2367 Reported by Constantin Belous and Jörgen Hägg.
2369 1996-03-21 François Pinard <pinard@iro.umontreal.ca>
2371 * tar.c (main): Return int, not void.
2372 Reported by Timothy J. Lee and Peter Seebach.
2374 1996-02-28 François Pinard <pinard@iro.umontreal.ca>
2376 * Makefile.am: Use RMT instead of PROGRAMS and noinst_HEADERS
2379 1996-02-12 François Pinard <pinard@iro.umontreal.ca>
2381 * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
2383 1996-02-03 François Pinard <pinard@iro.umontreal.ca>
2385 Ensure --totals work correctly for huge archives:
2386 * arith.h, arith.c: New files.
2387 * Makefile.am: Use arith.h and arith.c.
2388 * tar.h: Do not declare tot_written anymore, include "arith.h".
2389 * tar.c (main): Call init_total_written and print_total_written.
2390 * buffer.c: Rename tot_written to total_written, make it tarlong.
2391 (init_total_written, print_total_written): New routines.
2392 Reported by Albert W. Dorrington, Chris F.M. Verberne, David
2393 Martin, Eduardo Villasenor de Rivas, Greg Chung, Jim Meyering,
2394 John R. Vanderpool, Jon Lewis, Jörg Weule, Jörgen Hägg, Rod
2395 Thompson, Russell Cattelan, Ted Rule and Tor Lillqvist.
2397 Ensure --tape-length is usable for huge media:
2398 * tar.h: Declare tape_length as tarlong instead of int.
2399 * tar.c (decode_option): Decode tape_length as tarlong, and use
2400 its value pre-multiplied by 1024.
2401 * buffer.c (flush_write): Use bytes_written and tape_length as
2402 tarlongs. Declare bytes_written outside flush_write.
2403 (init_total_written): Zero out bytes_written as well.
2404 Reported by Dave Barr.
2406 1996-01-15 François Pinard <pinard@iro.umontreal.ca>
2408 * rtapelib.c (rmt_open__) [MSDOS]: Do not call setuid/setgid.
2409 Reported by Yasushi Suzudo.
2411 1996-01-14 François Pinard <pinard@iro.umontreal.ca>
2413 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits and ansi2knr.
2415 1996-01-08 François Pinard <pinard@iro.umontreal.ca>
2417 * create.c: Initialize linklist to NULL.
2418 Reported by Bradley A. Smith.
2420 1996-01-07 François Pinard <pinard@iro.umontreal.ca>
2422 * Makefile.am: Add parts of previous Makefile.in as FIXME comments.
2424 1996-01-03 François Pinard <pinard@iro.umontreal.ca>
2426 * tar.c (usage): Avoid an unescaped new line.
2427 Reported by Kaveh R. Ghazi and Mark Bynum.
2429 * system.h: Declare valloc if it exists and is not #defined.
2430 * create.c (start_header): Add missing DEFAULT_FORMAT case.
2431 * gnu.c (read_dir_file): Use NULL instead of (char *) 0.
2433 * Makefile.am: Install rmt in $(libexec), not in sbin.
2435 * tar.c (decode_options): Add a semicolon so default case is
2436 not completely empty, for better ANSI C compliance.
2437 Reported by John David Anglin, Kaveh R. Ghazi and Mark Bynum.
2439 1996-01-02 François Pinard <pinard@iro.umontreal.ca>
2441 * buffer.c (open_archive): Allocate real_s_name at run time
2442 instead of statically, because PATH_MAX is not always constant.
2443 Reported by Bruno Haible, John David Anglin, Jonathan Thornburg,
2444 Kaveh R. Ghazi, Martin Bellenberg, Marty Leisner, Nelson
2445 H. F. Beebe, Roland McGrath and Thomas König.
2447 * Makefile.am (DIST_OTHER): Distribute BACKLOG.
2448 Reported by Marty Leisner.
2450 1996-01-01 François Pinard <pinard@iro.umontreal.ca>
2452 * system.h: Include "error.h" instead of declaring error ().
2453 Reported by Jim Meyering.
2455 1995-12-31 François Pinard <pinard@iro.umontreal.ca>
2457 * Makefile.am: New file.
2459 1995-12-30 François Pinard <pinard@iro.umontreal.ca>
2461 * Makefile.in: Define LOCALEDIR in DEFS.
2462 * system.h [!ENABLE_NLS]: Add replacement for bindtextdomain.
2463 * tar.c (main): Add call to bindtextdomain.
2464 * rmt.c (main): Add calls to bindtextdomain and textdomain.
2465 Reported by Ulrich Drepper.
2467 * buffer.c, create.c, diffarch.c, gnu.c, list.c, rmt.h, system.h,
2468 tar.h, update.c: Replace __P by PARAMS, to respect ANSI C.
2469 * rtapelib.c, rmt.h: Replace all __rmt* symbols by rmt*__.
2471 1995-12-28 François Pinard <pinard@iro.umontreal.ca>
2473 * Prerelease 1.11.9.
2475 * extract.c (extr_init): Initialize variables in any case,
2476 instead of partly relying on static initializations. Remove
2477 static initializations for those variables.
2479 1995-12-24 François Pinard <pinard@iro.umontreal.ca>
2481 * extract.c (extract_archive): On systems not having symbolic
2482 links, attempt extracting symbolic links as hard links instead,
2483 as POSIX suggests. Emit a diagnostic on first occurrence.
2485 * extract.c (extract_archive): On systems not having contiguous
2486 files, continue extracting them as regular files as before, but
2487 emit a diagnostic on first occurrence.
2489 1995-12-23 François Pinard <pinard@iro.umontreal.ca>
2491 * tar.h: Declare remove_any_file.
2492 * gnu.c (remove_any_file): New name for recursively_delete.
2493 Add a parameter to control recursion. Inverse return value,
2494 so 0 is failure. Ensure errno is always valid in this case.
2495 (gnu_restore): Specify recursion when calling remove_any_file.
2496 * extract.c (maybe_recoverable): New routine.
2497 (extract_archive): Call maybe_recoverable rather than
2498 make_directories, so deleting files is also tried. Some cleanup.
2500 * tar.h: Declare flag_unlink_first.
2501 * tar.c (decode_options): Decode --unlink-first (-U).
2502 (usage): Document it.
2503 * extract.c (extract_archive): With -U, call remove_any_file
2504 prior to extraction for everything except directories.
2506 Reported by Andrew J. Schorr, Andrey A. Chernov, Axel Boldt, Bo
2507 Nygaard Bai, Chris F.M. Verberne, Chris G. Demetriou, Christian
2508 Callsen, Daniel S. Barclay, Ian Jackson, James Stevens, Seth
2509 Robertson, Tito Flagella, Warner Losh and Wolfram Wagner.
2511 1995-12-22 François Pinard <pinard@iro.umontreal.ca>
2513 * tar.c (name_close): Specify static.
2514 (main): Call name_close after create_archive.
2515 * create.c (create_archive): Do not call name_close.
2517 * tar.c: Clean out names_arg[cv] crumb.
2518 (name_next): Simplify routine by merging both loops.
2519 (addname): Avoid xstrdup'ing result of new_name, this corrects a
2522 * extract.c: Normalize error message so the file is identified at
2523 the beginning of it.
2525 * tar.h (USAGE_ERROR): New macro.
2526 * tar.c: Use USAGE_ERROR as far as possible. Cleanup and
2527 normalization in string for usage errors. Better detection of
2528 conflicting options about archive format or compression program.
2530 * tar.c (decode_options): Decouple cases for -C and files. Count
2531 number of input files. Cowardly refuse to create an empty archive
2532 file, if -c is given without input file or list.
2533 Reported by Karl Berry and Robert Bernstein.
2535 1995-12-21 François Pinard <pinard@iro.umontreal.ca>
2537 * buffer.c: Rename a few err variables to status.
2538 * extract.c: Rename a few check variables to status.
2540 Corrections to speed-up the sizeing pass in Amanda:
2541 * tar.h: Declare dev_null_output.
2542 * buffer.c (open_archive): Detect when archive is /dev/null.
2543 (flush_write): Avoid writing to /dev/null.
2544 * create.c (dump_file): Do not open file if archive is being
2545 written to /dev/null, nor read file nor restore times.
2546 Reported by Greg Maples and Tor Lillqvist.
2548 * gnu.c: Have dir_list properly initialized to NULL.
2549 Reported by Paul Nordstrom and Tim Lashua.
2551 * extract.c: Rename ourmask to newdir_umask. Rename and
2552 complement notumask to current_umask.
2553 * list.c (print_for_mkdir): New name for pr_mkdir.
2554 * tar.h: Adjust declaration.
2555 * extract.c (make_directories): New name for make_dirs. Some
2556 cleanup in variable names.
2558 * extract.c: Let newdir_umask be a global variable.
2559 (make_directories): Use newdir_umask while creating intermediate
2560 directories. They used to be 0777 unconditionally.
2561 Reported by Bruce Evans, Harald König and James Crawford Ralston.
2563 1995-12-20 François Pinard <pinard@iro.umontreal.ca>
2565 * create.c (finish_header): Avoid printing the header for long
2566 names or links, this avoids spurious `Visible longname error's.
2568 Reported by Arne Wichmann, Chris F.M. Verberne, Frank Koenen,
2569 Franz-Werner Gergen, Ian Jackson, Jon Lewis, Mark Kollert, Paul
2570 Nordstrom, Ted Rule, Thomas Priesner, Tim Rylance and Tom Tromey.
2572 1995-12-19 François Pinard <pinard@iro.umontreal.ca>
2574 * buffer.c: Have real_s_name able to hold PATH_MAX characters,
2575 not only NAME_FIELD_SIZE. It was breaking --multi-volume
2576 --listed-incremental when backing up long file names.
2577 Many symptoms really: a screwed-up date on the incremental data
2578 file, dumping incremental which should not have been, etc.
2579 * (flush_read): Avoid altering save_name pointer value, use
2580 cursor instead. Also avoid the optimization of cleaning each
2581 save_name only once per flush_read if it did not change: it
2582 was using `save_name = real_s_name;', and since save_name may
2583 be freed at any time, this is/was really running after trouble.
2585 Reported by Alexander V. Lukyanov, Axel Habermann, Chance
2586 Reschke, Claus Heine, Christian von Roques, Daniel Hagerty,
2587 Daniel S. Barclay, Dirk Herr-Hoyman, Donald H. Locker, Ed Childs,
2588 Heiko Schinke, Hunyue Yau, Goeran Uddeborg, Grant McDorman,
2589 Joachim Seelig, Joe DeBattista, Jonathan Thornburg, Joutsiniemi
2590 Tommi Il, Jürgen Lüters, Keith Young, Kelly Stephens, Kevin
2591 Dalley, Konno Hiroharu, Larry Creech, Martin Mares, Michael
2592 Dietrich, Michael Giddings, Michael Meissner, Michael P Urban,
2593 Paul Siddall, Pierce Cantrell, Peter Fox, Robert Frey, Roderich
2594 Schupp, Sam Richards, Stephen J Bevan, Torsten Lull, Wolfram
2595 Gloger and Yu-Min Liang.
2597 * system.h: Include <sys/tprintf.h> and <sys/device.h> for BSDi.
2598 Reported by Chris Arthur, Dan Reish, Karl Berry and Skip Montanaro.
2600 * rmt.c (private_strerror): New, copied from lib/error.c.
2601 Remove sys_errlist declaration, and use syserror instead.
2602 Reported by Chris Arthur, Coranth Gryphon, Erich Stefan Boleyn,
2603 Fabio d'Alessi, Greg Hudson, Jason R. Mastaler, Skip Montanaro,
2604 Thomas Krebs and Troy Rudolph.
2606 1995-12-17 François Pinard <pinard@iro.umontreal.ca>
2608 * extract.c (extract_archive): Unrecognized types were defaulted
2609 to sparse files instead of regular files, because of an improper
2610 /* Fall through. */.
2612 * create.c, diffarch.c, extract.c, gnu.c, list.c, rtapelib.c,
2613 tar.c: Drop register specifications, useless in GNU's tar, as
2614 tar does not use longjmp, and GNU C has -O automagically set.
2616 * extract.c (extract_archive): Inhibit creation of links, special
2617 devices, directories, etc., when --to-stdout option is being used.
2618 Reported by Donald B Gordon, Gerben Wierda, Greg Chung, Norbert
2619 Kiesel and Roman Czyborra.
2621 1995-12-04 François Pinard <pinard@iro.umontreal.ca>
2623 * tar.h: Implement FATAL_ERROR, telling error is not recoverable.
2624 * tar.c (main): Diagnose delayed error, for TAREXIT_FAILURE only.
2625 * buffer.c, diffarch.c, gnu.c, list.c, tar.c, update.c: Replace
2626 all `ERROR ((TAREXIT_FAILURE,' by `FATAL_ERROR ((0,'.
2627 Reported by Marty Leisner.
2629 * list.c (read_and): When telling block numbers in verbose output,
2630 clearly list block numbers for NUL blocks and end of file.
2631 Reported by Jörg Weule.
2633 * tar.c (usage): Document --newer-time.
2634 Reported by Greg Chung.
2636 1995-11-30 François Pinard <pinard@iro.umontreal.ca>
2638 * system.h: Conditionally include <sgtty.h> prior to <mtio.h>.
2639 * rmt.c: Do not include <sgtty.h> anymore.
2640 Reported by Harald König and Kaveh R. Ghazi.
2642 * rtapelib.c: Remove seemingly useless include of setjmp.h.
2644 * rtapelib.c: Try to get EOPNOTSUPP defined in all cases.
2645 If needed, include net/errno.h or sys/inet.h when they exist.
2646 Reported by Goeran Uddeborg, J.J. Bailey, John L. Chmielewski,
2647 Peder Chr. Norgaard and Yasushi Suzudo.
2649 1995-11-29 François Pinard <pinard@iro.umontreal.ca>
2651 * tar.c (decode_options): Diagnose --block-compress properly.
2652 Was segment violating because falling into --blocking-factor.
2654 * buffer.c, create.c, diffarch.c, genfile.c, gnu.c, tar.c:
2655 Uniformly write nonzero instead of non-zero.
2656 Reported by Karl Berry.
2658 * system.h, buffer.c, create.c, diffarch.c, tar.c, update.c [MSDOS]:
2659 Instead of __MSDOS__, all occurrences.
2660 * extract.c (extract_archive) [MSDOS]: Avoid delaying restoration
2661 of timestamps for directories.
2662 * buffer.c (child_open_for_compress): Add a missing semi-colon.
2663 * diffarch.c (diff_archive): Avoid comparing uid and gid.
2664 Reported by Yasushi Suzudo.
2666 * tar.c (usage): Correct absolute-paths to absolute-names.
2667 Reported by Jonathan Kamens.
2669 * tar.c (usage): Indicate that --exclude uses globbing, and that
2670 --label uses regexps.
2671 Reported by John R. Vanderpool and Matti Aarnio.
2673 * tar.c (names_notfound): Do not report a fake namelist entry, so
2674 gzipped empty archives will not produce spurious diagnostics.
2675 Reported by Jonathan Kamens.
2677 1995-11-23 François Pinard <pinard@iro.umontreal.ca>
2679 * tar.c (name_scan, name_match): Avoid labels and gotos.
2681 1995-11-22 François Pinard <pinard@iro.umontreal.ca>
2683 * Makefile.in (DISTFILES): Distribute ChangeLog.
2685 * ChangeLog: New, extracted from top-level ChangeLog.
2687 * tar.c (main, decode_options): Delay request_stdin for `-f'
2688 until all options processed, so we now for sure that `-' means
2689 standard input, not standard output.
2691 * tar.c (usage): Document that users should not count on
2692 POSIX support yet, saying it is only partially implemented so far.
2694 1995-10-27 François Pinard <pinard@iro.umontreal.ca>
2696 * rtapelib.c (_rmt_shutdown): Add the errno_value parameter.
2697 (__rmt_open): Call shutdown if remote open fails, or else, we lose
2699 Reported by Holger Teutsch.
2701 1995-10-20 Tom Tromey <tromey@drip.colorado.edu>
2703 * tar.c (request_stdin): New function.
2704 (stdin_used_by): New variable.
2705 (name_init, add_exclude_file, decode_options): Use request_stdin
2707 (confirm): Check stdin_used_by to see if stdin in use.
2709 * list.c (read_header): Consistently use sizeof to find size
2712 1995-08-26 François Pinard <pinard@iro.umontreal.ca>
2714 * names.c (uid_to_uname, gid_to_gname): Ensure that the empty
2715 string is returned when not found, instead of the previous one.
2717 1995-08-06 François Pinard <pinard@iro.umontreal.ca>
2719 * buffer.c (new_volume): Use stderr rather than stdlis for
2720 interactions. Clarify `archive == 0' into `archive == STDIN'.
2721 Reported by Scott Hunziker.
2723 1995-08-02 François Pinard <pinard@iro.umontreal.ca>
2725 * diffarch.c (diff_archive): When symlink differs, report the
2726 file name, not the link name.
2727 Reported by Dale R. Worley and Wolfram Wagner.
2729 1995-07-23 François Pinard <pinard@iro.umontreal.ca>
2731 * Makefile.in (Makefile): Remove some useless lines.
2733 1995-06-27 François Pinard <pinard@iro.umontreal.ca>
2735 * tar.h: Sort out declarations a little better.
2736 * tar.c (decode_options): Reorder the cases in the big switch.
2738 * tar.h: Introduce OLDGNU_COMPATIBILITY, enum archive_format,
2739 variable archive_format. Delete flag_old_archive, flag_standard.
2740 * tar.c (decode_options): Initialize archive_format so that -o
2741 yields V7_FORMAT, nothing yields OLDGNU_FORMAT, --posix yields
2742 GNU_FORMAT, and --posix with POSIXLY_CORRECT yields POSIX_FORMAT.
2743 * create.c (start_header): Use TMAGIC and TVERSION if required.
2744 Replace all flag_old_archive and flag_standard appropriately.
2746 * tar.c: Implement a --record-size option, which is an
2747 alternate way of saying --blocking-factor, in bytes this time.
2749 * tar.h, tar.c, create.c (dump_file): Implement
2750 a --no-recurse option, to help using tar with find.
2751 Reported by Chris G. Demetriou, Jamie Zawinski, Kimball
2752 Collins, Oswald P. Backus IV and Stuart Poulin.
2754 * tar.h, tar.c, buffer.c (child_open_for_compress):
2755 Delete --block-compress, issue a warning if used. It was never
2756 obeyed while outputting on disk files, where it would have been
2757 useful. It was only obeyed for pipes, remotes and devices, that
2758 is, exactly when it would be an error not to specify it.
2760 Reported by Hans Guerth, James H Caldwell Jr, Jean-loup Gailly,
2761 Jeffrey W. Parker, John D. Sybalsky, Kai Schlichting, Marcin
2762 Matuszewski, Mike Silano, Paul O'Connor, Pete Geenhuizen and
2765 * buffer.c (open_archive): Cosmetic changes.
2767 * buffer.c, diffarch.c, tar.h, update.c: Rename fl_read by
2768 flush_read and fl_write by flush_write.
2770 1995-06-26 François Pinard <pinard@iro.umontreal.ca>
2772 * tar.c (usage): Remind that `USER@' may be specified.
2773 Reported by John J. Szetela and Oliver Trepte.
2775 * tar.c (usage): Replace `modificators' by `modifiers'.
2776 Reported by Alan Modra.
2778 * extract.c (set_mode, set_stat): New functions, from
2779 previous code, elsewhere. Replace various occurrences of code
2780 appropriately with function calls. Ensure mode bits are properly
2781 set in all circumstances. This may imply calling set_mode twice.
2782 Reported by Piercarlo Grandi and Tim Magill.
2784 * extract.c: Save the whole stat information in saved
2785 directory information, instead of parts of it, all mistyped.
2786 (restore_saved_dir_info): Free information as we consume it.
2787 Simplify code by using set_mode and set_times. Rename routine to
2788 apply_delayed_set_stat, and do some other cleanup around it.
2790 * *.[hc]: Replace flag_confirm by flag_interactive,
2791 flag_do_chown by flag_same_owner,
2792 flag_exstdout by flag_to_stdout,
2793 flag_follow_links by flag_dereference,
2794 flag_gnudump by flag_incremental,
2795 flag_ignorez by flag_ignore_zeros,
2796 flag_keep by flag_keep_old_files,
2797 flag_local_filesys by flag_one_file_system,
2798 flag_modified by flag_touch,
2799 flag_multivol by flag_multi_volume,
2800 flag_namefile by flag_files_from,
2801 flag_new_files by flag_after_date,
2802 flag_oldarch by flag_old_archive,
2803 flag_reblock by flag_read_full_records,
2804 flag_run_script_at_end by flag_info_script,
2805 flag_sayblock by flag_block_number,
2806 flag_sorted_names by flag_same_order,
2807 flag_sparse_files by flag_sparse,
2808 flag_startfile by flag_starting_file,
2809 flag_use_protection by flag_same_permissions,
2810 OPTION_COMPRESS_PROG by OPTION_USE_COMPRESS_PROGRAM,
2811 flag_volhdr by volume_label,
2812 flag_compressprog by compress_program,
2813 flag_rsh_command by rsh_command,
2814 and flag_volno_file by volno_file.
2816 * tar.c: Rename --modification-time by --touch, and provide a
2817 warning for the old option.
2819 1995-06-24 François Pinard <pinard@iro.umontreal.ca>
2821 * list.c (decode_header): At extraction time, use the stored
2822 uid if uname is unknown in this system, and use the stored gid if
2823 gname is unknown in this system, instead. This solves a long
2824 lasting bug by which restored files were all owned by root, using
2825 an incomplete /etc/passwd or /etc/group file.
2826 * names.c: Rename finduname to uid_to_uname and findgname to
2827 gid_to_gname, exchanging the order of arguments. Use uid_t and
2828 gid_t instead of int's. Use empty strings in cached_[ug]name for
2829 marking there is no valid cached translation, instead of using
2830 magic values for cached_[ug]id. Rename finduid to uname_to_uid
2831 and findgid to gname_to_gid, adding a second argument to store the
2832 result if found, and returning a success/failure indication, not
2833 anymore assuming the current [ug]id by default.
2834 * tar.h, create.c, list.c: Adjust prototypes and callers.
2836 Reported by Anders Andersson, Bernard Derval, Brian Perkins,
2837 Charles Fu, Daniel Trinkle, Ian Jackson, Johannes Helander,
2838 Michael Lin, Richard Sims, Robert E. Brown, Tim P. Starrin and
2841 * tar.h, create.c, list.c, names.c, tar.c:
2842 Implement --numeric-owner, to replace the NONAMES define. Then,
2843 ensure some reasonable values to magic and linkflags if POSIX.
2844 Reported by Benedikt Stockebrand, Ian Jackson and Stephen Gildea.
2846 * buffer.c: Delete save_block function, as well as
2847 saved_block_pointer and saved_block variables. Blocks were
2848 carefully saved indeed, but never consulted after the fact.
2849 * tar.h: Delete save_block prototype.
2850 * *.c: Delete all usages of save_block.
2852 * rmt.c: Add static to variable declarations.
2853 * list.c (read_header): Rename recsum to recorded_sum.
2855 1995-06-23 François Pinard <pinard@iro.umontreal.ca>
2857 * *.[hc]: Rename --read-full-blocks to --read-full-records,
2858 --block-size to --blocking-factor, and --record-number to
2860 * tar.c (decode_options): Diagnose usage of old names.
2862 * *.[hc]: Rename saverec to save_block, findrec to
2863 find_next_block, and userec to set_next_block_after.
2864 Replace endofrecs by available_space_after which does the space
2865 computation instead of returning the end pointer, adjust and
2866 simplify all callers, by using variable data_block systematically.
2867 Also, rename union block field charptr to buffer.
2869 1995-06-22 François Pinard <pinard@iro.umontreal.ca>
2871 * *.[hc]: Exchange "record" and "block" almost everywhere and
2872 whenever appropriate, to follow the terminology used in
2873 P1003.1-1990, and so removing a lot of confusion in sources.
2875 * tar.h: Prefer naming constants and fields per P1003-1.1990 as
2876 far as possible. Rename those remaining LF_xxx to GNUTYPE_xxx.
2877 * *.c: Adjusted accordingly.
2879 * tar.h: Clean up the header structure. Make very clear what is
2880 specified by POSIX, and what is GNU format, and what is extended
2881 header for sparse files. Use xxx_FIELD_SIZE instead of NAMSIZ,
2882 TUNMLEN and TGNMLEN. Dismangle some other names, on the way...
2883 * *.c: Adjusted accordingly.
2885 * tar.h: Do not declare baserec, declare current_block_ordinal.
2886 * buffer.c (current_block_ordinal): New function.
2887 Rename baserec to record_start_block, and make it static.
2888 * list.c: Use current_block_ordinal, avoid baserec computations.
2889 * buffer.c, list.c: Get rid of saved_recno and annofile.
2891 * buffer.c, diffarch.c: Move no_op and wantbytes from
2892 buffer.c to diffarch.c. Correct prototypes so first arg is long.
2893 * tar.h: Do not declare no_op nor wantbytes, anymore.
2895 * tar.h, buffer.c: Move ar_block, ar_record and ar_last
2896 from tar.h to buffer.c, renaming them to record_start,
2897 current_block, record_end respectively.
2898 * update.c: Add temporary extern declaration for record_start,
2899 current_block and record_end.
2901 * tar.h, buffer.c: Move ar_reading from tar.h to buffer.c,
2902 renaming it to reading_archive.
2903 * diffarch.c: Add temporary extern declaration for
2906 * buffer.c, create.c, diffarch.c, extract.c, gnu.c,
2907 list.c, names.c, rmt.c, rmt.h, rtapelib.c,
2908 tar.c, update.c: Replace many #ifdef's by #if's, and
2909 #ifndef's by #if !'s.
2911 * buffer.c (redirect): New name for dupto. Callers changed.
2913 * create.c (dump_file), extract.c (extract_archive,
2914 extract_sparse_file), tar.h: Remove crumb about ending_blanks
2917 * Makefile.in (all): Do not prepare genfile by default, as it
2918 is only needed for checking.
2920 * tar.c (decode_options): Diagnose lacking arguments to old
2922 Reported by Aage Robeck, Alan Cox, Benny Holmgren, Bruno Haible,
2923 Daniel Quinlan, Michael Schmidt, Richard J. Kettlewell and Robert
2926 1995-06-21 François Pinard <pinard@iro.umontreal.ca>
2928 * rtapelib.c (__rmt_open): Avoid dereferencing remote_user
2931 Reported by Alois Steindl, Amos Yahil, Anders Liljeborg, Andre
2932 Novaes Cunha, Andreas Haumer, Andreas Reuter, Andy Gay, Bdale
2933 Garbee, Bradley A. Smith, Brett Gaines, Bruce Jerrick, Calvin
2934 Cliff, Cameron Elliott, Charles Lopes, Charles M. Hannum, Chris
2935 Metcalf, Christophe Colle, Christopher T. Johnson, Dale Wiles,
2936 David Shaw, Dimitri Bougoulias, Daniel Hagerty, Dave Gregorich,
2937 David Mansfield, David Nugent, David Shaw, David Steiner,
2938 Douglas Scott, Dunstan Vavasour, Edgar Taube, Eduardo Kortright,
2939 Elmer Fittery, Eric Benson, Eric M. Boehm, Gerd Knorr, Graham
2940 Whitted, Harald Milz, Heiko Schlichting, James V. Di Toro III,
2941 Jan Carlson, Janne Snabb, Jeff Sorensen, Jens Henrik Jensen,
2942 Jim Clausing, John J. Szetela, John R. Vanderpool, Jurgen Botz,
2943 Karl Berry, Karlos Z. Smith, Karsten Thygesen, Koji Kishi,
2944 Luke Mewburn, Manuel Munier, Marc Ewing, Matthew J. D'Errico,
2945 Martin Goik, Maxime Taksar, maximum entropy, Michael Hayes,
2946 Michael Schwingen, Michael Smolsky, Michael Kaufman, Mike Walker,
2947 Minh Tran-Le, Mitsuaki Masuhara, Nelson H. F. Beebe, Noel Cragg,
2948 Olaf Wucknitz, Oliver Trepte, Olivier Roussel, Patrick Fulconis,
2949 Paul Kanz, Paul Nordstrom, Pekka Janhunen, Peter Carah, Peter
2950 Kutschera, Phil Hands, Randy Bias, Reuben J. Ravago, Ricardo
2951 Marek, Robert Anthony Nader, Rod Buchanan, Roderich Schupp,
2952 Russell Cattelan, Scott J. Kramer, Scott L. Burson, Simon
2953 Wright, Sisira Jayasinghe, Steffen Stempel, Thomas M. Browder
2954 Jr., Thomas Waas, Tim Bradshaw, Tim Lashua, Timothy J. Lee, Tom
2955 Popovitch, Toshiaki Nishi, Victor J. Griswold, Wayne Christopher,
2956 William J. Eaton, Wlodzimierz Jan Martin, Wolfgang Rupprecht
2959 * tar.h: Remove external prototypes related to rtapelib.c, as
2960 those are already declared in rmt.h.
2962 1995-06-18 François Pinard <pinard@iro.umontreal.ca>
2964 * buffer.c (xclose): New, from port.c (ck_close).
2965 Replace ck_close by xclose in all modules.
2966 * port.c: Remove ck_close.
2968 * port.c: Remove ck_malloc, because xmalloc can be used
2969 instead, now that it protects against malloc(0) returning NULL.
2970 * gnu.c (gnu_restore), list.c (read_header): Replace
2971 ck_malloc with xmalloc. In gnu_restore, remove skipping code in
2972 case of failed allocation, because tar already aborted in xmalloc.
2973 * tar.h: Delete ck_malloc declaration.
2975 * port.c: Remove mknod, link, chown and geteuid, which
2976 normally exist on Unix. To be reinserted later, as needed.
2977 Reported by Jyh-Shyang Wang, Nelson H. F. Beebe, Philippe Defert
2980 * tar.c: Declare TTY_NAME, moved over from port.c.
2982 * extract.c (extract_archive), tar.c (decode_options):
2983 Clean out old NO_OPEN3 code.
2984 * Makefile.in: Adjusted.
2986 * buffer.c (child_open): In-line previous ck_pipe code.
2987 * tar.h: Delete ck_pipe declaration.
2988 * port.c: Delete ck_pipe function.
2990 * misc.c: New, reorganizing remaining code from port.c.
2992 * Makefile.in: Adjusted.
2994 * misc.c (un_quote_string): If `\' ends a string to unquote,
2995 just pass it undisturbed.
2998 * system.h: Replace many #ifdef by #if, #ifndef by #if !.
3000 1995-06-17 François Pinard <pinard@iro.umontreal.ca>
3004 * Makefile.in (mostlyclean): Remove also _*.c and _*.o.
3006 * create.c (dump_file), gnu.c (get_dir_contents): Cast
3007 (int) explicitely for test.
3009 * Makefile.in ($(OBJECTS)): Depend on ../intl/libgettext.h
3010 instead of ../intl/libintl.h, which does not always exist.
3012 * genfile.c: Define EXIT_SUCCESS and EXIT_FAILURE if not.
3013 * tar.c (main): Use TAREXIT_SUCCESS instead of EXIT_SUCCESS.
3015 * tar.h: Use off_t instead of long for the second argument in
3016 __rmt_lseek declaration.
3017 * system.h: Remove typedef of off_t, because AC_TYPE_OFF_T
3018 takes care of it now.
3019 Reported by Coranth Gryphon, Jim Blandy and Thomas Krebs.
3021 1995-06-15 François Pinard <pinard@iro.umontreal.ca>
3023 * checktar.sh: Send a message saying that it is still useless.
3025 1995-06-11 François Pinard <pinard@iro.umontreal.ca>
3027 * tar.h, tar.c (decode_options), extract.c
3028 (extract_archive), diffarch.c (diff_archive), create.c
3029 (dump_file, start_header), tar.c (decode_options): Replace
3030 flag_absolute_paths by flag_absolute_names.
3031 * tar.c (decode_options): Implement OBSOLETE_ABSOLUTE_NAMES for
3032 reporting --absolute-paths as obsolete.
3034 * system.h: Conditionnaly include <locale.h> and define
3035 setlocale to void independently of ENABLE_NLS.
3036 Reported by Ulrich Drepper.
3038 1995-06-10 François Pinard <pinard@iro.umontreal.ca>
3040 * tar.c (long_options): Use no_argument and require_argument,
3041 instead of constants. Have long option names translated to short
3042 options whenever possible, rather than setting flags directly:
3043 easing option management is worth a few extra nanoseconds.
3045 * tar.c (long_options): Add --gunzip as meaning -z.
3046 Reported by Bruno Haible.
3048 1995-06-07 François Pinard <pinard@iro.umontreal.ca>
3050 * Makefile.in: Use subdir and distdir.
3052 * system.h [NLS]: Simplify by merely including <libintl.h>.
3053 Also, define setlocale to empty only if the setlocale function is
3054 not known, instead of when <locale.h> is missing.
3055 * Makefile.in (INCLUDES): Use ../intl in compilations,
3056 taking care of the fact libintl.h might have been symlinked there.
3058 1995-06-05 François Pinard <pinard@iro.umontreal.ca>
3060 * tar.c, tar.h: Rename TAR_EXTERN to GLOBAL.
3062 * tar.h: Delete COMMAND_VERSION.
3063 * tar.c: Replace OPTION_HELP and OPTION_VERSION commands by
3064 show_help and show_version variables, so `--version --create' will
3065 not diagnose `Too many commands'. Adjust things so this works.
3066 Reported by Marty Leisner.
3068 1995-06-04 François Pinard <pinard@iro.umontreal.ca>
3070 * Makefile.in (check): New goal.
3071 * checktar.sh: New script.
3072 * genfile.c: New file.
3073 * Makefile.in (all): Prepare genfile.
3074 * Makefile.in: Distribute checktar.sh and genfile.c.
3076 1995-06-03 François Pinard <pinard@iro.umontreal.ca>
3078 * tar.h: Adjust so extracted doc/header.texi is neater.
3080 1995-05-30 François Pinard <pinard@iro.umontreal.ca>
3082 * tar.c (name_match): Use %s for printing directory, not %d.
3083 Reported by Marty Leisner.
3085 * tar.c (name_gather, addname): chdir_name receives string
3086 pointers which might later be overwritten, but nevertheless saved
3087 into structures, so, use xstrdup for the time being.
3088 Reported by Michael Holmes.
3090 * tar.c (name_next, name_from_list): Abort when chdir fails.
3091 Reported by Ian Jackson and Marty Leisner.
3093 1995-05-28 François Pinard <pinard@iro.umontreal.ca>
3095 * rmt.h: Declare second argument of __rmt_lseek to be off_t
3096 instead of long, so it is the same as in rmt.c.
3097 Reported by Chris Arthur.
3099 * buffer.c (close_archive): Compensate for the addition of 2
3100 to ar_block at open_archive time, for when -M used, just before
3102 Reported by Bruno Haible, Clinton Carr, Hernan Prieto Schmidt,
3103 Kevin Dalley, Loren J. Rittle and Marty Leisner.
3105 * rmt.c: Replace SSIZE by STRING_SIZE, avoiding a conflict
3106 with some header files.
3107 Reported by Kaveh R. Ghazi and William Bader.
3109 * tar.c: Use DEVICE_PREFIX instead of DEVICE_PREXIX, and
3110 WITH_REGEX instead of WITH_REGEC.
3111 Reported by Bruno Haible.
3113 1995-05-16 François Pinard <pinard@iro.umontreal.ca>
3115 * Prerelease 1.11.7.
3117 * Makefile.in (tar): Have $(OBJECTS) depend on system.h.
3119 * system.h: Many adjustements for GNU gettext.
3121 1995-05-09 François Pinard <pinard@iro.umontreal.ca>
3123 * Makefile.in: Clean glocale out.
3125 1995-05-08 François Pinard <pinard@iro.umontreal.ca>
3127 * Makefile.in: Use libintl.a while linking.
3128 * system.h: Include <libintl.h> unconditionally, instead only
3129 if WITH_CATALOG. Let <libintl.h> define _() appropriately.
3130 * tar.c (main): Call textdomain.
3132 1995-05-02 François Pinard <pinard@iro.umontreal.ca>
3134 * system.h, gnu.c, list.c, port.c: Avoid
3135 superfluous parentheses in macro definitions.
3136 * port.c: Capitalize macro arguments.
3137 * buffer.c, create.c, diffarch.c, tar.c: Use comma
3138 operator when assignment in test.
3140 1995-04-27 François Pinard <pinard@iro.umontreal.ca>
3142 * port.c (link): Use WARN to report the message.
3143 Reported by Sherwood Botsford.
3145 1995-03-19 François Pinard <pinard@iro.umontreal.ca>
3147 * Makefile.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
3148 * system.h: Use WITH_CATALOGS to define _() differently.
3150 1995-03-14 François Pinard <pinard@iro.umontreal.ca>
3152 * rtapelib.c (__rmt_open): Close the unused side of each
3153 pipe, instead of the useful one, prior to processing.
3154 Reported by Charles Lopes and Minh Tran-Le.
3156 1995-02-22 François Pinard <pinard@iro.umontreal.ca>
3158 * Makefile.in: Replace `date' by `echo timestamp'.
3160 1995-02-19 François Pinard <pinard@iro.umontreal.ca>
3162 * Makefile.in: Support ID files. Do not distribute TAGS.
3164 1995-02-13 François Pinard <pinard@iro.umontreal.ca>
3166 * Makefile.in: Use top_srcdir.
3168 1995-02-11 François Pinard <pinard@iro.umontreal.ca>
3170 * gnu.c (is_dot_or_dotdot): Through NFS, readdir might deliver
3171 empty filenames under old Solaris 2.4, causing endless loops in
3172 tar. As a workaround, avoid `' as done already for `.' and `..'.
3173 Reported by Jan Carlson.
3175 1995-02-05 François Pinard <pinard@iro.umontreal.ca>
3177 * Makefile.in (maintainer-clean): New name for realclean.
3179 1995-01-04 François Pinard <pinard@iro.umontreal.ca>
3181 * extract.c (make_dirs) [MSDOS]: Correct for Turbo C, which may
3182 return EACCES instead of EEXIST on mkdir.
3183 Reported by Jeffrey Goldberg.
3185 * tar.c (usage) [MSDOS]: Do not tell about -N and related.
3186 (decode_options) [MSDOS]: Be blind to -N and related.
3187 Reported by Jeffrey Goldberg.
3189 * rmt.h (_remdev): A filename is not remote if the colon is
3190 preceded by a slash, to take care of `/:/' which is a shorthand
3191 for `/.../<CELL-NAME>/fs' on OSF's Distributing Computing
3192 Environment (DCE) and Distributed File System (DFS).
3193 Reported by Travis L. Priest.
3195 1995-01-03 François Pinard <pinard@iro.umontreal.ca>
3197 * tar.c (decode_options): Renamed from options. Convert
3198 oldish-style non-dashed options to modern writing before
3199 performing option decoding. Diagnose when modern options are met
3200 before old style options are fully converted. This allows
3201 mixing of option styles on a single call. Avoid getoldopt and
3202 use getopt_long instead.
3203 * getoldopt.c: Deleted.
3204 * tar.h: Prototype deleted.
3205 * Makefile.in: Adjusted.
3206 Reported by Bruno Haible, Les Mikesell, Patrick Timmons and Saul
3209 1995-01-02 François Pinard <pinard@iro.umontreal.ca>
3211 * system.h: New file, split out of tar.h.
3212 * buffer.c, create.c, diffarch.c, extract.c,
3213 getoldopt.c, gnu.c, list.c, mangle.c, names.c,
3214 port.c, tar.c, update.c: Include "system.h", and move
3215 the inclusion of "tar.h" down after system dependent definitions.
3216 * Makefile.in: Distribute system.h.
3218 * rmt.c: Include "system.h", and simplify accordingly.
3219 * rtapelib.c: Include "system.h", and simplify accordingly.
3220 * rmt.h: Simplify according to the inclusion of "system.h".
3222 * system.h: Include conditionnaly <sys/gentape.h>,
3223 <sys/tape.h>, <sys/mtio.h>, <sys/ioctl.h> and <sys/io/trioctl.h>.
3224 * buffer.c, diffarch.c, rmt.c, rtapelib.c,
3225 update.c: Simplify accordingly.
3227 * system.h: If it exists, include <sys/ioccom.h> prior to
3228 <sys/mtio.h>, to account for problems when GNU libc 1.0x is
3229 installed over SunOS 4.1.3: GNU libc does not provide sys/mtio.h,
3230 so it is taken from Sun header files which use things like _IOW,
3231 which GNU libc despises, sys/ioccom.h then provides definitions.
3232 Reported by Joseph E. Sacco.
3234 1994-12-27 François Pinard <pinard@iro.umontreal.ca>
3236 * rmt.h: Ensure strrchr is defined to rindex in some cases.
3237 Reported by Karl Vogel.
3239 1994-12-18 François Pinard <pinard@iro.umontreal.ca>
3241 * tar.h: Include <ctype.c> and declare ISASCII.
3242 * gnu.c: Adjust, declare and use ISDIGIT and ISSPACE.
3243 * list.c: Adjust, declare and use ISODIGIT and ISSPACE.
3244 * port.c: Adjust, declare and use ISPRINT.
3245 Reported by Bruno Haible, Konno Hiroharu and Max Hailperin.
3247 1994-12-11 François Pinard <pinard@iro.umontreal.ca>
3249 * buffer.c, tar.c [WITH_REGEX]: Check it.
3251 1994-12-03 François Pinard <pinard@iro.umontreal.ca>
3253 * Prerelease 1.11.6.
3255 * rmt.c: Adjust for localization, by including <locale.h> and
3256 <libintl.h>, by defining _(), by defining and calling setlocale,
3257 and by defining and initializing program_name.
3258 * Makefile.in: Use locale.o and libtar.a with rmt.
3260 * Makefile.in: Ensure INSTALL_DATA is defined.
3262 * Makefile.in, tar.h, tar.c:
3263 Localize, adapting from how it is done in sharutils.
3265 * Makefile.in, tar.c: Rename PRODUCT to PACKAGE.
3267 1994-11-29 François Pinard <pinard@iro.umontreal.ca>
3269 * buffer.c (backspace_output): Change cur from long to off_t.
3270 * diffarch.c (diff_archive): Idem for offset.
3271 * extract.c (extract_archive): Idem for offset.
3272 * rmt.c: Idem for lseek ().
3273 (main): For case 'L', use atol instead of atoi, and cast the
3274 result to (off_t) rather than (long).
3275 * rtapelib.c (__rmt_lseek): Idem of offset argument.
3276 * tar.h: Change offset of sp_array from int to off_t.
3277 * update.c (move_arch): Change cur from long to off_t.
3278 Reported by David J. MacKenzie.
3280 1994-11-26 François Pinard <pinard@iro.umontreal.ca>
3282 * rmt.h, tar.h, buffer.c, create.c,
3283 diffarch.c, extract.c, gnu.c, list.c,
3284 rtapelib.c, update.c: Rename _ to __P.
3285 * tar.h, rmt.h: Declare _ as a macro returning its
3286 argument, or else, include <libintl.h> and declare _ as gettext.
3287 * tar.c: Possibly include <locale.h> and call setlocale.
3288 * rmt.c, buffer.c, create.c, diffarch.c,
3289 extract.c, getoldopt.c, gnu.c, list.c,
3290 mangle.c, port.c, rtapelib.c, tar.c,
3291 update.c: Use _ macro over all localizable strings.
3293 * rtapelib.c: Declare prototype for xstrdup. Do not declare
3294 strstr, which is not needed.
3296 1994-11-01 François Pinard <pinard@iro.umontreal.ca>
3298 * Makefile.in: Clean up, following those of GNU m4. I will
3299 not detail all the changes here.
3300 * tar.c: Use PRODUCT and VERSION instead of version_string.
3302 1994-10-30 François Pinard <pinard@iro.umontreal.ca>
3304 * tar.h [__STDC__]: Use #if instead of #ifdef.
3306 1994-10-27 François Pinard <pinard@iro.umontreal.ca>
3308 * rmt.h, tar.h, buffer.c, create.c, diffarch.c,
3309 extract.c, gnu.c, list.c, mangle.c, tar.c,
3310 update.c: Rename all f_* variables to flag_*.
3312 * tar.h, buffer.c, tar.c, update.c: Rename cmd_mode into command_mode.
3313 * tar.c (SET_COMMAND_MODE): New macro, use it.
3315 * port.c (quote_copy_string): Prevent sign extension of
3316 character while copying it to an int.
3317 * (un_quote_string): Increment to_there pointer in all cases.
3318 Reported by Konno Hiroharu, Mats Lofkvist, Max Hailperin and
3321 1994-10-09 François Pinard <pinard@iro.umontreal.ca>
3323 * rmt.c, rtapelib.c, tar.h: Get rid of CONFIG_BROKETS.
3325 1994-10-04 François Pinard <pinard@iro.umontreal.ca>
3327 * diffarch.c (fill_in_sparse_array): Add a cast for Pyramid's
3328 dumb compiler. Later remove the cast and compare to 0 instead.
3329 * extract.c (extract_archive): Idem.
3330 Reported by Karl Vogel and Kaveh R. Ghazi.
3332 1994-09-27 François Pinard <pinard@iro.umontreal.ca>
3334 * diffarch.c: Normalize capitalization in diagnostics.
3336 1994-09-26 François Pinard <pinard@iro.umontreal.ca>
3338 * tar.c (name_next, name_match): Abort tar if directory cannot
3339 be changed, instead of going on. This is not an innocuous error.
3340 Reported by Marty Leisner.
3342 1994-09-15 François Pinard <pinard@iro.umontreal.ca>
3344 * rtapelib.c: Include "rmt.h" only once <sys/types.h> has been
3345 included, because off_t might not be defined otherwise.
3346 Reported by James W. McKelvey, John L. Chmielewski, Karl
3347 Vogel, Kaveh R. Ghazi an and Jim Meyering and Tilman Schmidt.
3349 1994-09-14 François Pinard <pinard@iro.umontreal.ca>
3351 * Makefile.in: Cleanup...
3352 (DISTFILES): Distribute TAGS.
3353 (ansi2knr): Use $(LIBS).
3354 (TAGS): Make TAGS in $(srcdir) only.
3355 (distclean): Do not remove TAGS.
3356 (realclean): Remove TAGS.
3357 (Makefile): Have ./config.status create this Makefile only.
3359 1994-09-13 François Pinard <pinard@iro.umontreal.ca>
3361 * buffer.c: Remove the presetting of stdlis, because stdout is
3362 not a constant in GNU libc.
3363 Reported by Joseph E. Sacco and Thomas Bushnell n/BSG.
3365 * buffer.c (new_volume): Pass an otherwise unused argument to
3366 wait, do not use NULL.
3367 Reported by Thomas Bushnell n/BSG.
3369 1994-09-05 François Pinard <pinard@iro.umontreal.ca>
3371 * Makefile.in (TAGS): Remove -t on etags call. It has been
3372 the default behavior for a few releases of Emacs and it seems that
3373 option -t is now disappearing (from Emacs 19.25, at least).
3374 Reported by Goeran Uddeborg.
3376 1994-09-02 François Pinard <pinard@iro.umontreal.ca>
3378 * gnu.c (get_dir_contents): Do not set dp->allnew if dp is not
3380 Reported by Piercarlo Grandi.
3382 * extract.c (extract_archive): Issue diagnostic or verbose
3383 messages to msg_file, instead of stdout.
3384 Reported by Piercarlo Grandi.
3386 1994-08-23 François Pinard <pinard@iro.umontreal.ca>
3388 * tar.h: Do not declare alloca if already defined, so HP's
3389 +Olibcalls compiler option works.
3390 Reported by John David Anglin.
3392 * rtapelib.c (__rmt_open): Use REMOTE_SHELL only if defined.
3393 Otherwise, if the command argument has been specified and
3394 REMOTE_SHELL is not defined, immediately return an error.
3395 Reported by Bruno Haible, Kaveh R. Ghazi, Marty Leisner,
3396 Torkel Hasle and William Bader.
3398 Because --rsh-command may always be given, even if no remote shell
3399 was found at configure time, remote capabilities are always
3400 compiled. This also solve other problems related to RTAPELIB.
3401 * Makefile.in: Always compile $Urtapelib.o.
3402 * buffer.c (child_open): Always test _remdev, do not depend
3403 anymore on HAVE_RTAPELIB.
3404 * rmt.h [!HAVE_RTAPELIB]: Remove some code.
3405 Reported by Andreas Schwab and Vic Abell.
3407 * rtapelib.c: Remove unused COMPAT (mis)feature. Remove most
3408 length limitations for remote host name, remote user name and
3409 remote device name. Duplicate path, and free it in all cases.
3410 * (_rmt_rexec): The `user' parameter may never by the empty
3411 string. Remove code for that case.
3413 1994-08-22 François Pinard <pinard@iro.umontreal.ca>
3415 Little cleanup in installation:
3416 * Makefile.in: Remove rule for ../lib/libtar.a.
3418 1994-08-21 François Pinard <pinard@iro.umontreal.ca>
3420 * Prerelease 1.11.5.
3422 * Makefile.in: Correct for when a different build directory.
3424 * tar.h: Replace W* definitions. Adapted from make 3.71.
3425 * buffer.c (close_archive): Replace WIFCOREDUMPED by
3426 WCOREDUMP. Previous WIFSIGNALED definition was excluding SIGSTOP,
3427 new definition do not exclude it anymore. We'll see.
3428 Reported by Demizu Noritoshi, Greg Black, Kaveh R. Ghazi,
3429 Robert E. Brown and Russ Evans.
3431 1994-08-20 François Pinard <pinard@iro.umontreal.ca>
3433 This might (?) solve the dirent problems on NeXT's and Apollo's:
3434 * tar.h: Change includes and defines from older AC_DIR_HEADER
3435 style to newer and clearer AC_HEADER_DIRENT style.
3436 * create.c, gnu.c: Replace NLENGTH by NAMLEN.
3437 Reported by Drew Trieger, Hugh Secker-Walker, James W. McKelvey,
3438 Robert E. Brown and Thomas Krebs.
3440 1994-08-17 François Pinard <pinard@iro.umontreal.ca>
3442 Remove some shadowings.
3443 * update.c (update_archive): Rename head_standard to unused.
3444 * buffer.c (open_archive): Rename head to label.
3445 (fl_read): Rename head to cursor.
3447 * gnu.c (dirent_cmp): Use (char *const *), not (const char **)
3448 for not loosing the const specifier while casting.
3450 * mangle.c (extract_mangle): Remove unused argument.
3451 * tar.h: Adjust prototype.
3452 * extract.c (extract_archive): Caller changed.
3454 * rtapelib.c (__rmt_open): Remove useless mode parameter.
3455 * rmt.h, tar.h: Adjust prototype.
3456 * rmt.h: Adjust macros calling __rmt_open.
3457 * create.c (deal_with_sparse): Remove unused argument.
3458 * create.c (dump_file): Caller changed.
3459 Reported by Greg Black.
3461 * Makefile.in: Avoid $U in defining RTAPELIB. Remove both
3462 rtapelib.o and _urtapelib.o explicit rules, not needed anymore.
3463 * rmt.h, buffer.c [HAVE_RTAPELIB]: Instead of !NO_REMOTE.
3464 Reported by Andreas Schwab.
3466 * Makefile.in: Correct a typo in $Ubuffer.o dependencies.
3467 Reported by Andreas Schwab.
3469 * rtapelib.c (__rmt_ioctl): Compile the MTIOCGET case only if
3470 this symbol is defined. This also solves a missing mt_type field
3471 on NS32016 running SysVr2.2.
3472 Reported by Greg Black.
3474 * rtapelib.c (__rmt_ioctl) : Conditionnalize only the MTIOCTOP
3475 case, not the whole routine, with the MTIOCTOP symbol. In case of
3476 unrecognized operation, return EOPNOTSUPP instead of EINVAL.
3477 * rmt.h: Always provide a prototype for __rmt_ioctl. Delete
3478 the RMTIOCTL machinery.
3480 1994-08-16 François Pinard <pinard@iro.umontreal.ca>
3482 * rmt.c, buffer.c: Use a more uniform way of including
3483 <sys/mtio.h> or its alternates.
3484 Reported by Daniel R. Guilderson and Kaveh R. Ghazi.
3486 * Makefile.in: Split rule for $Urtapelib.o into one rule for
3487 rtapelib.o and one rule for _rtapelib.o, taking care of the fact
3488 that rtapelib.c is in $(srcdir) while _rtapelib.c is in current
3490 Reported by Andreas Schwab, Kaveh R. Ghazi, Minh Tran-Le and
3493 * rmt.c (string_error): Correct DEBUG2 into DEBUG1, and strint
3495 Reported by Anders Andersson, Bruno Haible, Thomas Krebs and
3498 * Makefile.in: Add $U's to rtapelib and rmt specific rules.
3499 Reported by Thomas König.
3501 1994-08-15 François Pinard <pinard@iro.umontreal.ca>
3503 * Prerelease 1.11.4.
3505 * rmt.c (numeric_error): Renamed from error.
3506 (string_error): New, to replace ERROR ((...)), unavailable in rmt.c.
3508 * rmt.c (checkbuf): Do not accept, nor return record. Use the
3509 global instead. This will get rid of useless shadowings.
3511 * rmt.h: Give prototypes for __rmt_* routines.
3512 * rtapelib.c: Include "rmt.h".
3513 * update.c (move_arch): Cast last rmtioctl argument to char *.
3514 * buffer.c (backspace_output): Idem.
3515 * diffarch.c (verify_volume): Idem.
3517 * Makefile.in (rmt): Declare dependencies over rmt.h.
3519 1994-08-14 François Pinard <pinard@iro.umontreal.ca>
3521 * rtapelib.c: Use MTIO_CHECK_FIELD instead of mt_type.
3522 Reported by Ben A. Mesander.
3524 1994-08-13 François Pinard <pinard@iro.umontreal.ca>
3526 * tar.h: Include <sys/wait.h> if it exists, whether POSIX or not.
3527 Check if WIFSTOPPED is defined, to decide if defining others WIF*.
3528 Reported by Bruno Haible.
3530 1994-08-11 François Pinard <pinard@iro.umontreal.ca>
3532 * extract.c (extract_archive) [O_CTG]: Declare longname variable.
3533 Initialize it as NULL. This dirty kludge will allow the module to
3534 compile on Masscomp's, for the time being.
3535 Reported by Ben A. Mesander.
3537 * tar.h, rtapelib.c: Declare strstr if we replaced it.
3538 Reported by Ben A. Mesander, Christian T. Dum and Kaveh R. Ghazi.
3540 1994-08-10 François Pinard <pinard@iro.umontreal.ca>
3542 * create.c (dump_file): Do not test only for hpux, but also
3543 for __hpux. I added __hpux__ too, as done in tar.h.
3544 Reported by Richard Lloyd.
3546 * tar.h: Do not include <sys/mknod.h> anymore for HP-UX from
3547 HP-UX 8 and after, for which definitions are in <sys/sysmacros.h>,
3548 and reorganize the tests in this area.
3549 Reported by Christian T. Dum, Dimitris Fousekis, Kimmy Posey,
3550 Michael Maass, Richard Lloyd and Thomas König.
3552 1994-08-09 François Pinard <pinard@iro.umontreal.ca>
3554 These changes for const-cleaning gnu.c and tar.c:
3555 * tar.c (read_name_from_file): Work directly on global
3556 variables instead of accepting parameters. Return success or
3557 failure as an int instead of the relocated name_buffer.
3558 (name_next): Caller changed, internal clean-up of the function.
3559 Remove trailing slashes on the command call too, not only when
3560 reading from a file through -T option.
3561 * gnu.c: Add const to name and dir_text in struct dirname.
3562 Reported by Ben A. Mesander, Bruno Haible, Christian T. Dum,
3563 Dean Gaudet, James W. McKelvey, Richard Lloyd and Robert E. Brown.
3565 1994-08-08 François Pinard <pinard@iro.umontreal.ca>
3567 * tar.c (name_next, name_gather, addname): Use strcmp for
3568 checking for "-C", instead of decomposed tests, just for clarity.
3570 * Makefile.in (RSH): Define from configuration.
3571 (rtapelib.o): Define REMOTE_SHELL from $(RSH) while compiling.
3572 * rtapelib.c (__rmt_open): If command not given, use
3573 REMOTE_SHELL, instead of cascading tries of filenames.
3574 Reported by Bruno Haible.
3576 * tar.c: Include <fnmatch.h> if FNM_LEADING_DIR is not
3577 defined, instead of checking for FNM_PATHNAME, because some
3578 <unistd.h> define the later without defining the former.
3579 Reported by Thomas König.
3581 * create.c (dump_file): Cast alloca results, for those
3582 compilers not processing void * properly.
3583 Reported by Kaveh R. Ghazi.
3585 * Makefile.in: Get prefix and exec_prefix from configure.
3586 Reported by Andreas Schwab, Christian T. Dum and Dean Gaudet.
3588 * src/port.c: Delete mkdir (and rmdir), rename, strstr and
3589 ftruncate replacements.
3590 Reported by Kaveh R. Ghazi (for memset and strstr).
3591 Reported by Bruno Haible (for mkdir and rename).
3593 1994-08-05 François Pinard <pinard@iro.umontreal.ca>
3595 * tar.h: Replace msg_file by stdlis.
3596 * buffer.c, gnu.c, list.c, diffarch.c: Idem.
3598 * tar.c (main): Print version on stdout, not stderr.
3600 * tar.h: Unconditionnaly insert the pad. Why play the game of
3601 forcing the compiler to do it for us? (Hum! I'm not so sure.)
3602 Reported by Bruno Haible.
3604 * list.c (read_header): Initialize signed_sum to 0. Use this
3605 opportunity for slightly reorganizing the code around.
3606 Reported by Anders Andersson, Andrey A. Chernov, Bruno Haible
3609 * tar.c: Declare name_buffer_length as size_t instead of int.
3610 Reported by Andreas Schwab, J.T. Conklin, Kaveh R. Ghazi and
3613 * rmt.h: Have the NO_REMOTE case be a particular case of the
3614 other, for rmtopen and rmtcreat were not transmitting the proper
3615 number of parameters to open and creat (since 26 July 1994).
3616 Reported by Andreas Schwab.
3618 * extract.c (extract_archive): Delay changing owner to after
3619 doing utime, for keeping long enough the permission of utime'ing.
3620 (extract_archive, restore_saved_dir_info): Idem for directories.
3621 Reported by Jonathan I. Kamens.
3623 * tar.h: Change malloc_dbg to dmalloc, mutatis mutandis.
3625 * tar.h: Undefine many macros if stat macros found to be
3626 broken. Define mkfifo only if configure did not find it.
3627 Include <sys/param.h> if not _POSIX_SOURCE, then <unistd.h> if
3628 we have it, than "pathmax.h". Move _POSIX_VERSION dependent
3629 code further down. Do not declare getcwd if we do not have it.
3630 * tar.c: Do not include <unistd.h>, now in "tar.h".
3631 Reported by Bernard Chen, Jean-Michel Soenen, John L.
3632 Chmielewski and Kaveh R. Ghazi.
3634 * tar.h: Define DEV_BSIZE, ST_BLKSIZE and ST_NBLOCKS,
3635 borrowing this code from both fileutils-3.9's "lib/system.h" and
3636 textutils-1.9's "system.h".
3637 * create.c (dump_file): Straighten the test for sparseness,
3638 which was requiring one block too much, most probably for trying
3639 to get around DEV_BSIZE/st_blksize confusion. Use ST_NBLOCKS,
3640 instead of computing a variable block_size and doing specific
3641 tests for HP-UX or Linux. Also rewrite the test so it works
3642 when ST_NBLOCKS is unsigned.
3643 Reported by Bruno Haible, Dean Gaudet, Dick Streefland, Harald
3644 König, Jim Meyering, Kai Petzke, Kaveh R. Ghazi and Torkel Hasle.
3646 1994-08-04 François Pinard <pinard@iro.umontreal.ca>
3648 * tar.c: Do not include <unistd.h> if we do not have it.
3649 Reported by Kaveh R. Ghazi.
3651 * Makefile.in (RTAPELIB): Prefix by $U for unprotoization.
3652 Reported by Kaveh R. Ghazi and Christian T. Dum.
3654 * port.c: Remove many static specifiers.
3655 Reported by Demizu Noritoshi, Kaveh R. Ghazi and William Bader.
3657 * rtapelib.c (__rmt_open): Replace system by remote, twice.
3658 Reported by Ben A. Mesander, Christian T. Dum, Demizu Noritoshi
3661 * tar.c (addname): Replace a forgotten EX_SYSTEM by
3663 Reported by Demizu Noritoshi, James W. McKelvey, Kaveh R.
3664 Ghazi and Robert E. Brown.
3666 1994-08-02 François Pinard <pinard@iro.umontreal.ca>
3668 * Prerelease 1.11.3.
3670 * tar.c (assign_string): New routines.
3671 * create.c (dump_file, start_header), extract.c
3672 (extract_archive), list.c (list_archive, read_header),
3673 buffer.c (open_archive), diffarch.c (diff_archive): Use
3674 assign_string for setting these variables to a string value or
3676 * buffer.c (open_archive): Sets current_file_name,
3677 current_link_name and save_name to NULL.
3678 (close_archive): Free each of them if not NULL.
3679 (fl_write): Take a copy of save_name into cursor, and advance the
3680 cursor instead, because save_name should stay free-able.
3681 Reported by Dave Gentzel, Harald Anlauf, Mark Clements, Robert
3682 Weissenfels, Ronald van Loon, Tsutomu Yamada and Vic Abell.
3684 * extract.c (extract_archive): Use xstrdup, for clarity.
3685 * gnu.c (add_dir): Idem.
3687 * list.c (print_header): Correct a little bug by which
3688 non-symbolic links were not printed properly quoted.
3690 * diffarch.c (diff_archive): Allocate tmpbuf to the proper
3691 size. NAMSIZ + 2 is not necessarily enough.
3693 1994-08-01 François Pinard <pinard@iro.umontreal.ca>
3695 * tar.h: Refresh str*/mem* configured declarations. Among
3696 other things, this will solve previously missing #undef's.
3697 * rmt.h: Revise strchr configured declaration.
3698 * *.c: Replace bzero by memset, bcopy by memcpy, bcmp by
3699 memcmp, index by strchr and rindex by strrchr.
3700 * port.c: Delete functions bzero and bcmp, said to not exist
3701 on Minix. AC_MINIX in configure.in should guarantee POSIX things.
3702 Reported by Drew Trieger, Hugh Secker-Walker and Vic Abell.
3704 * tar.h, tar.c, buffer.c, update.c: Change CMD_* to COMMAND_*.
3706 * buffer.c (open_archive): Use strcmp to compare archive name
3707 to `-', instead of doing it explicitely. Just for clarity.
3709 * tar.h, tar.c, buffer.c: Replace ar_files by
3710 archive_name_array, n_ar_files by archive_names and ar_files_len
3711 by allocated_archive_names. Replace the index cur_ar_file by
3712 archive_name_cursor, which is a cursor in archive_name_array.
3714 * tar.c (main): Move the initialization of
3715 archive_name_array at beginning, taken from options routine.
3716 Free it at end of main.
3717 (options): Use xrealloc instead of ck_realloc for archive_name,
3718 for the already saved names to be preserved.
3719 Reported by Per Bojsen.
3721 * tar.h, tar.c: Replace name_file by namefile_name.
3722 * tar.c: Replace n_ind by name_array, n_indused by names,
3723 n_indalloc by allocated_names, and n_indscan by name_index.
3724 Replace namef by name_file, n_argv by names_argv and n_argc by
3726 (main): Make an initial allocation for name_array at beginning,
3727 moved out from name_add, free it at end of main.
3729 * buffer.c (close_archive): Free ar_block at end.
3731 1994-07-30 François Pinard <pinard@iro.umontreal.ca>
3733 * tar.h [WITH_MALLOC_DBG]: Include "malloc_dbg.h".
3735 * create.c (create_archive): Do not attempt creating a
3736 directory summary file if -G, since -G sets gnu_dumpfile to 0.
3737 Reported by Alexander Dupuy.
3739 * create.c (dump_file): Avoid a NULL dereference with -G when
3740 trying to dump an empty directory.
3741 * gnu.c (add_dir_name): Same thing.
3742 Reported by Rainer Orth.
3744 Correction for the improper `data differs' diagnostic given when
3745 the continuation of a multi-volume was compared.
3746 * diffarch.c (diff_archive): If multi-volume, update save_name
3747 and save_totsize before calling wantbytes.
3748 * buffer.c (wantbytes): If multi-volume, update save_sizeleft.
3749 Reported by Andreas Schwab, Denis Fortin, François Pinard,
3750 Hiroyuki Bessho, Olaf Schlueter, Simon Wright and Saul Lubkin.
3752 1994-07-30 François Pinard <pinard@iro.umontreal.ca>
3754 * tar.c (options): Implement DEVICE_PREFIX and DENSITY_LETTER.
3755 Reported by Danny R. Johnston.
3757 * gnu.c (gnu_restore): Use CURRENT_FILE_NAME abbreviation.
3758 * extract.c (extract_archive): Idem.
3759 Reported by Timothy Fossum.
3761 1994-07-29 François Pinard <pinard@iro.umontreal.ca>
3763 * create.c (dump_file): Abort if no memory for a possible
3764 link, remove related bogus code, and the variable nolinks.
3765 Reported by Andreas Schwab.
3767 * create.c (dump_file): Detect file sparseness correctly for
3768 Linux ext2 filesystem.
3769 Reported by Kai Petzke.
3771 * port.c (link) [!MSDOS]: Do not call setmode.
3772 Reported by Richard Deal.
3774 Reorganization for `tar -d' to provide a different exit status.
3775 * tar.h: Replace errors by exit_status. Declare TAREXIT_*.
3776 * buffer.c (child_open): Exit with exit_status.
3777 * tar.c (main): Initialize exit_status to TAREXIT_SUCCESS, and
3778 exit with exit_status.
3779 * buffer.c, diffarch.c, gnu.c, list.c, port.c,
3780 rmt.c, tar.c, update.c: Replace EXIT_FAILURE by
3781 TAREXIT_FAILURE, and EXIT_SUCCESS by TAREXIT_SUCCESS.
3782 * tar.h (ERROR), create.c (dump_file): Set exit_status to
3783 TAREXIT_FAILURE instead of increasing errors.
3784 * diffarch.c (sigh, diff_sparse_files): On differences, set
3785 exit_status to TAREXIT_DIFFERS if nothing more serious already.
3786 Reported by Tilman Schmidt.
3788 * rmt.c: Define EXIT_FAILURE and EXIT_SUCCESS if not already.
3789 * rtapelib.c: Define EXIT_ON_EXEC_ERROR to 128 and use it.
3791 1994-07-27 François Pinard <pinard@iro.umontreal.ca>
3793 * diffarch.c (sigh): Increment errors, so a difference will
3794 yield a non-zero exit status at end.
3795 Reported by Nick Holloway.
3797 * tar.h: Rename TARERROR to WARN, then add ERROR which is similar,
3798 but increments the errors counter.
3799 * *.c: Replace all TARERROR by WARN or ERROR, deciding for each
3800 case. Many errors were not reflected in exit status.
3802 Reported by Carl Streeter, Esa Karell, George Chyu, Ian Jackson,
3803 Judy Ricker, Massimo Dal Zotto, Roland McGrath, Tilman Schmidt
3806 * buffer.c (child_open): Exit with EXIT_FAILURE if any error.
3808 * rtapelib.c: Use error for reporting errors.
3809 (do_command): New name for command.
3810 (get_status): New name for status.
3812 * buffer.c: Remove definition of MAGIC_STAT.
3813 (close_archive): Do not check MAGIC_STAT for an exit value, since
3814 this value is never returned.
3816 * *.c: Use TARERROR or exit with EXIT_FAILURE, instead of various
3817 esoteric statuses. Normalize using TARERROR with an exit status,
3818 instead of calling TARERROR with 0 first, then _exit. On exit
3819 calls, use EXIT_SUCCESS instead of 0.
3820 * tar.c: Do not use the exit status anymore for outputting an
3821 error counter value. Wrap around was creating spurious success.
3822 * tar.h: Remove EX_* definitions for tar exit statuses.
3823 Reported by Bob Mende and Torbjorn Granlund.
3825 1994-07-26 François Pinard <pinard@iro.umontreal.ca>
3827 * tar.h: Add f_rsh_command variable.
3828 * tar.c: Add and process --rsh-command option.
3829 * buffer.c (open_archive, child_open, new_volume): Pass
3830 f_rsh_command to rmtopen and rmtcreat calls.
3831 * rmt.h (rmtopen, rmtcreat): Pass a supplementary argument.
3832 * rtapelib.c (__rmt_open): Accept and process a command
3833 argument, to replace rsh.
3834 Reported by Jonathan I. Kamens.
3836 * tar.h: Instead of including <sys/file.h> with BSD42 or
3837 <fcntl.h> for V7, merely include <fcntl.h> if it exists,
3838 otherwise <sys/file.h>.
3839 * buffer.c, diffarch.c, extract.c, list.c,
3840 port.c, update.c: Do not include <fcntl.h> or
3841 <sys/file.h>, because they are indirectly included through
3844 * create.c (dump_file): Remove the BSD42 conditional. If not
3845 f_sparse_files, initialize upperbound as when not BSD42.
3846 Reported by Alan Bawden, Claude Scarpelli, Laurent
3847 Sainte-Marthe, Noah Friedman, Reuben Sumner, Tom Quinn and
3850 1994-07-24 François Pinard <pinard@iro.umontreal.ca>
3852 * tar.h: Merely define valloc as being malloc if valloc does
3854 * port.h: Remove valloc, which was only a dummy for malloc.
3855 Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman,
3856 J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
3858 1994-07-22 François Pinard <pinard@iro.umontreal.ca>
3860 * create.c (start_header): Cast NAMSIZ to size_t before
3861 comparing it to strlen result.
3862 Reported by Mark Frost.
3864 * tar.c (main): Zero out label_pattern before compiling in
3865 regular expressions, instead of using uninitialized memory.
3866 Reported by Holger Teutsch.
3868 * tar.c [!FNM_PATHNAME]: Include fnmatch.h only if unistd.h fails
3869 to define this symbol.
3870 Reported by Alan Modra, Christian T. Dum, Eddy ?, John
3871 Oleynick and Richard Lloyd.
3873 * buffer.c, diffarch.c, rtapelib.c, update.c:
3874 Include <sys/io/trioctl.h> before <sys/mtio.h>, if it exists.
3875 Reported by Kaveh R. Ghazi.
3877 * tar.c (options): Use defined OPTION_* constants instead of
3878 anonymous numbers for long options not having a short option form.
3880 * rmt.h [!MTIOCTOP]: Do not define RMTIOCTL, so __rmt_ioctl
3881 will not be called if it has not been compiled in rtapelib.c.
3883 * tar.h: Add CMD_TOO_MANY.
3884 * tar.c (main): Use CMD_TOO_MANY, and get rid of badopt label.
3885 Reported by David J. MacKenzie.
3887 * tar.c (usage): New name for describe(). Rewritten with
3888 better help formatting and more logical grouping of options.
3889 Accepts an exit status argument. Callers adapted.
3890 Reported by Richard O'Neill.
3892 1994-07-20 François Pinard <pinard@iro.umontreal.ca>
3894 * port.c (rename): Constify the arguments.
3895 Reported by Elmar Heeb, Jeff Prothero and John Clark.
3897 * tar.c (main): Declare version_string locally.
3898 * version.c: Deleted.
3899 * Makefile.in: Adjusted.
3901 1994-07-19 François Pinard <pinard@iro.umontreal.ca>
3903 * tar.h: Merge "port.h" towards the beginning of tar.h.
3904 Include <stdio.h> and <errno.h>, and define errno if needed.
3905 * *.c: Do not include "port.h" anymore after "tar.h", do not
3906 include <stdio.h>, <errno.h> nor <sys/types.h>. Also move
3907 "tar.h" as the first file included in every module. This
3908 would solve, among other things, the problem of RE_DUP_MAX
3909 being redefined by <limits.h>, when included after "regex.h".
3911 * Makefile.in: Adjusted.
3912 Reported by Alan Modra, Christian T. Dum, Dimitris Fousekis,
3913 John David Anglin, Matthew Braun, Michael Maass, Richard Lloyd
3914 and Stefan Skoglund.
3916 * create.c (dump_file): Do not cast alloca result to (char *).
3917 The problem reported was that alloca result was seen as int, but
3918 with the changes just made, alloca should be properly declared.
3919 Reported by Bryant Fujimoto and Michael Kubik.
3921 1994-07-06 François Pinard <pinard@iro.umontreal.ca>
3923 * create.c, extract.c [HAVE_UTIME_H]: Instead of _POSIX_VERSION,
3924 for choosing to include <utime.h>.
3925 Reported by Carl Swanson and Thomas Krebs.
3927 1994-07-05 François Pinard <pinard@iro.umontreal.ca>
3929 * tar.c: Replace DEF_AR_FILE with DEFAULT_ARCHIVE, replace
3930 DEFBLOCKING with DEFAULT_BLOCKING.
3932 * rtapelib.c: Replace "??'" by "?? '" at two places in a
3933 comment, so avoiding Pyramid's DC/OSx compiler to complain about
3934 ANSI trigraph sequences. Even comments can trigger bugs, now!
3935 Reported by Mark Frost.
3937 * tar.h: Declare valloc.
3938 * buffer.c, diffarch.c: Remove declaration for valloc.
3940 * testpad.c: Deleted.
3941 * tar.h: Do not include "testpad.h" anymore.
3942 * Makefile.in: Delete testpad matters.
3944 * buffer.c (new_volume): Inside case 'n', strcpy into r then
3945 assign r to p, instead of strcpy'ing directly into p, for making
3946 the module const clean.
3948 1994-07-03 François Pinard <pinard@iro.umontreal.ca>
3950 Rename a few variables to avoid shadowing variables or functions:
3951 * list.c (print_header): Change name to quoted_name.
3952 * buffer.c (child_open): Change pipe to local_pipe.
3953 * extract.c (extract_archive): Change namelen to namelen_bis.
3954 * rtapelib.c (__rmt_open): Change system to remote.
3956 * tar.c (options): Add two missing arguments to getoldopt
3957 call, NULL is not necessarily implied on all systems.
3959 * list.c (print_header): Add a few missing long specification
3961 * diffarch.c (compare_chunk, diff_sparse_files): Idem.
3962 * port.c (msg, msg_perror): Idem.
3964 * tar.h: Include prototypes for all functions which call from
3965 one module to another. Declare voidstar (use it everywhere
3966 instead of PTR). Move in the include <sys/stat.h> from
3967 <port.h>, and the include of option.h from tar.c and
3968 getoldopt.c, waiting for a better solution for all these things.
3969 * port.c: Removed PTR declaration and including <sys/stat.h>.
3970 * getoldopt.c, tar.c: Remove including "option.h".
3972 1994-07-02 François Pinard <pinard@iro.umontreal.ca>
3974 * *: Protoized all function headers. Added static to
3975 functions which can take it. Add many const specifiers. Remove
3978 * port.c (xmalloc): Delete function, do not mask the true one.
3979 * port.c (ck_malloc): Use xmalloc, waiting for annihilation.
3980 * port.c (ck_realloc): Use xrealloc, waiting for annihilation.
3981 * *: Begin switching from ck_malloc (or even pure malloc) to
3982 xmalloc. Same for ck_realloc (pure realloc) to xrealloc.
3983 Doing this correctly is a delicate matter, which I'll continue
3984 without reporting it anymore, while doing other modifications.
3986 * *: Replace msg and msg_perror calls by TARERROR macro calls.
3987 Capitalize first word of all error messages, remove ending
3988 punctuation or newline. Systematically avoid contractions for
3989 `Cannot' and `Could not'. Always write `WARNING:' all in capitals.
3990 * tar.h: Declare TARERROR as calling error(). Rename
3991 variable tar to program_name.
3992 * tar.c (main, options), buffer.c (child_open), port.c
3993 (msg, msg_perror), gnu.c (gnu_restore): Rename variable tar to
3995 * gnu.c (gnu_restore): Remove a spurious repetition of
3996 program_name in error message.
3998 1994-07-01 François Pinard <pinard@iro.umontreal.ca>
4000 * buffer.c, create.c extract.c, gnu.c, list.c,
4001 names.c, rmt.c, tar.c, update.c: Remove all (void)
4002 prefixes to function calls. There are limits to lint clutter.
4004 1994-06-30 François Pinard <pinard@iro.umontreal.ca>
4006 * port.h: Remove definition of const. Let configure do it.
4008 * tar.h, rmt.c, rtapelib.c, version.c, testpad.c: Add a block
4009 for including <config.h> or "config.h". If "tar.h" was included
4010 everywhere, the block will only be needed there.
4012 * *.[ch]: Reindented to GNU standards (they were not far).
4013 Got rid of all `* ' left prefixes in comments and refilled them.
4014 There is still a lot of cosmetic changes needed everywhere.
4015 I will not report them any more, doing them along the way of
4016 other things in the future.
4018 * Makefile.in: New file.
4020 * Split distribution into a few subdirectories, for easing
4023 * Taking over maintenance duties.
4025 1993-08-31 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4027 * rmt.c [M_UNIX]: Include sys/tape.h instead of sys/mtio.h.
4028 Reported by Drew Sullivan and William Bader.
4030 1993-07-29 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4032 * Makefile.in (config.status): Run config.status --recheck, not
4033 configure, to get the right args passed.
4035 1993-07-19 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4037 * Makefile.in (libdir): Use standard GNU value --
4038 $(exec_prefix)/lib, not /etc.
4040 1993-07-08 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4042 * Makefile.in (installdirs, configure, config.status,
4043 Makefile): New targets.
4045 1993-06-14 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
4047 * Makefile.in (.c.o): Put -I. before -I$(srcdir), and make
4050 1993-05-22 The King <elvis@graceland.gnu.ai.mit.edu>
4052 * extract.c (extract_archive, restore_saved_dir_info): Print
4053 mode in octal, not in decimal.
4054 Reported by Scott S. Bertilson.
4056 1993-03-26 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
4058 * configure.in: Better way of detecting HP-UX.
4059 Reported by Noah Friedman.
4061 1993-03-25 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4063 * version.c: Released version 1.11.2.
4065 * Makefile.in (dist): Do the link differently; some of the
4066 files have changed filesystems which makes it more complex.
4068 * Makefile.in (dist, shar): Use gzip instead of compress.
4070 * create.c (dump_file): Test for curdev == -1, not curdev < 0.
4071 Some losing NFS systems give negative device numbers sometimes.
4072 Reported by Thorbjxrn Willoch.
4074 1993-03-19 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4076 * buffer.c (new_volume): Write the global volume number to the
4077 volno file before running the info script, so that the script
4080 1993-03-17 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4082 * tar.c (describe, long_options): Changed --compress-block to
4084 (options): Fixed f_compress_block sanity check error message
4085 to give the correct name of the option.
4087 1993-03-16 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4089 * extract.c (extract_archive): case LF_DIR: Do chown when
4090 necessary. Don't bother jumping to set_filestat for
4091 f_modified; repeat the chmod code here. Replace `break',
4092 deleted on 2 September 1992.
4094 * tar.c (describe, long_options, options): Added gzip options
4095 and use-compress-program option.
4096 * tar.h: Added new compression options.
4097 * buffer.c (child_open, open_archive): Use new compression options.
4099 * create.c (start_header): Only mask off high bits when
4100 creating old-style archives.
4101 * list.c (decode_header): Mask off potentially misleading
4102 high bits from the mode when reading headers.
4103 Reported by Paul Eggert.
4105 1993-03-15 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4107 * extract.c (extract_archive): Put arguments in the right
4108 order for error message.
4109 Reported by Bruno Haible.
4111 * create.c (deal_with_sparse): If the last byte was null, we
4112 didn't write it out.
4114 * gnu.c, create.c, extract.c, diffarch.c, list.c:
4115 Replace malloc calls with ck_malloc and realloc with ck_realloc.
4116 Reported by Jonathan Kamens.
4118 * tar.c (describe): Improve doc for -L.
4120 * tar.c (name_next): Don't apply exclusion to explicitly named
4123 * tar.c (long_options, describe): Added new-volume-script as
4124 an alias for info-script.
4126 * extract.c (extract_archive): LF_DUMPDIR case; misplaced paren.
4128 * extract.c (extract_archive): extract_file case, first if,
4129 include space for null in namelen computation.
4131 * extract.c (extract_sparse_file): Use value returned by write
4132 to properly create error message.
4134 * create.c (create_archive): Don't assume we have anything to
4137 * buffer.c (open_archive): Set current_file_name for the
4138 volume header so that verbose listings work properly.
4140 * Makefile.in (realclean): Added getdate.c.
4142 * create.c (deal_with_sparse): If exactly 26 elements in
4143 sparsearray, only 25 were written.
4144 Reported by Jim Murray.
4146 * create.c (deal_with_sparse): If the file ends with a zero
4147 block, the last byte was not written. This is fixed in create
4148 rather than extract: if amidst_data is not set at EOF, put out a
4149 block with just the last byte of the file.
4150 Reported by Jim Murray.
4152 1993-01-14 David J. MacKenzie <djm@kropotkin.gnu.ai.mit.edu>
4154 * tar.c: Include fnmatch.h after port.h to make sure we get our FNM_*
4157 1992-11-24 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4159 * tar.c (addname), gnu.c (read_dir_file) [HAVE_GETCWD]: Instead of USG.
4161 * port.h, rmt.h [HAVE_STRING_H]: Instead of USG.
4163 * port.h: Add dir header decls.
4164 * create.c, gnu.c: Use SYSNDIR, SYSDIR, and NDIR
4165 instead of BSD42 and USG. Rename DP_NAMELEN to NLENGTH.
4166 Use `struct dirent' instead of `struct direct'.
4167 * create.c, gnu.c, tar.c: Remove dir header decls.
4169 1992-11-18 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4171 * tar.c: Change FNM_TARPATH to FNM_LEADING_DIR to match change
4174 1992-10-02 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4176 * tar.c (describe): Fix some tab alignments.
4178 * Makefile.in (SRC3): Add getdate.c, for systems without bison/yacc
4181 * diffarch.c (diff_sparse_files): Add missing arg to fprintf calls.
4183 * extract.c (extract_archive, restore_saved_dir_info),
4184 buffer.c (child_open), list.c (decode_header, print_header):
4187 * port.c [__MSDOS__]: Have strstr, rename, and mkdir. Don't
4190 * buffer.c, tar.c (init_volume_number, closeout_volume_number),
4191 create.c (write_long): Declare as void, not int, since they
4192 don't return a value.
4194 1992-09-22 Michael I Bushnell <mib@wookumz.gnu.ai.mit.edu>
4196 * buffer.c (close_archive): Removed leftover `break' from when
4199 1992-09-22 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
4201 * create.c, port.h: indented #pragma directives with 1 space.
4203 1992-09-18 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4205 * All source files: re indented using GNU indent.
4207 * rtapelib.c (__rmt_read): Only read the amount left in the
4208 buffer; otherwise a broken rmt server (which puts too much
4209 data out) could overwrite past our buffer.
4211 1992-09-17 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4213 * configure.in: Check for getpwuid and getgrgid.
4214 Reported by J.T. Conklin.
4216 * create.c: Throughout, use struct utimbuf rather than array
4218 Reported by J.T. Conklin and Michael Ellis.
4220 * Makefile.in (SRC3, AUX): Move alloca.c to SRC3.
4221 (OBJ3): Add @ALLOCA@.
4223 * Makefile.in (getdate.c): Look in srcdir for getdate.y.
4225 * buffer.c (close_archive): We can't check WTERMSIG
4226 meaningfully unless we already know tha WIFSIGNALED is true.
4227 (There is no guarantee it WTERMSIG will return zero when
4228 WIFSIGNALED is false.)
4229 * port.c (rmdir, mkdir): Check WIFSIGNALED rather than
4232 * Makefile.in (getdate.c): Use $(YACC) instead of `yacc'.
4234 1992-09-15 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4236 * version.c: Released version 1.11.1.
4238 * Makefile (AUX): Added NEWS.
4240 * Makefile.in (rmt): Added $(LIBS).
4242 * mangle.c (extract_mangle): Null terminate link name for
4243 losing archives missing it.
4245 * configure.in: Added tests for libraries needed on Solaris.
4247 * Makefile.in: added target and rule for getdate.c: getdate.y;
4248 some makes don't have one built in.
4250 1992-09-14 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4252 * tar.c (options, main): Advise use of --help rather than
4254 Reported by J.T. Conklin.
4256 * create.c (write_long): Using hstat here is a Bad Idea, and
4257 totally unnecessary at that.
4259 * list.c (read_header): Compute both signed and normal
4261 Reported by Robert E. Brown.
4263 * diffarch.c, buffer.c: Declare valloc as void* rather than
4265 Reported by Robert E. Brown.
4267 * Makefile.in: Don't install info files.
4269 * port.h: Undefine index and rindex if necessary; some
4270 string.h's define them for us.
4272 * tar.c (addname): Missing braces after if.
4273 * gnu.c (read_dir_file): Missing braces after if.
4275 * names.c: Add include of <stdio.h>,
4277 * create.c (start_header): Set current_file_name so that
4278 print_header, used for verbose create, works properly.
4279 (dump_file): Set current_link_name when setting up symlink
4280 and hardlink records.
4281 Reported by Robert Crowe.
4283 * configure.in: Define BSD in the presence of /sdmach or
4285 Reported by Robert E. Brown.
4287 * configure.in: Check for malloc was scrambled.
4289 1992-09-11 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4291 * fnmatch.[ch]: New files.
4292 * wildmat.c: File removed.
4293 * tar.c: Include fnmatch.h and use fnmatch instead of wildmat.
4294 * Makefile.in, makefile.pc: Replace wildmat.o(bj) with fnmatch.
4296 1992-09-10 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4298 * buffer.c, tar.c: Remove redundant decls of getenv, rindex.
4300 * Makefile.in: Add uninstall target.
4301 Define libdir instead of hardcoding /etc for installing rmt.
4303 1992-09-10 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4305 * list.c (read_header): On second thought, that doesn't work
4306 either, so just store the names in malloced areas. Sigh.
4309 * README: Removed things that belong in NEWS; point to it.
4311 * list.c (read_header): current_file_name and
4312 current_link_name need to be set to the arrays in head rather
4313 than header; header is the actual read buffer and will change.
4315 * extract.c (extract_archive):
4316 * buffer.c (new_volume): `#' directives need to start in
4318 Reported by J.T. Conklin.
4320 1992-09-09 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4322 * version.c: Release of version 1.11.
4324 * Makefile.in (AUX): Add getpagesize.h.
4325 (AUX): Comment out manuals.
4326 (all): Comment out dependency on tar.info.
4328 * Makefile, configure.in: Arrange to use local malloc on HP-UX.
4330 * port.h Use the canonical Autoconf chunk for alloca instead
4331 of just looking for gcc.
4333 1992-09-09 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
4335 * port.h: If compiling with gcc, use __builtin_alloca.
4337 1992-09-08 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4339 * extract.c: Removed long name support from here.
4340 * list.c (read_header): Understand and skip longname/longlink
4341 headers here. Names for current file are stored in new global
4342 variables. All source files except create.c changed to refer
4343 to current_file_name and current_link_name instead of fields
4344 directly from the current header.
4346 1992-09-03 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4348 * create.c (write_long): New function.
4349 (dump_file): When writing link records or symlink records, use
4350 new write_long function instead of mangling when the link
4352 (start_header): Use write_long instead of mangling for long
4354 * extract.c (saverec): Recognize LF_LONGNAME and LF_LONGLINK.
4355 (saverec): Throughout, use longname and longlink if they are set.
4357 1992-09-02 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4359 * mangle.c: This is now deprecated; retain extract_mangle for
4360 backward compatibility.
4362 * list.c (print_header): Prevent printing 0 when the gid or uid is
4364 Reported by Chris Arthur.
4366 * list.c (decode_header): Use the gid field when the gid is empty,
4367 and similarly for uid.
4368 Reported by Chris Arthur.
4370 * extract.c: saved_dir_info, saved_dir_info_head: new type and
4372 (extract_archive): When extracting directories, now save info
4373 in saved_dir_info_head.
4374 (restore_saved_dir_info): New function.
4375 * list.c (read_and): Call restore_saved_dir_info at the end of
4377 Reported by Chris Arthur.
4379 1992-08-31 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4381 * create.c (create_archive): If there are no names specified,
4382 write nothing on the archive instead of dumping ".".
4384 * buffer.c (open_archive): Useful error message.
4386 * tar.c, tar.h: Recognize f_atime_preserve.
4387 * create.c (dump_file): Implement f_atime_preserve.
4389 * rmt.h (_remdev): Don't require /dev/ to be in remote archive
4390 names; obey new force-local flag.
4391 * tar.c, tar.h: Implement new force-local flag.
4392 Reported by Roland Schemers III.
4394 * tar.c (describe): same-owner and same-order were confused.
4396 * create.c (dump_file): Check for toplevel had sense reversed.
4398 * buffer.c (new_archive): Don't free old_name...when these
4399 come from the command line, they aren't malloced, and it isn't
4400 important to save this trivial amount of memory.
4402 * tar.h: replace ar_file with ar_files, n_ar_files,
4404 * buffer.c (open_archive): multi-volume compressed archives
4405 never worked; give an appropriate error. Change open of
4406 ar_file to open of ar_files[0].
4407 (writeerror, readerror, flush_archive): use
4408 ar_files[cur_ar_file] instead of ar_file.
4409 (new_archive): Necessary changes to support ar_files.
4410 * tar.c (options): handle multiple tape drive arguments.
4412 1992-08-28 Michael I Bushnell <mib@wookumz.gnu.ai.mit.edu>
4414 * list.c (decode_header), create.c (start_header), tar.h (TMAGIC):
4415 Undo djm's changes below; tar does not support the final
4416 Posix.1 format; it's bad to make it look like it does.
4418 1992-07-19 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4420 * port.h: Try to prevent redefining major.
4421 * port.c [minix]: Implies HAVE_BZERO. Fix a typo.
4423 * list.c (decode_header): Recognize the final POSIX.1 magic as
4424 well as the early draft magic for ustar.
4425 * create.c (start_header): Create a final POSIX.1 magic string
4426 instead of an early draft string for ustar.
4427 * tar.h (TMAGIC): Remove the trailing blanks.
4429 * rmt.c, rtapelib.c: Use POSIX and STDC headers if available.
4430 * rmt.h: Declare the external functions defined in rtapelib.c.
4432 1992-07-14 David J. MacKenzie <djm@apple-gunkies.gnu.ai.mit.edu>
4434 * pathmax.h: New file.
4435 * port.h: Include it.
4436 * create.c (create_archive): Allocate PATH_MAX instead of
4437 NAME_MAX for temporary buffer so we don't have to figure out
4438 what NAME_MAX is (portably).
4440 1992-07-10 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4442 * gnu.c (collect_and_sort_names): write_dir_file has no argument.
4444 1992-07-06 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4446 * port.c (rename): If unlinking the source at the end fails,
4447 unlink the destination instead to avoid leaving a mess.
4449 1992-07-03 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4451 * buffer.c, diffarch.c, update.c, rtapelib.c [HAVE_SYS_MTIO_H]:
4454 * port.c, tar.h [HAVE_FOO]: Instead of FOO_MISSING.
4456 1992-06-23 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4458 * rmt.c: Add #ifdefs to work on ISC.
4460 1992-05-20 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4462 * port.h: Define major, minor, makedev if the system doesn't.
4464 1992-05-13 Michael I Bushnell <mib@apple-gunkies.gnu.ai.mit.edu>
4466 * gnu.c (add_dir_name): Store legitimate value into
4467 dir_contents when get_dir_contents returns NULL.
4469 1992-05-07 Michael I Bushnell <mib@apple-gunkies.gnu.ai.mit.edu>
4471 * gnu.c (add_dir_name): Check for return of NULL from
4472 get_dir_contents; see djm's change of Fri Jul 26 01:12:58 1991.
4474 1992-05-04 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4476 * tar.h: Make comments for option names say -- instead of +.
4478 1992-04-29 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4480 * tar.c, tar.t: Added +volno-file option.
4481 buffer.c (init_volume_number, closeout_volume_number): New functions.
4482 tar.c (main): Call new functions in the right place.
4484 * buffer.c (fl_write, fl_read): Mod to allow losing tape
4485 drives which use short counts to indicate end of tape
4486 correctly handle the multi-tape stuff. The read half won't
4487 co-exist with f_reblock; there's no way to fix that, of
4490 * tar.c, tar.h: Added new option +show-omitted-dirs.
4491 list.c (read_and): Implemented show-omitted-dirs.
4492 Reported by Karl Berry.
4494 * tar.c, tar.h: Added new option +checkpoint.
4495 buffer.c (fl_read, fl_write): Implemented +checkpoint lazily.
4497 * create.c (dump_file): Added toplevel argument; some devices
4498 can be negative, so the old method was bogus. All callers
4500 Reported by Max Hailperin.
4502 * tar.c, tar.h: Added new option +ignore-failed-read.
4503 create.c (dump_file): Implemented +ignore-failed-read.
4504 Reported by Bob Mende Pie.
4506 * create.c (finish_sparse_file): Commented out debugging printf.
4508 * tar.c, tar.h: Added new option +remove-files to delete files
4509 after they are added to the archive.
4510 create.c (dump_file): Implemented +remove-files for
4511 everything but directories. I don't think they need it.
4513 1992-04-28 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4515 * create.c: (dump_file): save_name needs to be set equal to p,
4516 not something inside the header, because the header changes at
4517 the first buffer flush.
4519 1992-04-24 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4521 * create.c: Djm incorrectly moved the include of port.h to
4522 precede the include of sys/file.h; restored.
4524 * tar.c (main): Cases CMD_EXTRACT and CMD_LIST: declare error
4527 * gnu.c (collect_and_sort_names): Leave if around
4528 write_dir_file in place.
4530 1992-04-22 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4532 * rtapelib.c: SIGTYPE -> RETSIGTYPE.
4534 1992-03-09 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4536 * rtapelib.c: Reformat and make comments more complete.
4537 Rename a few variables for clarity.
4539 1992-03-05 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4541 * tar.c (describe): Document long options as starting with --.
4543 1992-01-23 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4545 * tar.c (options): Check get_date return value for error indication.
4547 1991-12-24 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4549 * tar.c, gnu.c, extract.c, create.c, port.h, rmt.h [HAVE_UNISTD_H,
4550 _POSIX_VERSION]: Instead of POSIX ifdefs.
4552 1991-12-20 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4554 * testpad.c (main): flush stderr so perror and fprintf
4557 1991-12-18 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4559 * port.h [MAJOR_IN_MKDEV, MAJOR_IN_SYSMACROS]: To find where to
4560 get major, minor and makedev.
4561 * create.c, list.c, update.c: Don't check USG to include
4564 1991-12-12 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4566 * mangle.c (extract_mangle): Correctly null terminate name of
4569 1991-11-21 Michael I Bushnell <mib@nutrimat>
4571 * create.c (dump_file, at start of ISREG output loop): use
4572 filename from header instead of real name to make sure that we
4573 get the mangled version and not one that is too long and
4576 1991-11-16 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4578 * tar.h: Use new criteria for STDC version of msg.
4580 1991-11-02 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4582 * create.c, gnu.c, tar.c [USG]: Use DIRENT instead of NDIR to select
4583 between dirent.h and ndir.h.
4585 * port.c [FOO_MISSING]: Instead of WANT_FOO, to make sharing code
4586 and configure script with other utilities easier.
4587 [VPRINTF_MISSING, DOPRNT_MISSING]: Instead of FOO_MSG, to select
4588 error reporting routines.
4590 1991-08-29 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4592 * tar.c (long_options). Fixed info-script long option.
4593 Reported by Eric Norum.
4595 1991-08-26 David J. MacKenzie <djm@pogo.gnu.ai.mit.edu>
4597 * configure, Makefile.in: Only put $< in Makefiles if VPATH
4598 is being used, because older makes don't understand it.
4600 1991-08-19 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4602 * create.c: Indent '#pragma alloca' so non-ANSI compilers
4605 1991-08-14 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4607 * list.c (UGSWIDTH): Increase from 11 (sort of like Unix tar) to
4608 18, so that with normal user and group names of <= 8 chars,
4609 the columns never shift in a tar -t listing.
4611 1991-08-02 David J. MacKenzie <djm@apple-gunkies>
4613 * Makefile.in (dist): Include texinfo.tex and tar.info*.
4614 (install): Install tar.info*.
4615 * configure: Set INSTALLDATA.
4617 * configure: Create config.status. Remove it and Makefile if
4618 interrupted while creating them.
4620 * configure: Check for +srcdir etc. arg and look for
4621 Makefile.in in that directory. Set VPATH if srcdir is not `.'.
4622 * Makefile.in: Add `prefix'.
4623 (tar.info): New target.
4625 1991-07-30 David J. MacKenzie <djm@apple-gunkies>
4627 * configure [FTIME_MISSING]: Instead of NEED_TZSET.
4629 1991-07-29 David J. MacKenzie <djm@wombat.gnu.ai.mit.edu>
4631 * port.c [F_CHSIZE]: Additional version.
4633 1991-07-27 David J. MacKenzie <djm@wombat.gnu.ai.mit.edu>
4635 * rmt.h: Clean up ifdefs.
4637 * makefile.pc: Fix typo.
4638 * port.h [__MSDOS__]: Instead of MSDOS.
4639 [__MSDOS__]: Define off_t. Include io.h and not sys/param.h.
4640 [__TURBOC__]: Use void * and don't define const.
4642 1991-07-26 David J. MacKenzie <djm@bleen>
4644 * buffer.c: Rename `eof' to `hit_eof' to avoid conflict with an
4646 * gnu.c (get_dir_contents): Return NULL, not "\0\0\0\0", on error.
4647 * diffarch.c (diff_archive): Open files in binary mode.
4648 Don't use or free a non-malloc'd return value from get_dir_contents.
4649 * msd_dir.c [__TURBOC__]: Include stdlib.h.
4650 * rmt.h: lseek returns off_t, not long.
4652 * tar.c (describe): -X is +exclude-from, not +exclude.
4653 (names_notfound): Free memory only if amiga, not !unix.
4655 * tar.h, tar.c: Add +null option to make -T read
4656 null-terminated filenames (such as those produced by GNU find
4657 -print0), and disable -C option.
4658 This guarantees that odd filenames will get archived.
4659 * tar.c (read_name_from_file): New function.
4660 (name_next): Call it instead of fgets.
4661 From David J. MacKenzie.
4663 1991-07-24 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4665 * create.c [_AIX]: Declare alloca.
4667 * buffer.c (open_archive): Check for successful open before,
4668 not after, fstatting the fd.
4670 1991-07-23 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4672 * configure: Only define BSD42 if sys/file.h exists.
4673 If alloca is missing and /usr/ucblib exists (SVR4), use it
4676 * port.h [!__STDC__]: #define const.
4677 * gnu.c (dirent_cmp): Fix args to agree with ANSI C prototype.
4678 * create.c: Declare ck_realloc.
4679 * gnu.c, diffarch.c: Move check for symlinks to after port.h include.
4681 1991-07-20 David J. MacKenzie <djm@apple-gunkies>
4683 * msd_dir.[ch]: Use POSIX-style `struct dirent' instead of
4685 * create.c, gnu.c, tar.c: Adjust callers.
4687 1991-07-18 David J. MacKenzie <djm@bleen>
4689 * port.c (ck_malloc, ck_realloc): Return PTR, not char *.
4690 * gnu.c, create.c, tar.c: Fix decls.
4692 * port.c: Don't use the preprocessor to guess missing
4693 functions on Unix; let configure do it.
4694 [WANT_GETWD] (getwd): Function removed; not needed because
4695 getcwd is used if needed.
4696 * gnu.c, tar.c [POSIX]: Use getcwd.
4698 * rtapelib.c: Use SIGTYPE instead of testing SIGNAL_VOID.
4699 Default to void (more common these days) instead of int.
4701 * tar.c, gnu.c, mangle.c: Remove VOIDSTAR defn. Use PTR instead.
4702 * port.h: Define PTR.
4704 * gnu.c, tar.c [__MSDOS__ || USG]: Remove incorrect getcwd decl.
4705 [!POSIX]: Put correct one in port.h.
4707 * tar.c (describe): Print on stdout instead of stderr; it's
4708 not so much a usage message (since you have to ask for it
4709 explicitly) as on-line help, and you really need to be able to
4710 page it because it's more than a screen long.
4712 * Make #ifdefs for sys/file.h or fcntl.h, directory header,
4713 sys/mtio.h consistent between files. Use NO_MTIO instead of
4714 tricks with USG and HAVE_MTIO and NO_RMTIOCTL.
4715 * Move decls of ANSI C and POSIX functions to port.h and
4716 use standard headers to declare them if available
4717 [STDC_HEADERS or POSIX].
4718 * Add many missing function declarations and return types.
4719 * Some places used __MSDOS__, some MSDOS; standardize on __MSDOS__.
4720 * Change S_IF macros to S_IS for POSIX.
4721 * port.h: Define appropriate S_IS macros if missing.
4722 * port.h [POSIX]: Rename macros for testing exit status to conform to
4723 POSIX; use the system's versions if available.
4724 * Use POSIX PATH_MAX and NAME_MAX instead of MAXPATHLEN and MAXNAMLEN.
4725 * port.h: Define PATH_MAX and NAME_MAX.
4726 * create.c, gnu.c, tar.c: Use ck_malloc and free instead of
4727 auto arrays of size PATH_MAX or NAME_MAX, since with pathconf
4728 they might not be constants.
4729 * Move all definitions of O_* to port.h to reduce redundancy.
4730 * Make all source files that now need to include port.h do so.
4731 * port.c: Remove #undefs of WANT_* so you can use -DWANT_*
4732 when compiling, instead of having to edit port.c.
4733 [WANT_DUMB_GET_DATE] (get_date): Function removed.
4734 Even systems without bison can get bison output and compile it.
4735 [WANT_STRING] (index, rindex, bcopy, bzero, bcmp): Functions
4736 removed; the translation is now done by macros in port.h.
4737 * wildmat.c (wildmat): Use POSIX.2 '!' instead of '^' to negate
4740 1991-07-15 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4742 * testpad.c (main): Return type void.
4744 * port.c [WANT_STRING]: Don't include memory.h if NO_MEMORY_H.
4746 * create.c (dump_file) [AIX]: Fix typo, `allocate' for `alloca'.
4747 * gnu.c (collect_and_sort_names): Move misplaced brace out of #ifdef.
4748 Reported by Minh Tran-Le.
4750 * configure: Also look in sys/signal.h for signal decl.
4752 1991-07-10 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4754 * Rename rtape_server.c to rmt.c and rtape_lib.c to rtapelib.c.
4756 * configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL).
4758 1991-07-09 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4760 * Most files: Refer to GPL version 2.
4761 * COPYING: Use version 2.
4763 * port.c [__TURBOC__] (utime): New function.
4765 * xmalloc: New function (just calls ck_malloc), for alloca.c
4766 and bison.simple (in getdate.y output).
4768 * Makefile.in (AUX): Include alloca.c and tcexparg.c, a
4769 command line globber for Turbo C.
4771 1991-07-08 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4773 * testpad.c: Open and write to testpad.h instead of stdout,
4774 because some MS-DOS makes (Borland's at least) can't do
4775 redirection in commands.
4776 * Makefile.in: Don't redirect testpad output.
4778 1991-07-08 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
4780 * buffer.c (fl_read): Missing \n in printf.
4782 1991-07-08 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4784 * create.c, extract.c, gnu.c, diffarch.c, tar.c: Comment out
4787 * tar.c (options): Cast get_date arg to VOIDSTAR instead of
4788 `struct timeb *', since on some non-BSD systems the latter is
4791 1991-07-06 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4793 * Replace Makefile with configure, Makefile.in, and makefile.pc.
4794 Update README with current compilation instructions.
4796 * port.c [WANT_RENAME] (rename): New function.
4798 1991-07-03 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4800 * testpad.c (main): Avoid warning from some compilers on array
4803 * rtape_server.c (sys_errlist): Should be declared extern.
4804 Reported by Stuart Kemp.
4806 1991-07-01 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4808 * Release of version 1.10; appropriate changes to README.
4810 * create.c: Removed printf's about sparse files.
4812 1991-06-21 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4814 * list.c (skip_extended_headers): Userec was being called in
4817 1991-06-20 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4819 * tar.h [STDC_MSG]: Use ANSI prototypes for msg and msg_perror,
4820 even if BSD42 is also.
4822 * Makefile: Replace DESTDIR with bindir.
4823 (install): Don't install tar.texinfo. There's no standard
4824 place for texinfo files, and /usr/local/man is inappropriate.
4825 Add TAGS, distclean, and realclean targets and SHELL= line.
4827 * version.c: Move old change history to bottom of ChangeLog.
4829 1991-06-12 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4831 * rtape_lib.c (__rmt_write) [SIGNAL_VOID]: Instead of USG.
4833 1991-06-05 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4835 * tar.c (name_match, addname): Ugly hack to handle -C without
4836 any files specified.
4837 tar.h (struct name): New field for ugly hack.
4839 1991-06-03 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4841 * testpad.c: New file to determine if we need special padding
4842 in struct header in tar.h.
4844 * tar.h (struct header): include padding if necessary, include
4847 * Makefile: rules to create testpad.h, etc.
4849 1991-05-22 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
4851 * tar.c (options): -L takes an argument.
4853 * rtape_lib.c (__rmt_open): add /usr/bin/nsh to the list of
4854 remote shell programs.
4856 * create.c: define MAXPATHLEN if we don't get it from a system
4859 * create.c (deal_with_sparse): return a real return value if
4860 we can't open the file.
4862 * tar.c (long_options): +newer takes an argument.
4863 (describe): fix printing in various trivial ways
4865 1991-05-21 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4867 * tar.c (long_options): +get and +concatentate don't require arguments
4869 1991-05-20 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4871 * create.c (write_eot): Don't try and write an EOF if we are
4874 * port.c (strstr): Looking for null string should return zero.
4876 1991-05-19 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4878 * tar.c (options): -l doesn't take an argument
4880 * Makefile: Minor fix for SGI 4D defines.
4881 Reported by Andrew Torda.
4883 * rtape_server.c (main.c): For 386/AIX. I'm suspicious about this
4885 * create.c (dump_file): For hidden files on AIX.
4886 gnu.c (collect_and_sort_name, get_dir_contents): AIX hidden file mod.
4887 Reported by Minh Tran-Le.
4889 * tar.c: (name_next): Allow -C inside a file list given to -T.
4890 Reported by David Taylor.
4892 * Makefile: Comment describing presence of USE_REXEC.
4894 * extract.c (extract_archive, case LF_SPARSE): zero check for
4895 last element on numbytes needs to look at value after
4896 converted from octal.
4898 * port.c [HAVE_STRSTR]: Check it, instead of always demanding strstr.
4899 Makefile: Comment describing presence of HAVE_STRSTR option.
4901 1991-05-19 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4903 * port.c (get_date): Renamed from getdate, to avoid SVR4 conflict.
4904 * tar.c: Call get_date instead of getdate.
4906 1991-05-10 Noah Friedman <friedman@nutrimat>
4908 * tar.c: added "\n\" to the end of some documentation strings
4909 where they were left off.
4911 1991-05-09 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4913 * Makefile: added level-0, level-1, and backup-specs to AUX.
4914 * version.c: changed to 1.10 beta.
4915 * README: updated for 1.10 beta release.
4917 1991-04-02 Michael I Bushnell <mib@godwin>
4919 * create.c (dump_file): HPUX's st_blocks is in 1024 byte units
4920 instead of 512 like the rest of the world, so I special cased
4922 * tar.c: Undo Noah's changes.
4924 1991-04-01 Noah Friedman <friedman@wookumz.gnu.ai.mit.edu>
4926 (This ought to be temporary until things are fixed properly. )
4928 * tar.c: (struct option long_options): flag for "sparse" zero if
4929 compiling under hpux.
4930 tar.c: (functon options): case 'S' is a no-op if compiling under
4933 1991-03-30 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4935 * tar.h: new variable tape_length.
4937 * tar.c (options): add new option +tape-length / -L.
4939 * buffer.c (fl_write): Turn #ifdef TEST code for limited tape
4940 length on always, for tape-length option.
4942 * create.c (dump_file): avoid apollo lossage where S_IFIFO == S_IFSOCK.
4944 * buffer.c: include regex.h
4945 * buffer.c (fl_read, open_archive): Use regex routines for
4946 volume header match.
4947 * xmalloc.c: removed file; wasn't necessary.
4948 * tar.c: (main) use ck_malloc instead of xmalloc.
4950 1991-03-28 Noah Friedman <friedman@goldman>
4952 * regex.c, regex.o: New links.
4953 * tar.c: include regex.h.
4954 * Makefile (OBJ2): Add regex.o.
4955 (regex.o, tar.o): Depend on regex.h
4956 (SRC2, AUX): Add the new files.
4958 1991-03-23 Noah Friedman <friedman@wookumz.gnu.ai.mit.edu>
4960 * Makefile: added default flags and options for compiling under
4963 * Added files alloca.c and xmalloc.c.
4965 1991-03-23 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4967 * port.c [HPUX]: Define WANT_VALLOC.
4969 1991-03-15 David J. MacKenzie <djm@geech.ai.mit.edu>
4971 * rtape_lib.c [USG && !HAVE_MTIO]: Define NO_RMTIOCTL automatically.
4972 (_rmt_rexec): Temporarily re-open stdin and stdout to
4973 /dev/tty, to guarantee that rexec() can prompt and read the
4974 login name and password from the user.
4975 * Makefile: Mention -DUSE_REXEC.
4976 Reported by Pascal Meheut.
4978 1991-03-08 Michael I Bushnell <mib@wookumz.ai.mit.edu>
4980 * tar.h, Makefile [HAVE_SIZE_T]: Might be useful for some people.
4982 * gnu.c: lstat->stat define where appropriate
4984 * buffer.c (fl_write): keep track of amount written for +totals.
4985 * tar.c, tar.h: set flag f_totals from +totals option.
4986 * tar.h (f_totals, tot_written): new variables.
4987 * tar.c (main): print total written with CMD_CREATE.
4989 * tar.c (main): return appropriate exit status
4991 1991-01-17 David J. MacKenzie <djm@apple-gunkies>
4993 * port.c: Remove a spurious `+' between functions (a remnant
4994 of a context diff, apparently).
4996 1991-01-09 Michael I Bushnell <mib@pogo.ai.mit.edu>
4998 * create.c (where_is_data): Rewritten to be better, and then
5000 (deal_with_sparse): Severly pruned. Now we write or don't
5001 write only complete blocks, not worrying about partial blocks.
5002 This simplifies calculations, removes bugs, and elides the
5003 second scan through the block. The first was zero_record, the
5004 second was where_is_data.
5006 1991-01-07 Michael I Bushnell <mib@wookumz.ai.mit.edu>
5008 * create.c (deal_with_sparse): Second computation (for short
5009 reads) of numbytes increment had subtraction backwards.
5010 Need to handle calling where_is_data better when we did a
5011 short read (it might go past the end of the read), also, set
5012 sparsearray[...].offset in this case too.
5014 1991-01-04 Jay Fenlason <hack@ai.mit.edu>
5016 * buffer.c: Return a special error code if the archive
5017 you're trying to read starts with a different label than
5018 the one specified on the command line.
5020 1991-01-02 Jay Fenlason <hack@ai.mit.edu>
5022 * gnu.c: Prepend the current directory to the gnu_dumpfile, so that
5023 -C's won't affect where the output goes. (sigh.)
5025 1990-12-18 Jay Fenlason <hack@ai.mit.edu>
5027 * gnu.c: Don't complain if the gnudumpfile we're reading info
5030 * create.c: Write out gnudumpfile after finishing writing the archive.
5032 * tar.c: Add +exclude FNAME, and make +exclude-from do what +exclude
5034 * Make +version an operation, not an option.
5035 * Add +confirmation alias for +interactive.
5037 1990-12-04 Jay Fenlason <hack@ai.mit.edu>
5039 * tar.c (check_exclude): Don't let MUMBLE match MUMBLE.c or
5040 fooMUMBLE but only foo/MUMBLE.
5042 * mangle.c: New file.
5043 * create.c, extract.c: According changes.
5045 * extract.c: Don't complain when extracting an already existing link.
5046 Don't complain when extracting a directory iff it already exists.
5047 Don't ad u+wx to directories when running as root.
5048 Reported by Chip Salzenberg.
5050 * gnu.c: Make +listed-incremental work.
5051 Reported by Chip Salzenberg.
5053 * port.c: Add the F_FREESP emulation of the ftruncate syscall.
5055 1990-11-21 Jay Fenlason <hack@ai.mit.edu>
5057 Remove excess \n from lots of msg() calls.
5059 1990-11-19 Jay Fenlason <hack@ai.mit.edu>
5061 * tar.c: Rename +volume to +label.
5063 1990-11-16 David J. MacKenzie <djm@apple-gunkies>
5065 * tar.c (describe): Include the default values for -b and -f
5066 (as set in the Makefile) in the message.
5068 1990-11-15 Jay Fenlason <hack@ai.mit.edu>
5070 * extract.c (extract_archive): Do the utime() call before the
5071 chmod() call, 'cuz some versons of utime() trash the file's mode
5074 * list.c (read_and): Call do_something on volume headers and
5075 multivol files even if they don't match the names we're looking
5078 1990-11-06 Jay Fenlason <hack@ai.mit.edu>
5080 * port.c (un-quote-string): Don't try to write a null if there's
5083 1990-11-01 Jay Fenlason <hack@ai.mit.edu>
5085 * buffer.c (new_volume): fflush(msg_file) before reading for
5086 confirmation on new volume. On EOF or error, print error msg and
5089 1990-10-29 Jay Fenlason <hack@ai.mit.edu>
5091 * getdate.y: Use new version of getdate().
5093 * tar.c (name_add): Use sizeof(char *) instead of sizeof(int)
5095 * README: Give the correct return address.
5097 1990-10-25 Jay Fenlason <hack@ai.mit.edu>
5099 rtape_lib.c [NO_RMTIOCTL]: Instead of RMTIOCTL, so it is on by default.
5101 rmt.h [NO_REMOTE]: Add _isrmt() #define.
5103 gnu.c: Add forward reference for add_dir_name().
5105 1990-10-16 Jay Fenlason <hack@ai.mit.edu>
5107 Version 1.09 --- New -G file implementation of gnu-dump stuff.
5109 * tar.c (name_add): Get the calls to ck_realloc and ck_malloc right.
5111 1990-10-11 Jay Fenlason <hack@ai.mit.edu>
5113 * gnu.c: Fix A couple of typos.
5115 1990-09-19 David J. MacKenzie <djm@apple-gunkies>
5117 * getdate.y [USG && !DAYLIGHT_MISSING] (ftime): Use `daylight'.
5119 1990-09-17 Jay Fenlason <hack@ai.mit.edu>
5121 * gnu.c (gnu_restore): Don't use a passed char* for the
5122 file name, use skipcrud+head->header.name, just like everything
5123 else does. This means that gnu_restore will still work with
5126 1990-09-13 Jay Fenlason <hack@ai.mit.edu>
5128 * tar.c (add_exclude): Don't bus-error if the exclude file doesn't
5131 1990-09-09 David J. MacKenzie <djm@albert.ai.mit.edu>
5133 * Makefile (dist): Remove .fname when done.
5135 1990-09-06 Jay Fenlason <hack@ai.mti.edu>
5137 * gnu.c (gnu_restore): Rember to skip_file() over the directory
5138 contents, even if we don't have to do anything with them.
5140 * create.c, extract.c, diffarch.c: Free sparsearray after we're
5143 1990-09-04 Jay Fenlason <hack@ai.mit.edu>
5145 * Makefile: Include gnu.c in dist
5147 * gnu.c: Move add_dir above read_dir_file so that cc doesn't
5148 complain about add_dir returning void.
5150 1990-09-02 David J. MacKenzie <djm@apple-gunkies>
5152 * getdate.y: Declare some more functions and add storage
5153 classes where omitted to shut compiler up.
5154 [USG] (ftime): Don't use extern var `daylight'; appears that
5155 some systems don't have it.
5157 1990-08-29 David J. MacKenzie <djm@apple-gunkies>
5159 * getdate.y (lookup): In the code that allows `Aug.' to be
5160 recognized as `Aug', don't chop off the final `.' from words
5161 like `a.m.', so they can be recognized.
5163 1990-08-16 Jay Fenlason <hack@ai.mit.edu>
5165 * buffer.c (open_archive): If -O, write verbosity to stderr
5168 1990-08-10 Jay Fenlason <hack@ai.mit.edu>
5170 * getdate.y: Handle an explicit DST in the input string.
5171 Reported by Per Foreby.
5173 1990-07-16 Jay Fenlason <hack@ai.mit.edu>
5175 * tar.c: rename -g -G +incremental, +listed-imcremental, etc.
5177 1990-07-13 Jay Fenlason <hack@ai.mit.edu>
5179 * tar.c: Make +newer and +newer-mtime work according to their names.
5181 * gnu.c: If +newer or +newer-mtime, use the time specified on the
5184 * buffer.c, create.c: Add test to see if dimwit is trying to
5185 archive the archive.
5187 * tar.c (long_options[]): Re-ordered, so that groups of similar
5188 options are next to each other... I think.
5190 (describe): Modified to more closely reflect reality.
5192 1990-07-06 Jay Fenlason <hack@ai.mit.edu>
5194 * tar.c: Add compile-time option for SYS V (?) style
5195 tape-drive names /dev/rmt/{n}[lmh]
5197 * tar.c: Fix getopt-style stuff so that -C always works correctly.
5199 * gnu.c, tar.c: Make filename to -G optional.
5201 * {all over}: Replace some fprintf(stderr...) calls with calls
5204 * port.c: Make -Dmumble_MSG option on command line override
5205 internal assumptions.
5207 * Makefile: Mention -Dmumble_MSG options
5209 1990-07-06 David J. MacKenzie <djm@apple-gunkies>
5211 * tar.c (options): Don't change `c' if it is 0, as getopt now
5212 handles that internally.
5214 1990-07-02 Jay Fenlason <hack@ai.mit.edu>
5216 * gnu.c (new file): Moved all the f_gnudump stuff here where we
5217 can keep track of it easier. Also made -G take a file name where
5218 it stores the inode information about directories so that we can
5219 detect moved directores.
5221 * create.c (dump_file): Changed slightly to work with the new
5224 * tar.c: Moved the f_gnudump stuff to gnu.c
5226 * tar.c, extract.c: Added the +do-chown option, which forces tar
5227 to always try to chown the created files to their original owners.
5229 * version.c: New version 1.09
5231 1990-06-24 David J. MacKenzie <djm@albert.ai.mit.edu>
5233 * create.c: Change ifdefs for directory library header
5234 selection to be like the ones in tar.c.
5235 * Makefile [Xenix]: Link with -ldir to get the dirent.h
5238 1990-06-07 David J. MacKenzie <djm@albert.ai.mit.edu>
5240 * Makefile, buffer.c, diffarch.c [HAVE_MTIO]: Instead of MTIO, as
5241 SCO Xenix defines 'MTIO' for an incompatible tape driver system in
5242 a file included by termio.h.
5243 * tar.h: Don't define size_t for Xenix.
5245 1990-06-05 Jay Fenlason <hack@ai.mit.edu>
5247 * create.c (dump_file): Only print the
5248 "... is on a different filesystem..." if f_verbose is on.
5249 also add a case for S_IFSOCK and treat it like a FIFO.
5250 (Not sure if that's the right thing to do or not, but it's better
5251 than all those Unknown File Type msgs.)
5253 1990-05-31 Jay Fenlason <hack@ai.mit.edu>
5255 * port.c [sparc]: Use instead of SPARC since the lowercase version
5256 is defined, and the uppercase one isn't.
5258 1990-05-22 Jay Fenlason <hack@ai.mit.edu>
5260 * port.c (ck_malloc): if size==0 pretend size=1
5261 (ck_realloc): if(!ptr) call ck_malloc instead.
5263 1990-05-15 Jay Fenlason <hack@ai.mit.edu>
5265 * diffarch.c (diff_archive): If not f_absolute_paths, and attempt
5266 to open a file listed in the archive fails, try /filename also.
5267 This will allow diff to open the wrong file if both /filename and
5268 filename exist, but there's nothing we can do about that.
5270 1990-05-11 Jay Fenlason <hack@ai.mit.edu>
5272 * Makefile: Describe new -DMTIO option.
5274 * buffer.c, diffarch.c: Change ifdefs slightly, so that -DMTIO
5275 will include sys/mtio.h even if USG is defined. This is for HPUX
5276 and similar BSD/USG crossovers.
5278 1990-05-08 Jay Fenlason <hack@ai.mit.edu>
5280 * update.c (update_archive): Call reset_eof() when appropriate.
5282 * buffer.c (reset_eof): New function, that turns of EOF flag, and
5283 re-sets the ar_record and ar_last pointers. This will allow
5284 'tar rf non-existant-file' to not core-dump.
5286 1990-05-04 David J. MacKenzie <djm@albert.ai.mit.edu>
5288 * tar.c: Recognize the +sparse option. It was documented, but
5289 only the short form (-S) was actually recognized.
5291 1990-04-17 Jay Fenlason <hack@ai.mit.edu>
5293 * create.c: Don't access location 0 if ->dir_contents is null.
5295 1990-04-11 Jay Fenlason <hack@ai.mit.edu>
5297 * buffer.c (flush_archive, close_archive, new_volume): Always
5298 check the return value of rmtclose(), and only give a warning msg
5299 if it is <0. Some device drivers (including Sun floppy disk, and
5300 HP streaming tape) return -1 after an IO error (or something like
5303 1990-03-23 Jim Kingdon <kingdon@mole.ai.mit.edu>
5305 * tar.c (long_options): Make it so +append +extract +list +update
5306 +catenate and +delete don't take arguments.
5308 1990-03-12 Jay Fenlason <hack@ai.mit.edu>
5310 * buffer.c (open_archive, fl_write): Set the mtime of the volume
5311 header to the current time.
5313 1990-03-07 Jay Fenlason <hack@ai.mit.edu>
5315 * buffer.c Fix +compress-block A two character patch from
5317 Replace #ifdef __GNU__ with #ifdef __STDC__.
5318 (new_volume): If open of new archive fails, ask again, as it
5319 probably is user error.
5321 * tar.c: Replace #ifdef __GNU__ with #ifdef __STDC__
5323 * port.c: Clean up #ifdef and #defines a bit.
5324 (quote_copy_string): Sometimes the malloc'd buffer would be up to
5325 two characters too short.
5327 * extract.c (extract_archive): Don't declare ind static.
5329 * create.c (dump_file): Don't declare index_offset static.
5331 * diffarch.c: Remove diff_name variable, and always use
5332 head->header.name, which will always work, unlike diff_name, which
5333 becomes trash when the next block is read in.
5335 1990-03-01 Jay Fenlason <hack@wookumz.ai.mit.edu>
5337 * Makefile: Mention the -NO_REMOTE option.
5338 * port.c [i386]: Fix typo, and define WANT_FTRUNCATE.
5340 1990-02-26 Jim Kingdon <kingdon@pogo.ai.mit.edu>
5342 * getdate.y: Declare yylex and yyerror as static.
5343 #define yyparse to getdate_yyparse.
5345 1990-02-25 David J. MacKenzie <djm@albert.ai.mit.edu>
5347 * tar.c: Remove +old option, since it is a valid abbreviation of
5348 +old-archive, which does the same thing.
5349 (describe): A few small cleanups in message.
5351 1990-02-05 Jay Fenlason <hack@wookumz>
5353 * port.c [sparc]: Define LOSING_MSG, since doprnt_msg doesn't work.
5354 [WANT_GETWD]: Fix typo.
5356 1990-01-26 Jay Fenlason <hack@wookumz>
5358 Version 1.08 --- Sparse file support added. Also various other
5361 * diffarch.c (compare_chunk): Include correct arguments in
5362 a call to fprintf() for an error msg.
5363 (compare_chunks, compare_dir): First argument is a long, not an int.
5365 * tar.c (options): Use tar variable (argv[0]) as the name to print
5366 in an error msg, instead of a constant "tar".
5367 (confirm): Use external variable char TTY_NAME[] for name of file
5368 to open for confirmation input.
5370 * buffer.c (new_volume): Ditto.
5372 * port.c: Add declaration for TTY_NAME[].
5374 * rmt.h: Add long declarations for lseek() and __rmt_lseek();
5376 1990-01-23 Jay Fenlason <hack@wookumz>
5378 * tar.c, create.c: Create the +newer-mtime option, which is like
5379 +newer, but only looks for files whose mtime is newer than the
5382 * rtape_lib.c [USG]: Make *both* instances of signal-handler stuff
5385 1990-01-11 Jay Fenlason <hack@wookumz>
5387 * getdate.y : Parse European dates of the form YYMMDD.
5388 In ftime(): Init timezone by calling localtime(), and remember that
5389 timezone is in seconds, but we want timeb->timezone to be in minutes.
5390 Reported by Jörgen Haegg.
5392 * rtape_lib.c (__rmt_open): Also look for /usr/bsd/rsh.
5393 Declare signal handler as returning void instead of int if USG is
5396 * port.c: Declare WANT_GETWD for SGI 4-D IRIS.
5398 * Makefile: Include defines for SGI 4D version.
5399 Reported by Mike Muuss.
5401 * buffer.c (fl_read): Work properly on broken Ultrix systems where
5402 read() returns -1 with errno==ENOSPC on end of tape. Correctly go
5403 on to the next volume if f_multivol.
5405 * list.c (list_archive, print_header): Flush msg_file after
5408 * port.c: Delete unused references to alloca().
5409 Don't crash if malloc() returns zero in quote_copy_string.
5410 Flush stderr in msg() and msg_perror().
5412 * tar.c: Flush msg_file after printing confirmation msg.
5414 1990-01-10 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5416 * tar.c (main): Change -help option and references to it to +help,
5417 and remove suggestion to run info (which is unreleased, so not
5418 likely to be of any help).
5420 1990-01-09 Jay Fenlason <hack @wookumz>
5422 * create.c (dump_file): Close file descriptor if start_header()
5424 (dump_file): Change test for `./'-ness to not think that `.' {any
5425 character} is a `./'.
5426 Reported by Piercarlo Grandi.
5428 * diffarch.c (diff_init): Print correct number of bytes in error
5431 1990-01-09 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5433 * Makefile: Add comment at top noting that two source files also
5434 contain #defines that might need to be changed by hand.
5436 * create.c, diffarch.c, extract.c: Change L_SET to 0 in lseek
5437 calls, because only BSD defines it.
5438 * create.c (dump_file) [BSD42]: Make sparse file checking code
5439 conditional because it uses st_blocks, which the other systems lack.
5441 1990-01-02 Jay Fenlason <hack@gnu>
5443 * port.c (quote_copy_string): Fix so it doesn't scramble memory if
5444 the last character is non-printable.
5445 Reported by Kian-Tat Lim.
5447 1989-12-19 Jim Kingdon <kingdon@pogo>
5449 * port.c [BSD42]: Define DOPRNT_MSG.
5450 tar.h [BSD42]: Do not prototype msg{,_perror}.
5452 1989-12-08 Jay Fenlason <hack@gnu>
5454 * create.c (dump_file): Remove typo in msg.
5456 1989-12-01 David J. MacKenzie <djm@trix>
5458 * Makefile: Remove comments referring to certain systems lacking
5459 getopt, since it is now provided always and needed by all systems.
5461 * port.c: Remove copy of getopt.c, as it is now linked in
5462 separately to always get the current version.
5464 * tar.c: Rename +cat-tars option to +catenate or +concatenate,
5465 and +local-filesystem to +one-file-system (preferred by rms
5466 and used in GNU cp for the same purpose).
5467 (describe): Reflect changes.
5469 1989-11-28 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5471 * port.c: Move declaration of alloca into #else /* sparc */
5472 so it will compile on sparcs.
5474 1989-11-27 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5476 * tar.c (options): Remove -version option (replaced by +version).
5477 (describe): Mention long options.
5479 1989-11-25 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5481 * getoldopt.c (getoldopt): Make `opt_index' argument a pointer to
5484 * tar.c: Modify long options per rms's suggestions:
5485 Make preserve-permissions an alias for same-permissions.
5486 Make preserve-order an alias for same-order.
5487 Define preserve to mean both of those combined.
5488 Make old an alias for old-archive.
5489 Make portability an alias for old-archive, also.
5490 Rename sym-links to dereference.
5491 Rename gnudump to incremental.
5492 Rename filename to file.
5493 Make compare an alias for diff. Leave diff but prefer compare.
5494 Rename blocking-factor to block-size.
5495 Rename chdir to directory.
5496 Make uncompress an alias for compress.
5497 Rename confirm to interactive.
5498 Make get an alias for extract.
5499 Rename volume-header to volume.
5501 Also make +version an alias for -version.
5503 (options): Shorten code that interprets long options by using
5504 the equivalent short options' code. This also makes it tons
5505 easier to change the long options.
5507 (describe): Make usage message more internally consistent
5510 1989-11-20 hack@ai.mit.edu
5512 * list.c (read_and): Call check_exclude() to see if the files
5513 should be skipped on extract or list.
5515 1989-11-09 Jim Kingdon <kingdon@hobbes.ai.mit.edu>
5517 * buffer.c (fl_read): Fix typos in error message
5518 "tar EOF not on block boundary".
5520 1989-10-23 <hack@ai.mit.edu>
5522 * tar.c (long_options[]): Add an option for blocked compression.
5524 1989-10-19 <hack@ai.mit.edu>
5526 * buffer.c (writeerror): Print a more useful error msg.
5528 1989-09-27 <hack@ai.mit.edu>
5530 * tar.c (main): Mention "tar -help" if the luser types a non-workable
5533 1989-09-11 <hack@ai.mit.edu>
5535 * tar.c (options): Have -F correctly set info_script.
5537 1989-08-29 <hack@ai.mit.edu>
5539 * Makefile Include ChangeLog in tar.tar and tar.tar.Z
5541 1989-08-28 <hack@ai.mit.edu>
5543 * tar.c (options) Made -F imply -M.
5544 Also remind tar that the -f option takes an argument!
5546 * Modified -F option to make it do what (I think) it
5547 should. e.g, if you say -F, tar won't send a msg to
5548 msg_file and wait for a <return> It'll just run the program
5549 it was given, and when the prog returns, the new tape had
5550 *better* be ready...
5552 * buffer.c (open_archive): Give error message and abort if
5553 the luser didn't give an archive name.
5555 1989-08-25 Joy Kendall <jak@hobbes>
5557 * Added code to make a new option to run a specified script at
5558 the end of each tape in a multi-volume backup. Changed: tar.c:
5559 made new switch, -F, and new long-named option, "info-script".
5560 Code is where you would expect.
5561 * tar.h: added flag f_run_script_at_end, and an extern char *
5562 called info_script, which optarg gets set to.
5563 * buffer.c (new_volume): if f_run_script_at_end is set, we give
5564 info_script to system(), otherwise we do what we've always done.
5566 1989-08-24 Joy Kendall <jak@spiff>
5567 (These changes made over the course of 6/89 - 8/89)
5569 * diffarch.c: diff_archive: Added switches for LF_SPARSE in the
5570 case statements that needed it. Also, skip any extended headers
5571 if we need to when we skip over a file. (need to change the bit
5572 about, if the size doesn't agree AND the file is NOT sparse,
5573 then there's a discrepancy, because I added another field to
5574 the header which should be able to deal with the sizes): If
5575 the file is sparse, call the added routine "diff_sparse_files"
5576 to compare. Also added routine "fill_in_sparse_array".
5578 * extract.c: extract_archive: added the switch LF_SPARSE to the
5579 case statement as needed, and code to treat the sparse file.
5580 At label "again_file", modified opening the file to see if we
5581 should have O_APPEND be one of the modes. Added code at label
5582 "extract_file" to call the new routine "extract_sparse_file"
5583 when we have an LF_SPARSE flag.
5585 Note: really should erase the commented-out code in there,
5586 because it's confusing.
5588 * update.c: made sure that if a file needed to be "skipped"
5589 over, it would check to see if the linkflag was sparse, and if
5590 so, would then make sure to skip over any "extended headers"
5591 that might come after the header itself. Do so by calling
5592 "skip_extended_headers".
5594 * create.c: create_archive: added code to detect a sparse file
5595 when in the long case statement. Added ways to detect extended
5596 headers, and label "extend" (ack! should get rid of that, is
5597 atrocious). Call the new routine "finish_sparse_file" if the
5598 linkflag is LF_SPARSE to write the info to the tape. Also added
5599 routines "init_sparsearray", "deal_with_sparse", "clear_buffer",
5600 "where_is_data", "zero_record", and "find_new_file_size".
5602 * tar.h: Added the #define's SPARSE_EXT_HDR and SPARSE_IN_HDR.
5603 Added the struct sparse and the struct sp_array. Added the
5604 linkflag LF_SPARSE. Changed the tar header in several ways:
5605 - added an array of struct sparse's SPARSE_IN_HDR long
5606 - added a char flag isextended
5607 - added a char string realsize to store the true size of a sparse file
5608 Added another choice to the union record called a struct
5609 extended_header, which is an array of 21 struct sparse's and a
5610 char isextended flag. Added flag f_sparse_file to list of flags.
5612 * tar.c: added long-named options to make tar compatible with
5613 getopt_long, changed Makefile.
5615 1989-03-03 David MacKenzie (edf at rocky2.rockefeller.edu)
5616 (I'm not completely sure all these have been integrated -- FP.)
5618 * buffer.c [USG]: ifdef'd out #include <sys/file.h>.
5619 (close_archive): SysV doesn't have ftruncate, so substituted
5620 fmtwrite (just copied the code for MS-DOS).
5621 * create.c: Unos lacks <sys/sysmacros.h> so provided a substitute.
5622 (start_header): Only strip leading paths if f_relative_paths is true.
5624 (extract_archive): Only strip leading paths if
5625 f_relative_paths is true. Because the Unos filesystem has
5626 only one timestamp, moved the utime call to after the chown
5628 * getdate.y: Don't define ftime if Unos.
5629 * list.c: Defined size_t for Unos. [USG]: Don't include <sys/file.h>.
5630 Define <sys/sysmacros> stuff manually for Unos.
5631 (decode_header): Add braces around switch cases; some compilers
5633 (print_header): Changed UGSWIDTH from 11 to 25 because the smaller
5634 value made tape listings of files owned by more than one user
5635 gradually get wider, making them hard to read.
5636 * port.c: Don't include <sys/file.h> if SysV. Define
5638 (mkdir): Add code to support Unos makedir sys call.
5639 (getopt): Use malloc instead of alloca, because tar doesn't
5640 use alloca anywhere else and many systems lack it. A few other
5641 changes from the current version of getopt.c incorporated.
5642 * rtape_lib.c: Undefine RMTIOCTL. Doesn't seem to be needed,
5643 and can't compile on Unos/SysV with it defined. Might need to be
5645 * tar.c: Alias addname to add_name and rmdir to deldir on Unos
5646 due to C library weirdness.
5647 (options): Recognize new -P option to set f_relative paths.
5648 (describe): Clean up error message and add -P description.
5649 * tar.h: Add variable, f_relative_paths, to cause tar to strip
5650 leading `/' characters in pathnames during create and extract.
5651 * tar.texinfo: Fixed a couple of typos, detected by texi2roff.
5652 * update.c: Simulate <sys/sysmacros.h> for Unos.
5654 Previous releases by Jay Fenlason (hack@ai.mit.edu)
5656 * Version 1.07 --- New version to go on beta tape with GCC 1.35.
5657 Better USG support. Also support for __builtin_alloca if we're
5660 * diffarch.c: Include the correct header files so MTIOCTOP
5662 * tar.c: Don't print the verbose list of options unless
5663 given -help. The list of options is *way* too long.
5665 * Version 1.06 --- [__STDC__]: Use STDC_MSG.
5666 ENXIO meand end-of-volume in archive (for the UNIX PC)
5667 Added break after volume-header case (line 440) extract.c
5668 Added patch to rtape_lib.c (reported by Arnold Robbins).
5669 Added f_absolute_paths option.
5670 Deleted refereces to UN*X manual sections (dump(8), etc)
5671 Fixed to not core-dump on illegal options
5672 Modified msg_perror to call perror("") instead of perror(0)
5674 Fixed tar.c so 'tar cf - -C dir' doesn't core-dump
5675 tar.c (name_match): Fixed to chdir() to the appropriate
5676 directory if the matching name's change_dir is set. This
5677 makes tar xv -C foo {files} work.
5679 * Version 1.05 --- A fix to make confirm() work when the archive is
5680 on stdin; include 'extern FILE *msg_file;' in pr_mkdir().
5681 * tar.h [__STDC__]: Fix to work.
5683 Added to port.c: mkdir() ftruncate(): Removed: lstat()
5684 Fixed -G to work with -X
5685 Another fix to tar.texinfo
5686 Changed tar.c to say argv[0]":you must specify exactly ...
5687 buffer.c: modified child_open() to keep tar from hanging when
5688 it is done reading/writing a compressed archive
5689 added fflush(msg_file) before printing error messages
5690 create.c: fixed to make link_names non-absolute
5692 * Version 1.04 --- Added functions msg() and msg_perror(): Modified
5693 all the files to call them. Also checked that all (I hope) calls
5694 to msg_perror() have a valid errno value.
5695 (modified anno() to leave errno alone), etc.
5696 Re-fixed the -X option. This time for sure...
5697 re-modified the msg stuff. flushed anno() completely
5698 Modified the directory stuff so it should work on sysV boxes
5699 added ftime() to getdate.y
5700 Fixed un_quote_string() so it won't wedge on \" Also fixed
5701 \ddd (like \123, etc)
5702 More fixes to tar.texinfo
5704 * Version 1.03 --- Fixed buffer.c so 'tar tzf NON_EXISTENT_FILE'
5705 returns an error message instead of hanging forever.
5706 More fixes to tar.texinfo.
5708 * Version 1.02 --- Fixed tar.c so 'tar -h' and 'tar -v' don't cause
5709 core dump. Also fixed the 'usage' message to be more up-to-date.
5710 * diffarch.c [!MTIOCTOP]: Fixed so verify should compile.
5712 * Version 1.01 --- Fixed typoes in tar.texinfo.
5713 Fixed a bug in the #define for rmtcreat().
5714 Fixed the -X option to not call realloc() of 0.
5716 * Version 1.00 --- version.c added. -version option added.
5717 Installed new version of the remote-tape library.
5721 ----- tests/ChangeLog -----
5723 1997-04-25 François Pinard <pinard@iro.umontreal.ca>
5727 * gzip.sh, ignfail.sh: Adjust to new delayed error exit message.
5729 * Makefile.am (BUILT_SOURCES): Define as preset, so preset is
5730 regenerated if configuration changes.
5732 * Makefile.am (TESTS): Nevertheless include delete01.sh.
5733 (POSTPONED_TESTS): Adjusted.
5734 Reported by Andreas Schwab.
5736 * delete02.sh: Mention f - explicitly, do not assume it, in case
5737 $TAPE is defined or the default archive has been overridden.
5738 Reported by Andreas Schwab.
5740 1997-04-24 François Pinard <pinard@iro.umontreal.ca>
5742 * after: Unredirect stdout and stderr before removing the files.
5743 If redirections are to NFS files, removing them while they are
5744 still opened may have strange effects, failing almost all tests.
5745 Reported by Kaveh R. Ghazi.
5747 1997-04-22 François Pinard <pinard@iro.umontreal.ca>
5751 * extrac03.sh: New file.
5752 * Makefile.am (TESTS): Adjusted.
5753 Reported by Marc Boucher.
5755 * preset.in (LC_MESSAGES): Clear value before tests.
5756 Reported by Sven Verdoolaege.
5758 * Makefile.am (INCLUDES): Adjust so config.h gets found.
5760 * genfile.c (usage): Corrected.
5762 * delete01.sh: New name for delete.sh.
5763 * delete02.sh: New file.
5764 * Makefile.am (TESTS): Adjusted.
5765 Reported by Vince Del Vecchio.
5767 * Makefile.am (POSTPONED_TESTS): To contain the --delete tests.
5769 (EXTRA_DIST): Include $(POSTPONED_TESTS). The purpose is getting
5770 the tests distributed, but not executed. These flaky tests are to
5771 be addressed only after 1.12 is released.
5773 1997-04-19 François Pinard <pinard@iro.umontreal.ca>
5775 * Makefile.am (AUTOMAKE_OPTIONS): Declare ../src/ansi2knr.
5776 * (DEFS): New, for defining LOCALEDIR.
5777 * (genfile.o): Deleted, will be implied from DEFS above.
5778 Reported by Bruno Haible and Kaveh R. Ghazi.
5780 1997-04-17 François Pinard <pinard@iro.umontreal.ca>
5784 * genfile.c (usage): Add a program description.
5785 (main): Output --version according to recent GNU standards.
5787 1997-04-15 François Pinard <pinard@iro.umontreal.ca>
5789 * ignfail.sh: Ensure the test does not fail if run as super-user.
5790 Reported by John David Anglin.
5792 1997-04-12 François Pinard <pinard@iro.umontreal.ca>
5794 * genfile.c (pattern): Remove trailing comma for last enum item.
5795 Reported by Bruno Haible.
5797 1997-04-11 François Pinard <pinard@iro.umontreal.ca>
5801 1997-03-29 François Pinard <pinard@iro.umontreal.ca>
5803 * ignfail.sh: New file.
5804 * Makefile.am (TESTS): Adjusted.
5805 Reported by Ralph Schleicher.
5807 1997-03-24 François Pinard <pinard@iro.umontreal.ca>
5809 * genfile.c: Implement --pattern=default/zeros.
5811 1997-02-25 François Pinard <pinard@iro.umontreal.ca>
5814 * Makefile.am (TESTS): Adjusted.
5815 Reported by Daniel Trinkle.
5817 1997-01-21 François Pinard <pinard@iro.umontreal.ca>
5819 * extrac01.sh: New name for extract.sh.
5820 * extrac02.sh: New file.
5821 * Makefile.am (TESTS): Adjusted.
5822 Reported by Axel Boldt.
5824 1996-11-25 François Pinard <pinard@iro.umontreal.ca>
5826 * genfile.c (usage): Typo in message.
5827 Reported by Christian Kirsch.
5829 1996-11-22 François Pinard <pinard@iro.umontreal.ca>
5831 * incremen.sh: New file.
5832 Reported by Wolfram Wagner.
5834 * append.sh, delete.sh: New files.
5835 * Makefile.am (TESTS): Adjusted.
5836 Reported by Andreas Schwab.
5838 * before: Ensure .. on PATH, so genfile may be found.
5839 * Makefile.am ($(TESTS)): Depend on genfile, waiting for Automake
5840 to be adjusted to do the proper thing for parallel make.
5842 * gzip.sh: New name for childerr.sh.
5843 * extract.sh: New name for direxist.sh.
5844 * volume.sh: New name for volcheck.sh.
5845 * Makefile.am: Adjusted.
5847 * All tests: Use set -e whenever appropriate. Use "" instead of
5848 '' for out and err, so allowing us to use escaped newlines. In
5849 case of multiple output in a single test, ensure separator lines.
5851 1996-11-06 François Pinard <pinard@iro.umontreal.ca>
5853 * Prerelease 1.11.13.
5855 * childerr.sh, direxist.sh, volcheck.sh: Use sh, not bash.
5856 Reported by John David Anglin.
5858 1996-09-20 François Pinard <pinard@iro.umontreal.ca>
5861 * Makefile.am (TESTS): Adjusted.
5863 1996-09-19 François Pinard <pinard@iro.umontreal.ca>
5865 * Prerelease 1.11.12.
5867 * Makefile.am ($(TESTS)): Depend on preset.
5868 * version.sh (PATH): Adjust for multi-line --version output.
5869 * preset.in (LANG, LANGUAGE): Export them, so gzip does not
5870 localise its own output.
5871 (echo_n, echo_c): Define from the result of echo configuration.
5872 * after: Handle echo with newline suppressed.
5874 1996-09-09 François Pinard <pinard@iro.umontreal.ca>
5876 * childerr.sh, direxist.sh, before, after: New files.
5877 * Makefile.am: Adjusted.
5879 1996-09-04 François Pinard <pinard@iro.umontreal.ca>
5881 * ChangeLog, Makefile.am, pretest.in, version.sh: New files.
5882 * checktar.sh, genfile.c: New files, moved from src/.
5884 A regression test is an old dream for GNU tar.
5885 Reported by Tom Tromey and Robert Bernstein.