source: trunk/essentials/app-arch/tar/ChangeLog.1@ 3442

Last change on this file since 3442 was 3342, checked in by bird, 18 years ago

tar 1.16.1

File size: 201.9 KB
Line 
1Currently there is just one ChangeLog file for tar, but
2there used to be separate ChangeLog files for each subdirectory.
3This file records what used to be in those separate files.
4
5Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
6Free Software Foundation, Inc.
7
8This file is part of GNU Tar.
9
10GNU Tar is free software; you can redistribute it and/or modify
11it under the terms of the GNU General Public License as published by
12the Free Software Foundation; either version 2, or (at your option)
13any later version.
14
15GNU Tar is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License for more details.
19
20You should have received a copy of the GNU General Public License
21along with GNU Tar; see the file COPYING. If not, write to
22the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23Boston, MA 02110-1301, USA.
24
25
26----- ChangeLog -----
27
281997-04-25 François Pinard <pinard@iro.umontreal.ca>
29
30 * Release 1.12.
31
32 * configure.in: Check for the inline keyword.
33
341997-04-24 François Pinard <pinard@iro.umontreal.ca>
35
36 * Makefile.am (BABYL): Delete admin/RMAIL, renamed rmail/announce.
37
38 * PORTS: New file.
39 (EXTRA_DIST): Adjusted.
40
411997-04-23 François Pinard <pinard@iro.umontreal.ca>
42
43 * BI-PATCHES: Patches for Bison 1.25.
44 * Makefile.am (EXTRA_DIST): Adjusted.
45
46 * configure.in (AC_PROG_INSTALL): Call deleted. AM_INIT_AUTOMAKE
47 takes care of this already.
48
491997-04-22 François Pinard <pinard@iro.umontreal.ca>
50
51 * Prerelease 1.11q.
52
53 * configure.in: Use gethostent instead of gethostbyname while
54 checking for -lnsl. It seems SINIX systems require this.
55 Reported by Bruno Haible.
56
571997-04-19 François Pinard <pinard@iro.umontreal.ca>
58
59 * acinclude.m4: New fp_WITH_INCLUDED_MALLOC macro.
60 * configure.in: Use it instead of the HP/UX test for GNU malloc.
61 Reported by Bruno Haible.
62
631997-04-17 François Pinard <pinard@iro.umontreal.ca>
64
65 * Prerelease 1.11p.
66
67 * acinclude.m4 (cl_FUNC_GMALLOC): New macro, yet still unused, as
68 it requires config.guess. I have to think more about this.
69 Reported by Bruno Haible.
70
711997-04-16 François Pinard <pinard@iro.umontreal.ca>
72
73 * AC-PATCHES: Patches for Autoconf 2.12.
74 * AM-PATCHES: Patches for Automake 1.1n.
75 * Makefile.am (EXTRA_DIST): Adjusted.
76
771997-04-15 François Pinard <pinard@iro.umontreal.ca>
78
79 * configure.in: Ensure all cpp directives are left justified.
80 Reported by Kaveh R. Ghazi.
81
821997-04-12 François Pinard <pinard@iro.umontreal.ca>
83
84 * configure.in: Add fnmatch.o to LIBOBJS if AC_FUNC_FNMATCH
85 says no working copy was found. This is not done automatically.
86 Reported by Bruno Haible, Bryant Fujimoto, John David Anglin,
87 Kaveh R. Ghazi, Laurent Caillat-Vallet, Sakai Kiyotaka and
88 Santiago Vila Doncel.
89
901997-04-11 François Pinard <pinard@iro.umontreal.ca>
91
92 * configure.in: Much simplify the -lsocket and -lnsl tests.
93 Reported by Larry Schwimmer.
94
951997-04-11 François Pinard <pinard@iro.umontreal.ca>
96
97 * Prerelease 1.11o.
98
99 * configure.in: Do not check for gettimeofday anymore.
100
101 * configure.in: Do not anymore blindly add -lnsl if gethostname
102 is found, nor -lsocket if setsockopt is found. Instead, for
103 resolving setsockopt, try none, -lsocket, and -lsocket -lnsl,
104 in that order. For resoving gethostbyname, try none, than -lnsl.
105 Reported by Ariel Faigon, Heiko Schlichting, Jean-Philippe
106 Martin-Flatin, John J. Szetela, John R. Vanderpool, Kaveh
107 R. Ghazi, Larry Schwimmer, Marcus Daniels, Mark Bynum and
108 Russell Cattelan.
109
1101997-04-10 François Pinard <pinard@iro.umontreal.ca>
111
112 * configure.in: Define _GNU_SOURCE to get FNM_LEADIR_DIR, etc.
113 * acconfig.h: Document _GNU_SOURCE.
114 Reported by Andreas Jaeger, Becki Kain, Brendan Kehoe, David
115 N. Brown, J. Dean Brock, James V. DI Toro III, Jeffrey Mark
116 Siskind, JÃŒrgen Reiss, Paul Eggert, Roland McGrath, Rolf
117 Niepraschk, Roman Gollent, Thomas Bushnell n/BSG and Ulrich
118 Drepper.
119
1201997-03-26 François Pinard <pinard@iro.umontreal.ca>
121
122 * configure.in (ALL_LINGUAS): Add it.
123
1241997-03-20 François Pinard <pinard@iro.umontreal.ca>
125
126 * configure.in: Require Autoconf 2.12.
127
1281997-02-25 François Pinard <pinard@iro.umontreal.ca>
129
130 * configure.in: Use AM_CONFIG_HEADER and AM_GNU_GETTEXT instead
131 of AC_CONFIG_HEADER and ud_GNU_GETTEXT. Use AC_FUNC_FNMATCH
132 instead of AM_FUNC_FNMATCH. Do not take care anymore of stamp-h
133 in AC_OUTPUT, leave it to Automake.
134 * acinclude.m4: Replaced whole, from elsewhere.
135 * Makefile.am (EXTRA_DIST): Leave README-alpha to Automake.
136
1371997-02-12 François Pinard <pinard@iro.umontreal.ca>
138
139 * configure.in: Delete README-alpha code, Automake handles it now.
140
1411996-11-18 François Pinard <pinard@iro.umontreal.ca>
142
143 * Prerelease 1.11.14.
144
145 * Makefile.am (BABYL): Add admin/RMAIL.
146
147 * configure.in: Check for sys/buf.h, as BSD/OS.
148 Reported by Dan Reish.
149
1501996-11-09 François Pinard <pinard@iro.umontreal.ca>
151
152 * configure.in: Replace a missing basename.
153 Reported by Bryant Fujimoto, Erick Branderhorst, Greg Black, John
154 David Anglin, John J. Szetela, Kaveh R. Ghazi, Kurt Jaeger, Marcus
155 Daniels, Santiago Vila Doncel and William Bader.
156
1571996-11-08 François Pinard <pinard@iro.umontreal.ca>
158
159 * Prerelease 1.11.13.
160
161 * configure.in: Replace a missing dirname.
162
1631996-10-07 François Pinard <pinard@iro.umontreal.ca>
164
165 * configure.in: Clean out some macro calls made useless since
166 AM_INIT_AUTOMAKE implies them.
167
1681996-09-20 François Pinard <pinard@iro.umontreal.ca>
169
170 * configure.in: Do not check anymore for regex.
171
1721996-09-19 François Pinard <pinard@iro.umontreal.ca>
173
174 * Prerelease 1.11.12
175
176 * configure.in: Check echo for newline suppression.
177
1781996-09-18 François Pinard <pinard@iro.umontreal.ca>
179
180 * configure.in: Do not add open3.o to LIBOBJS anymore.
181
1821996-09-05 François Pinard <pinard@iro.umontreal.ca>
183
184 * configure.in (ALL_LINGUAS): Add pl.
185
1861996-09-04 François Pinard <pinard@iro.umontreal.ca>
187
188 * configure.in (AC_OUTPUT): Prepare tests/Makefile and tests/preset.
189 * Use AM_ version of fp_ macros.
190
191 * Makefile.am (SUBDIRS): Add tests/.
192
1931996-07-18 François Pinard <pinard@iro.umontreal.ca>
194
195 * Prerelease 1.11.11.
196
197 * configure.in: Use AC_PREREQ(2.10).
198
1991996-07-16 François Pinard <pinard@iro.umontreal.ca>
200
201 * configure.in (ALL_LINGUAS): Add nl.
202 Reported by Erick Branderhorst.
203
2041996-07-12 François Pinard <pinard@iro.umontreal.ca>
205
206 * Prerelease 1.11.10.
207
208 * configure.in (ALL_LINGUAS): Add ko and sl.
209
2101996-05-01 François Pinard <pinard@iro.umontreal.ca>
211
212 * configure.in: Check for fsync, and linux/fd.h.
213 Reported by Marty Leisner.
214
2151996-04-17 François Pinard <pinard@iro.umontreal.ca>
216
217 * Makefile.am (EXTRA_DIST): New name for DIST_OTHERS.
218
219 * configure.in (ALL_LINGUAS): Add no.
220
221 * Makefile.am (BABYL): Consider rmail/* instead of rmail/*/*.
222
2231996-02-28 François Pinard <pinard@iro.umontreal.ca>
224
225 * configure.in: Avoid PROGRAMS, instead use RMT to substitute rmt.
226 * Makefile.am (SUBDIRS): Use intl and po instead of @INTLSUB@ and
227 @POSUB@.
228
229 * configure.in: Check for poll.h and stropts.h.
230 Check for nap, napms, poll, select and usleep.
231
2321996-02-12 François Pinard <pinard@iro.umontreal.ca>
233
234 * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
235 * configure.in: Temporarily remove a \ in AC_OUTPUT for automake.
236
2371996-02-03 François Pinard <pinard@iro.umontreal.ca>
238
239 * configure.in: Check size of unsigned long (assume 32 bits if
240 cross-compiling) and long long (assume not available).
241
2421996-01-14 François Pinard <pinard@iro.umontreal.ca>
243
244 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits and dist-shar.
245 (dist-zoo): New goal, experimental for now.
246
2471996-01-07 François Pinard <pinard@iro.umontreal.ca>
248
249 * Makefile.am: Force distribution of BACKLOG.
250 Reported by Jonathan Thornburg.
251
252 * Makefile.am: Declare BABYL. Force distribution of AUTHORS
253 and rebox.el. Add id, ID and dist-shar targets. Add parts of
254 previous Makefile.in as FIXME comments.
255
2561995-12-30 François Pinard <pinard@iro.umontreal.ca>
257
258 * configure.in: Ensure there is a link for libintl.h.
259 Reported by Daniel S. Barclay, Göran Uddeborg, Jonathan Thornburg,
260 Ken Raeburn and Minh Tran-Le.
261
2621995-12-29 François Pinard <pinard@iro.umontreal.ca>
263
264 * Prerelease 1.11.9.
265
266 * Makefile.am: New file.
267
268 * configure.in: Decide if README-alpha should be distributed.
269 From Ulrich Drepper.
270
2711995-12-28 François Pinard <pinard@iro.umontreal.ca>
272
273 * configure.in (AC_OUTPUT): Call sed for po/Makefile.in.
274
275 * Makefile.in: Distribute ABOUT-NLS rather than NLS, and do not
276 distribute config.guess or config.sub anymore.
277
278 * configure.in: Test for lchown.
279
2801995-12-19 François Pinard <pinard@iro.umontreal.ca>
281
282 * configure.in: Prefer avoiding union wait, and use it only if
283 using int fails. This turns around the previous test, as directly
284 checking for union wait is seemingly seeking for trouble.
285 Reported by Alan Bawden, Chris Arthur, Coranth Gryphon,
286 Jean-Philippe Martin-Flatin, Robert Bernstein and Tarang Kumar
287 Patel.
288
289 * configure.in: Check for strerror, so lib/error.c will not try to
290 define sys_errlist in the case strerror is already provided.
291 Reported by Coranth Gryphon, Chris Arthur, David J. MacKenzie,
292 Erich Stefan Boleyn, Greg Black, Jason R. Mastaler, Michael
293 Innis Bushnell, Robert Bernstein, Santiago Vila Doncel, Skip
294 Montanaro and Thomas Krebs.
295
296 * configure.in: Quote the selected shell. I wonder why this
297 error did not show up before!
298
299 * configure.in: Check <sys/tprintf.h> and <sys/device.h> for BSDi.
300 Reported by Chris Arthur and Skip Montanaro.
301
3021995-12-17 François Pinard <pinard@iro.umontreal.ca>
303
304 * configure.in: Be more systematic at caching test results.
305 Reported by Ulrich Drepper.
306
307 * configure.in: While checking for remote tape header files, only
308 include <sgtty.h> if it was found to exist.
309
310 * configure.in: Prefer #if to #ifdef while checking for open3.
311
3121995-11-30 François Pinard <pinard@iro.umontreal.ca>
313
314 * configure.in: Check for net/errno.h and sys/inet.h, trying to
315 get EOPNOTSUPP defined.
316
317 * configure.in: Check for sgtty.h.
318
3191995-11-06 François Pinard <pinard@iro.umontreal.ca>
320
321 * acconfig.h: Document HAVE_STPCPY for the time being. I do not
322 understand yet why this is mandatory: it should be automatic
323 from AC_CHECK_FUNCS(stpcpy) in aclocal.m4, through autoheader.
324
325 * configure.in: Use fp_FUNC_FNMATCH, to get around non-working
326 versions on SCO Unix 3.2v4.2, and Solaris.
327 Reported by Chad Hurwitz, Dennis Pixton, Per Foreby, Richard
328 Westerik, Robert Weiner and Tom Tromey.
329
3301995-10-27 François Pinard <pinard@iro.umontreal.ca>
331
332 * configure.in: Add /usr/bin/rcmd as a possible remote shell, as
333 this is the name used by SCO Unix 3.2.4.
334 Reported by Bela Lubkin and Rodney Brown.
335
3361995-07-23 François Pinard <pinard@iro.umontreal.ca>
337
338 * configure.in: Adapt for GNU gettext 0.8.
339
3401995-07-10 François Pinard <pinard@iro.umontreal.ca>
341
342 * Makefile.in (default): Define to all.
343
3441995-06-18 François Pinard <pinard@iro.umontreal.ca>
345
346 * configure.in: For mknod, also include <sys/types.h> prior to
347 <sys/stat.h>, as Ultrix needs this.
348 Reported by Bruce Jerrick, Bryant Fujimoto, Conrad Hughes, Erich
349 Stefan Boleyn, Jason R. Mastaler, Joshua R. Poulson, Jurgen Botz,
350 Serge Granik, Simon Wright, Ulrich Drepper and Vince Del Vecchio.
351
352 * configure.in: Replace execlp as needed (for Minix, mainly).
353
354 * configure.in: Force compilation of lib/open3.c if required.
355 Clean out old NO_OPEN3 code.
356
357
3581995-06-17 François Pinard <pinard@iro.umontreal.ca>
359
360 * Release 1.11.8.
361
362 * Makefile.in (DISTFILES): Distribute config.guess and config.sub.
363 Reported by Ulrich Drepper.
364
365 * acconfig.h, aclocal.m4, configure.in: Last minutes
366 additions, and glimpses to the future gettext 0.6.1.
367 Reported by Ulrich Drepper.
368
369 * acconfig.h: Document HAVE_MKNOD.
370 * configure.in: Test for mknod only once <sys/stat.h> included.
371 Reported by Alan Modra, Ray Dassen and Ulrich Drepper.
372
373 * aclocal.m4: Test for re_rx_search instead of rx_compile, the
374 latter not being exported unless RX_WANT_RX_DEFS is defined.
375 Reported by Alan Modra.
376
3771995-06-15 François Pinard <pinard@iro.umontreal.ca>
378
379 * Makefile.in (dist): Do not hide copying rule.
380
381 * configure.in: Adjustments to NLS, so .sed scripts may now all
382 reside in intl/.
383
3841995-06-13 François Pinard <pinard@iro.umontreal.ca>
385
386 * Makefile.in (pot): New goal, triggering po/tar.pot.
387
3881995-06-07 François Pinard <pinard@iro.umontreal.ca>
389
390 * configure.in: Substitute POTFILES by contents of po/POTFILES.
391
392 * configure.in: More adjustments for GNU gettext 0.6.
393 * config.guess, config.sub: New files, all taken from gettext 0.6.
394
3951995-06-04 François Pinard <pinard@iro.umontreal.ca>
396
397 * Makefile.in (check): New goal.
398
3991995-05-30 François Pinard <pinard@iro.umontreal.ca>
400
401 * Makefile.in (DISTFILES): Do not distribute SUPPORT, now
402 integrated in the documentation.
403 Reported by Karl Berry.
404
4051995-05-28 François Pinard <pinard@iro.umontreal.ca>
406
407 * configure.in: Check for isascii, not iascii.
408 Reported by Alan Modra, Bruno Haible and Greg McGary.
409
4101995-05-16 François Pinard <pinard@iro.umontreal.ca>
411
412 * Prerelease 1.11.7.
413
414 * Makefile.in (DISTFILES): Distribute NLS.
415 * configure.in, acconfig.h: Many adjustments for GNU gettext.
416
4171995-05-09 François Pinard <pinard@iro.umontreal.ca>
418
419 * configure.in: Clean glocale out.
420 * Makefile.in (SUBDIRS): Add po.
421 * Makefile.in (pofile): New goal.
422
4231995-05-08 François Pinard <pinard@iro.umontreal.ca>
424
425 * configure.in: Call ud_WITH_NLS, create intl/Makefile.in.
426 Compute size of unsigned short and unsigned int.
427
428 * acconfig.h: Document ENABLE_NLS, HAVE_CATGETS and HAVE_GETTEXT.
429 * Makefile.in: Process intl subdirectory.
430
431 * configure.in (LINGUAS): Add pt.
432 * src/pt.po: New file, for Portuguese.
433 Reported by Antonio Jose Coutinho.
434
4351995-03-19 François Pinard <pinard@iro.umontreal.ca>
436
437 * configure.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
438 * acconfig.h: Add description for WITH_CATALOGS.
439
4401995-02-22 François Pinard <pinard@iro.umontreal.ca>
441
442 * configure.in, Makefile.in: Replace `date' by `echo timestamp'.
443
4441995-02-19 François Pinard <pinard@iro.umontreal.ca>
445
446 * Makefile.in: Support ID files. Do not distribute TAGS.
447
4481995-02-05 François Pinard <pinard@iro.umontreal.ca>
449
450 * Makefile.in (maintainer-clean): New name for realclean.
451
4521995-01-02 François Pinard <pinard@iro.umontreal.ca>
453
454 * configure.in: Check for <sys/ioccom.h>.
455 Reported by Joseph E. Sacco.
456
4571995-01-01 François Pinard <pinard@iro.umontreal.ca>
458
459 * Makefile.in (DISTFILES): Distribute SUPPORT, with *pre*-releases.
460
4611994-12-18 François Pinard <pinard@iro.umontreal.ca>
462
463 * configure.in: Check for isascii.
464 Reported by Bruno Haible.
465
4661994-12-11 François Pinard <pinard@iro.umontreal.ca>
467
468 * configure.in: Use fp_WITH_REGEX.
469 * acconfig.h: Document WITH_REGEX.
470
4711994-12-10 François Pinard <pinard@iro.umontreal.ca>
472
473 * src/de.tt: New file, for German.
474 Reported by Ulrich Drepper.
475
4761994-12-03 François Pinard <pinard@iro.umontreal.ca>
477
478 * Prerelease 1.11.6.
479
480 * configure.in: Localize, adapting from how it is done in sharutils.
481
482 * src/fr.tt: New file, for French.
483
484 * configure.in, {,*/}Makefile.in, acconfig.h:
485 Rename PRODUCT to PACKAGE.
486
4871994-11-26 François Pinard <pinard@iro.umontreal.ca>
488
489 * configure.in: Check for <libintl.h> and <locale.h>.
490
4911994-11-02 François Pinard <pinard@iro.umontreal.ca>
492
493 * configure.in: Check for const only after having found possible
494 ANSIfying compiler flags, this is of no use to check it before.
495
4961994-11-01 François Pinard <pinard@iro.umontreal.ca>
497
498 * {,*/}Makefile.in: Clean up, following those of GNU m4. I will
499 not detail all the changes here.
500 * configure.in: Likewise.
501 * acconfig.h: Document PRODUCT and VERSION.
502
5031994-10-04 François Pinard <pinard@iro.umontreal.ca>
504
505 * configure.in: Correct shell assignment for ac_cv_path_RSH.
506 Reported by Kaveh R. Ghazi.
507
5081994-09-14 François Pinard <pinard@iro.umontreal.ca>
509
510 * Makefile.in: Cleanup... Use subshells for all cd's.
511 (MDEFINES): Do not use $(INSTALL...), because ./install-sh will
512 not be relocated correctly.
513 (DISTFILES): Distribute install-sh, not install.sh.
514 (tags): Make only in lib and src.
515 (TAGS): Deleted.
516 (distclean, realclean): Remove config.status.
517 (distclean-local): Don't.
518 (*-recursive): Combine, use sed to strip -recursive in subgoals.
519 (Makefile): Have ./config.status create this Makefile only.
520 (stamp-h): Have ./config.status create config.h only. Do not
521 create stamp-h here, it is now done from configure.
522 (stamp-h.in): Use date instead of touch.
523 * configure.in (AC_OUTPUT): Create stamp-h.
524
5251994-09-09 François Pinard <pinard@iro.umontreal.ca>
526
527 * configure.in: Use fp_ macros for accessing aclocal.m4. Revert
528 _OS_ macros to their previous names, to follow Autoconf.
529
5301994-09-08 François Pinard <pinard@iro.umontreal.ca>
531
532 * configure.in: Delete AC_OS_XENIX, now within AC_HEADER_DIRENT.
533
5341994-09-01 François Pinard <pinard@iro.umontreal.ca>
535
536 * configure.in (PROGS): Warn if $DEFAULT_ARCHIVE was specified,
537 while not being found on the current system.
538 Reported by Robert Bernstein.
539
5401994-08-31 François Pinard <pinard@iro.umontreal.ca>
541
542 * Makefile.in: Distribute it.
543
544 * Makefile.in (distclean-local): Delete config.log.
545
5461994-08-27 François Pinard <pinard@iro.umontreal.ca>
547
548 * acconfig.h: Document HAVE_UNION_WAIT, no more in Autoconf.
549
5501994-08-24 François Pinard <pinard@iro.umontreal.ca>
551
552 * configure.in: Replace AC_SYS_REMOTE_TAPE by its definition,
553 distillating it around. It is going out of Autoconf.
554 Do not backslash quotes anymore while defining unquoted, this is
555 now corrected in Autoconf.
556
5571994-08-23 François Pinard <pinard@iro.umontreal.ca>
558
559 * configure.in: Do not define RTAPELIB nor HAVE_RTAPELIB.
560
5611994-08-22 François Pinard <pinard@iro.umontreal.ca>
562
563 Little cleanup in installation:
564 * configure.in: Do not check for wait3, this function is not used.
565 * Makefile.in: Remove useless RSH substitutions.
566
567 * configure.in: Use `-g -O' instead of `-g' as CFLAGS default
568 value, when GNU C is being used. Delay testing for presets.
569 Reported by Chris Arthur.
570
5711994-08-21 François Pinard <pinard@iro.umontreal.ca>
572
573 * Prerelease 1.11.5.
574
575 * Makefile.in (BACKLOG, dist, shar): Correct for when a different
576 build directory.
577
578 * configure.in: Check for union wait. Adapted from make 3.71.
579
580 * configure.in: Replace both mkdir and rmdir, not just mkdir,
581 because NS32016 running SysVr2.2 has mkdir and lacks rmdir.
582 Reported by Greg Black.
583
584 * configure.in: Do not try anymore to discover the archive device
585 by looking around for various device names. If the installer does
586 not override it, nicely use `-' as a convenient default.
587 Reported by Andreas Schwab and Kaveh R. Ghazi.
588
5891994-08-20 François Pinard <pinard@iro.umontreal.ca>
590
591 * configure.in: Correct a checking message.
592 Reported by Bruno Haible.
593
5941994-08-17 François Pinard <pinard@iro.umontreal.ca>
595
596 * configure.in: Replace AC_PROG_RSH with its expansion. Correct
597 the no/true confusion in tests. Do not substitute RSH anymore in
598 src/Makefile, instead define REMOTE_SHELL in config.h. Replace
599 NO_REMOTE by HAVE_RTAPELIB, with inverted meaning. Substitute
600 RTAPELIB by $Urtapelib.o instead of rtapelib.o.
601 * acconfig.h: Document HAVE_RTAPELIB and REMOTE_SHELL.
602 Reported by Andreas Schwab.
603
604 * configure.in: Checking for remote shell, use the RSH environment
605 variable if set. This is done only when not already in the cache.
606 Reported by Kaveh R. Ghazi.
607
608 * configure.in: Include <sys/types.h> when testing <utime.h>.
609 Reported by Andreas Schwab.
610
611 * configure.in: Also create doc/Makefile.
612 * Makefile.in: Add doc in subdirs, set infodir, update MDEFINES.
613
6141994-08-16 François Pinard <pinard@iro.umontreal.ca>
615
616 * configure.in: Undo the `test -b' patch of 1994-08-05. Ultrix
617 4.2 test does not know about -b. Grrr...
618 Reported by Kaveh R. Ghazi.
619
620 * configure.in: Check for <sys/gentape.h>, HAVE_SYS_GENTAPE_H
621 is tested in rmt.c. Check for <sys/tape.h>, to avoid playing
622 with M_UNIX anymore in rmt.c.
623 Reported by Daniel R. Guilderson and Kaveh R. Ghazi.
624
625 * configure.in: Use proper function names in AC_CHECK_LIB's.
626 Reported by Alexander Dupuy and Kurt Jaeger.
627
628 * configure.in: Use $LIBOBJS, not LIBOJBS, while adding to it.
629 Reported by Demizu Noritoshi and Kaveh R. Ghazi.
630
6311994-08-15 François Pinard <pinard@iro.umontreal.ca>
632
633 * Prerelease 1.11.4.
634
6351994-08-14 François Pinard <pinard@iro.umontreal.ca>
636
637 * configure.in: Decide MTIO_CHECK_FIELD by grepping <sys/mtio.h>.
638 * acconfig.h: Document it.
639 Reported by Ben A. Mesander.
640
641 * Makefile.in: Substitute CC, INSTALL, INSTALL_PROGRAM,
642 INSTALL_DATA, RSH, CFLAGS, LDFLAGS, LIBS, prefix, exec_prefix,
643 binprefix, bindir and libexecdir.
644 (MDEFINES): New, using the previous substitutions.
645 (all, install, uninstall): Use it.
646 Reported by Bruno Haible.
647
6481994-08-13 François Pinard <pinard@iro.umontreal.ca>
649
650 * configure.in: Check for <sys/wait.h>.
651
6521994-08-11 François Pinard <pinard@iro.umontreal.ca>
653
654 * configure.in: For <utime.h>, also ensure struct utimbuf is
655 defined by the header file before defining HAVE_UTIME_H. Some
656 systems will not define the structure without _POSIX_SOURCE.
657 * acconfig.h: Document HAVE_UTIME_H.
658 Reported by James W. McKelvey and Robert E. Brown.
659
660 * configure.in: Instead of replacing strstr, check for it, so
661 HAVE_STRSTR gets defined, then replace it explicitely if required.
662
6631994-08-09 François Pinard <pinard@iro.umontreal.ca>
664
665 * configure.in: Updated for Autoconf 2.0.
666
6671994-08-08 François Pinard <pinard@iro.umontreal.ca>
668
669 * configure.in: Replace memset, mkdir (and rmdir), rename, strstr,
670 ftruncate, when not found.
671 Reported by Kaveh R. Ghazi (for memset and strstr).
672 Reported by Bruno Haible (for mkdir and rename).
673
6741994-08-05 François Pinard <pinard@iro.umontreal.ca>
675
676 * configure.in: Remove padding test.
677 * acconfig.h: Remove PADDING_IN_TAR_HEADER.
678 Reported by Bruno Haible.
679
680 * configure.in: While defining DEFAULT_ARCHIVE, check for a block
681 device, instead of mere existence. But is `test -b' portable?
682 Test for /dev/fd0, instead of for /dev/fd. Put rct tests last.
683 Reported by Andreas Schwab.
684
685 * configure.in: Define uid_t and gid_t if necessary.
686 Reported by Jonathan I. Kamens.
687
688 * Makefile.in (distclean-local): Delete config.cache.
689 Reported by Thomas Koenig.
690
691 * configure.in: Change malloc_dbg to dmalloc, mutatis mutandi.
692 * acconfig.h: According changes.
693
694 * configure.in: Test for broken stat macros, and for mkfifo.
695
696 * configure.in: Check for ST_BLKSIZE and ST_BLOCKS.
697
6981994-08-02 François Pinard <pinard@iro.umontreal.ca>
699
700 * Prerelease 1.11.3.
701
702 * Makefile.in (dist, shar): Distribute the scripts directory.
703
7041994-08-01 François Pinard <pinard@iro.umontreal.ca>
705
706 * configure.in: Check for <memory.h>.
707
7081994-07-30 François Pinard <pinard@iro.umontreal.ca>
709
710 * configure.in: When --with-malloc-dbg, define WITH_MALLOC_DBG and
711 add -lmalloc_dbg to LIBS.
712 * acconfig.h: Document WITH_MALLOC_DBG.
713
714 * configure.in: Try deciding DEVICE_PREFIX and DENSITY_LETTER from
715 the selected DEFAULT_ARCHIVE.
716 * acconfig.h: Document DEVICE_PREFIX and DENSITY_LETTER.
717 Reported by Danny R. Johnston.
718
7191994-07-29 François Pinard <pinard@iro.umontreal.ca>
720
721 * aclocal.m4: Adapt AC_PROTOTYPES to caching.
722
723 * Using configure as generated by a more recent Autoconf solves a
724 problem of rename being rejected on HP-UX in ANSI mode, because of
725 a conflicting prototype from <stdio.h>. In this context, Autoconf
726 now uses ctype.c instead for defining __stub macros.
727 Reported by Alan Modra, Burkhard Plache, Edward Welbourne,
728 Henrik Bakman, Jeffrey Goldberg, Jim Farrell, Kimmy Posey,
729 Michael Maass, Mike Nolan, Richard Lloyd, Robert McGraw,
730 Robert W. Kim, Stefan Skoglund, Tarang Kumar Patel, Tilman
731 Schmidt, Tim Ramsey, Van Snyder and W. Phillip Moore.
732
7331994-07-26 François Pinard <pinard@iro.umontreal.ca>
734
735 * configure.in: Check for <fcntl.h>. Do not define BSD42, do
736 not look anymore if /vmunix, /sdmach or /../../mach exist.
737 * acconfig.h: Remove BSD42.
738
7391994-07-24 François Pinard <pinard@iro.umontreal.ca>
740
741 * configure.in: Add gmalloc.o to LIBOBJS, instead of AC_SUBST'ing
742 MALLOC. Check for valloc only if gmalloc.o is not being selected.
743 valloc was possibly defined both in "port.h" and GNU malloc.
744 * acconfig.h: Add a description for HAVE_VALLOC.
745 J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
746
7471994-07-22 François Pinard <pinard@iro.umontreal.ca>
748
749 * configure.in: Use provided fnmatch only as a replacement.
750
751 * configure.in: Check for <sys/io/trioctl.h>, needed for
752 defining _IOW and _IOR on the Tektronix XD88.
753 Reported by Kaveh R. Ghazi.
754
7551994-07-20 François Pinard <pinard@iro.umontreal.ca>
756
757 * Makefile.in (BACKLOG): New goal, for summarizing the
758 maintainance backlog. Distribute file BACKLOG.
759
7601994-07-08 François Pinard <pinard@iro.umontreal.ca>
761
762 * regex.c, regex.h: Use newer versions. This solves a few
763 problems reported by users.
764 Reported by Chris Hopps and John David Anglin.
765
7661994-07-06 François Pinard <pinard@iro.umontreal.ca>
767
768 * configure.in: Check for <utime.h>.
769
7701994-07-05 François Pinard <pinard@iro.umontreal.ca>
771
772 * configure.in: Substitute DEFAULT_ARCHIVE and DEFAULT_BLOCKING
773 from the environment. Check for /dev/tape first while trying to
774 decide the default archive, because it is often symlinked right.
775 * acconfig.h: Explain DEFAULT_ARCHIVE and DEFAULT_BLOCKING.
776
777 * configure.in: Use AC_SET_MAKE.
778 * Makefile.in: Use @SET_MAKE@.
779 Reported by Jim Meyering.
780
781 * configure.in: Integrate the check, previously in testpad.c,
782 about a needed padding field in the tar header struct.
783 * acconfig.h: Explain PADDING_IN_TAR_HEADER.
784
7851994-07-02 François Pinard <pinard@iro.umontreal.ca>
786
787 * configure.in: Check for -linet, this library is required on
788 a few systems for gettimeofday() or getservbyname(). Also, on ISC
789 4.0, this avoids a broken version of rename().
790 Reported by Dean Gaudet, Goeran Uddeborg, Mike Rogers and
791 Peder Chr. Norgaard.
792
793 * configure.in: Ensure -lsocket is tested after -lnsl. This is
794 required in particular for SINIX-Z, an SVR4.0 system.
795 Reported by Manfred Weichel and Mark Frost.
796
797 * configure.in: All tests reordered for clarity.
798
7991994-07-01 François Pinard <pinard@iro.umontreal.ca>
800
801 * configure.in: Use AC_TIME_WITH_SYS_TIME, test for <sys/time.h>.
802 This should solve the problem of multiple inclusions of <time.h>.
803 Also, also check for <sys/timeb.h>, for getdate.y tests this.
804 Reported by Jim Meyering, John Rouillard, Karl Berry and Rick
805 Emerson.
806
8071994-06-30 François Pinard <pinard@iro.umontreal.ca>
808
809 * configure.in: AC_CONST was already added since 1.11.2, but no
810 ChangeLog entry for it, so here is one, with list of reporters.
811 * AIX 3.2 RS/6000 IBM's compiler was unable to compile regex.c,
812 this might be solved already through improved Autoconf tests.
813
814 Reported by Alexey Vovenko, Ben A. Mesander, Bryant
815 Fujimoto, Christian. T. Dum, Christopher Vickery, Dan Bloch,
816 David K. Drum, David Lemson, Demizu Noritoshi, Dimitris
817 Fousekis, Ezra Peisach, Hugh Secker-Walker, Indra Singhal,
818 J.T. Conklin, Jan Hoeglund, Janice Burton, Jeff Siegel,
819 Jim Blandy, John L. Chmielewski, John Rouillard, Jonathan
820 N. Sherman, Kevin D Quitt, Kurt Jaeger, Mark Frost, Matthew
821 Braun, Michael Kubik, Michael Helm, Moritz D. Klingholz,
822 Neil Jerram, Nelson H.F. Beebe, Nick Barron, Paul Eggert,
823 R. Scott Butler, Rob Parry, Ron Guilmette, Scott Grosch,
824 Sherwood and Stephen Saroff.
825
826 * Makefile.in: Completely replaced, lurking at the previous one.
827 At the same time, solve a few minor problems reported by users.
828 The most frequently reported ones pertained to a trailing \ in a
829 comment, and rmt installing in /etc.
830 Reported by Dean Gaudet, Gerben Wierda, James W. McKelvey,
831 John L. Chmielewski, Karl Berry, Mike Rogers, Ralf Suckow and
832 Richard Lloyd.
833
834 * configure.in: Also process lib/Makefile.in and src/Makefile.in.
835 Substitute CFLAGS, LDFLAGS and YFLAGS from the environment.
836 Use AC_CHECKING instead of using echo explicitely.
837 Use AC_HEADER_CHECK(unistd.h) instead of obsolete AC_UNISTD_H.
838
839 * configure.in: Generate a configuration header file. This not
840 only puts less clutter in make output, but also goes around some
841 compilers' limits about the number of allowed -D options.
842 Reported by Nelson H.F. Beebe.
843
844 * acconfig.h: New file.
845
846 * Split distribution into a few subdirectories, for easing
847 maintainance. So far: src, lib, scripts, msdos which are to be
848 distributed; then rmail, texinfo, ARCH and misc to be kept here.
849 * scripts/ChangeLog: Initialized by moving entries related to
850 scripts out of this ChangeLog.
851
852 * Taking over maintenance duties.
853
854
855----- doc/ChangeLog -----
856
8571997-04-23 François Pinard <pinard@iro.umontreal.ca>
858
859 * Release 1.12.
860
861 * Makefile.am (EXTRA_DIST): Remove tar-mew.texi for the release.
862 (tar.dvi) [!PUBLISH]: Delete @smallbook. Call sed in all cases.
863
8641997-04-11 François Pinard <pinard@iro.umontreal.ca>
865
866 * Prerelease 1.11o.
867
868 * Makefile.am (tar.info): Comment about needed makeinfo version.
869 Reported by Sherwood Botsford.
870
8711997-04-10 François Pinard <pinard@iro.umontreal.ca>
872
873 * Makefile.am (EXTRA_DIST): Add tar-mew.texi.
874
8751997-03-16 François Pinard <pinard@iro.umontreal.ca>
876
877 * Makefile.am (tar.dvi): Merely use tar.texi and rely on -I to
878 resolve it in $(srcdir). Remove tmp-tar.info* files right away.
879 (CLEANFILES): Define to tmp-*.
880
8811997-03-14 François Pinard <pinard@iro.umontreal.ca>
882
883 * Makefile.am: Rename RENDERING, QUALITY, DRAFT and DEBUG to
884 RENDITION, PUBLISH, DISTRIB and PROOF respectively. Ensure that
885 `@set DISTRIB' gets replaced after macro-expansion and before TeX.
886
8871996-11-06 François Pinard <pinard@iro.umontreal.ca>
888
889 * Prerelease 1.11.13.
890
891 * getdate.texi: New file, from elsewhere.
892 * tar.texi: Replace a lot of text by an include of getdate.texi.
893 * Makefile.am: Adjusted.
894
8951996-08-24 François Pinard <pinard@iro.umontreal.ca>
896
897 * Prerelease 1.11.12.
898
899 * Makefile.am (EXTRA_DIST): Remove texinfo.tex, now that Automake
900 handles it automatically.
901
9021996-07-18 François Pinard <pinard@iro.umontreal.ca>
903
904 * Prerelease 1.11.11.
905
906 * Makefile.am (tar.info): Remove -I$(srcdir), which was useless.
907
9081996-07-17 François Pinard <pinard@iro.umontreal.ca>
909
910 * Makefile.am (EXTRA_DIST): Include texinfo.tex, until Automake
911 does it automatically.
912
9131996-07-16 François Pinard <pinard@iro.umontreal.ca>
914
915 * Prerelease 1.11.10.
916
917 * Makefile.am (EXTRA_DIST): Distribute convtexi.pl, for now.
918
9191996-04-22 François Pinard <pinard@iro.umontreal.ca>
920
921 * Makefile.am: Implement rendering levels (QUALITY, DRAFT or DEBUG).
922
9231996-04-17 François Pinard <pinard@iro.umontreal.ca>
924
925 * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
926
9271996-03-03 François Pinard <pinard@iro.umontreal.ca>
928
929 * Makefile.am (tar.dvi): Comment about needed makeinfo version.
930 Reported by Jonathan Thornburg.
931
9321996-02-12 François Pinard <pinard@iro.umontreal.ca>
933
934 * Makefile.am: Replace TEXINFO by info_TEXINFOS for Automake 0.29.
935
9361996-01-14 François Pinard <pinard@iro.umontreal.ca>
937
938 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
939
9401996-01-08 François Pinard <pinard@iro.umontreal.ca>
941
942 * Makefile.am: New file.
943 * tar.texi: New name for tar.texinfo.
944
9451995-12-30 François Pinard <pinard@iro.umontreal.ca>
946
947 * Makefile.in (check): New goal, doing nothing.
948 Reported by Cesar Romani, Joachim Seelig, Mark Bynum and Ulrich
949 Drepper.
950
9511995-11-29 François Pinard <pinard@iro.umontreal.ca>
952
953 * Makefile.in (clean): Remove tmp-* files.
954
9551995-11-27 François Pinard <pinard@iro.umontreal.ca>
956
957 * Makefile.in: Use -I$(srcdir) with makeinfo, and -otmp-tar.info
958 so tar.info in build directory does not shadow the real one.
959 (tar.dvi): Depend on version.texi. Add $(srcdir) to TEXINPUTS so
960 texinfo.tex is found, as texi2dvi gets no clue from the file name.
961 (DISTFILES): Also distribute tar.info-8.
962
9631995-11-22 François Pinard <pinard@iro.umontreal.ca>
964
965 * Makefile.in (DISTFILES): Distribute ChangeLog.
966 * ChangeLog: New file, extracted from top-level ChangeLog.
967
9681995-06-22 François Pinard <pinard@iro.umontreal.ca>
969
970 * Makefile.in: Get rid of docwarn.texi, now replaced by
971 the @UNREVISED macro, right into tar.texinfo.
972
9731995-06-18 François Pinard <pinard@iro.umontreal.ca>
974
975 * Makefile.in (tar.dvi): First macro-expand tar.texinfo.
976
9771995-06-07 François Pinard <pinard@iro.umontreal.ca>
978
979 * Makefile.in: Use subdir and distdir.
980
9811995-06-03 François Pinard <pinard@iro.umontreal.ca>
982
983 * tar.texinfo: Use header.texi.
984 * Makefile.in: Prepare header.texi from src/tar.h.
985 Distribute it.
986
9871995-05-28 François Pinard <pinard@iro.umontreal.ca>
988
989 * Makefile.in (DISTFILES): Add tar.info-3.
990 Reported by Bruno Haible.
991
9921995-02-22 François Pinard <pinard@iro.umontreal.ca>
993
994 * Makefile.in: Replace `date' by `echo timestamp'.
995
9961995-02-13 François Pinard <pinard@iro.umontreal.ca>
997
998 * Makefile.in: Use top_srcdir.
999
10001995-02-05 François Pinard <pinard@iro.umontreal.ca>
1001
1002 * Makefile.in (maintainer-clean): New name for realclean.
1003
10041994-12-03 François Pinard <pinard@iro.umontreal.ca>
1005
1006 * Makefile.in (DISTFILES): Include docwarn.texi.
1007
10081994-11-07 François Pinard <pinard@iro.umontreal.ca>
1009
1010 * Makefile.in (stamp-vti): Use new -r option to date.
1011
10121994-11-05 François Pinard <pinard@iro.umontreal.ca>
1013
1014 * Makefile.in (realclean): Also remove stamp-vti.
1015
10161994-09-14 François Pinard <pinard@iro.umontreal.ca>
1017
1018 * Makefile.in: Cleanup...
1019 (texclean): Deleted, merged into mostlyclean.
1020 (Makefile): Have ./config.status create this Makefile only.
1021
10221994-08-30 François Pinard <pinard@iro.umontreal.ca>
1023
1024 * Makefile.in (tar.info): Make the documentation in the source
1025 directory only.
1026
10271994-08-21 François Pinard <pinard@iro.umontreal.ca>
1028
1029 * Makefile.in: Correct for when a different build directory.
1030
1031 * docwarn.texi: New file.
1032 * Makefile.in: Distribute it.
1033
10341994-08-17 François Pinard <pinard@iro.umontreal.ca>
1035
1036 * Makefile.in: New file.
1037 * tar.texinfo: New file.
1038 * texinfo.tex: New, from elsewhere.
1039
1040
1041----- lib/ChangeLog -----
1042
10431997-04-25 François Pinard <pinard@iro.umontreal.ca>
1044
1045 * Release 1.12.
1046
10471997-04-16 François Pinard <pinard@iro.umontreal.ca>
1048
1049 * Prerelease 1.11p.
1050
1051 The distribution did not have getdate.c updated:
1052 * Makefile.am (libtar_a_SOURCES): Use getdate.y, not getdate.c.
1053 (EXTRA_DIST): Do not include getdate.y anymore.
1054 * getdate.c: Specify $(srcdir)/, to silence GNU make.
1055 Reported by Bruno Haible.
1056
10571997-04-15 François Pinard <pinard@iro.umontreal.ca>
1058
1059 * Makefile.am (getdate.c): Announce 13 conflicts, not 10.
1060 Reported by Bruno Haible, Bryant Fujimoto and Wolfram Wagner.
1061
10621997-04-11 François Pinard <pinard@iro.umontreal.ca>
1063
1064 * Prerelease 1.11o.
1065
1066 * getdate.h: New file.
1067 * Makefile.am: Adjusted.
1068
10691997-04-10 François Pinard <pinard@iro.umontreal.ca>
1070
1071 * modechange.c, modechange.h: New files.
1072 * Makefile.am: Adjusted.
1073
10741997-02-25 François Pinard <pinard@iro.umontreal.ca>
1075
1076 * Makefile.am: Adapt library name to Automake 1.1l.
1077
10781996-11-09 François Pinard <pinard@iro.umontreal.ca>
1079
1080 * Prerelease 1.11.14.
1081
1082 * basename.c: New file.
1083
10841996-11-09 François Pinard <pinard@iro.umontreal.ca>
1085
1086 * Prerelease 1.11.13.
1087
1088 * Makefile.am: Use tar_DEPENDENCIES. Avoid BUILT_SOURCES,
1089 put getdate.c instead of getdate.y in tar_SOURCES and keep
1090 getdate.c in EXTRA_DIST.
1091
10921996-11-06 François Pinard <pinard@iro.umontreal.ca>
1093
1094 * argmatch.c, argmatch.h, backupfile.c, backupfile.h, dirname.c,
1095 getversion.c: New files.
1096 * Makefile.am: Adjusted.
1097 Reported by Marty Leisner.
1098
10991996-10-31 François Pinard <pinard@iro.umontreal.ca>
1100
1101 * safe-stat.h: Deleted.
1102 * Makefile.am (noinst_HEADERS): Adjusted.
1103 Reported by Jim Meyering.
1104
11051996-09-20 François Pinard <pinard@iro.umontreal.ca>
1106
1107 * regex.c, regex.h, rx.c, rx.h: Deleted.
1108 * Makefile.am: Adjusted.
1109
11101996-09-19 François Pinard <pinard@iro.umontreal.ca>
1111
1112 * Prerelease 1.11.12.
1113
1114 * execlp.c: Include stdio.h, not only stdio!
1115
11161996-09-16 François Pinard <pinard@iro.umontreal.ca>
1117
1118 * open3.h: File deleted after being merged into system.h.
1119 * open3.c: File deleted, moved back into src/.
1120 * Makefile.am: Adjusted.
1121 Reported by Jim Meyering.
1122
11231996-08-24 François Pinard <pinard@iro.umontreal.ca>
1124
1125 * Makefile.am (EXTRA_DIST): $(BUILT_SOURCES) is no longer
1126 necessary, as Automake now handles it automatically.
1127
11281996-07-16 François Pinard <pinard@iro.umontreal.ca>
1129
1130 * Prerelease 1.11.11.
1131
1132 * Makefile.am (EXTRA_DIST): Move stpcpy.c there, from tar_SOURCES.
1133 Reported by Ulrich Drepper.
1134
11351996-04-17 François Pinard <pinard@iro.umontreal.ca>
1136
1137 * Prerelease 1.11.10.
1138
1139 * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
1140
11411996-02-28 François Pinard <pinard@iro.umontreal.ca>
1142
1143 * msleep.c: New file, from elsewhere.
1144 * Makefile.am: Adjusted.
1145
11461996-02-12 François Pinard <pinard@iro.umontreal.ca>
1147
1148 * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
1149
11501996-01-14 François Pinard <pinard@iro.umontreal.ca>
1151
1152 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
1153
11541996-01-07 François Pinard <pinard@iro.umontreal.ca>
1155
1156 * Makefile.am: Add parts of previous Makefile.in as FIXME comments.
1157
11581996-01-01 François Pinard <pinard@iro.umontreal.ca>
1159
1160 * error.h: New file, from elsewhere.
1161 * Makefile.am: Add error.h to HEADERS.
1162 Reported by Jim Meyering.
1163
11641995-12-30 François Pinard <pinard@iro.umontreal.ca>
1165
1166 * Makefile.am (INCLUDES): Add -I../intl to get libintl.h.
1167 Reported by Daniel S. Barclay, Göran Uddeborg, Jonathan Thornburg
1168 and Minh Tran-Le.
1169
11701995-12-29 François Pinard <pinard@iro.umontreal.ca>
1171
1172 * Prerelease 1.11.9.
1173
1174 * Makefile.am: New file.
1175
11761995-11-22 François Pinard <pinard@iro.umontreal.ca>
1177
1178 * Makefile.in (DISTFILES): Distribute ChangeLog.
1179 * ChangeLog: New, extracted from the top-level ChangeLog.
1180
11811995-06-18 François Pinard <pinard@iro.umontreal.ca>
1182
1183 * execlp.c (execlp): New, extracted from src/port.c.
1184 * Makefile.in: Adjusted.
1185
1186 * open3.h: New, moved from src/.
1187 * open3.c: New, extracted from src/port.c.
1188 * Makefile.in: Adjusted.
1189 Clean out old NO_OPEN3 code.
1190
1191 * insremque.h, insremque.c: Deleted.
1192 * Makefile.in: Adjusted.
1193
11941995-06-17 François Pinard <pinard@iro.umontreal.ca>
1195
1196 * Makefile.in (DISTFILES): Remove COPYING.LIB.
1197 * COPYING.LIB: Deleted.
1198
11991995-06-15 François Pinard <pinard@iro.umontreal.ca>
1200
1201 * Makefile.in (dist): Do not hide copying rule.
1202
12031995-06-07 François Pinard <pinard@iro.umontreal.ca>
1204
1205 * Makefile.in: Use subdir and distdir.
1206
1207 * stpcpy.c, xgetcwd.c: New functions needed by gettext.
1208 * Makefile.in: Adjusted to always compile these.
1209
12101995-05-16 François Pinard <pinard@iro.umontreal.ca>
1211
1212 * insremque.h, insremque.c: New files, from GNU gettext.
1213 * Makefile.in: Take care of insremque.[hc].
1214
12151995-03-19 François Pinard <pinard@iro.umontreal.ca>
1216
1217 * Makefile.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
1218
12191995-02-19 François Pinard <pinard@iro.umontreal.ca>
1220
1221 * Makefile.in: Support ID files. Do not distribute TAGS.
1222
12231995-02-05 François Pinard <pinard@iro.umontreal.ca>
1224
1225 * Makefile.in (maintainer-clean): New name for realclean.
1226
12271994-12-18 François Pinard <pinard@iro.umontreal.ca>
1228
1229 * safe-stat.h: New, from elsewhere. This solves the fact that
1230 mkdir.c, rmdir.c and rename.c were needing it.
1231 * Makefile.in (Makefile): Distribute it.
1232 Reported by Bruno Haible and Sherwood Botsford.
1233
12341994-12-11 François Pinard <pinard@iro.umontreal.ca>
1235
1236 * rx.c, rx.h: New, from elsewhere.
1237 * Makefile.in: Adjust accordingly.
1238
12391994-12-03 François Pinard <pinard@iro.umontreal.ca>
1240
1241 * Makefile.in: Localize, adapting from how it is done in sharutils.
1242
12431994-09-14 François Pinard <pinard@iro.umontreal.ca>
1244
1245 * Makefile.in: Cleanup...
1246 (DISTFILES): Distribute TAGS.
1247 (check): Deleted.
1248 (TAGS): Make TAGS in $(srcdir) only.
1249 (distclean): Do not remove TAGS.
1250 (realclean): Remove TAGS.
1251 (Makefile): Have ./config.status create this Makefile only.
1252
12531994-08-22 François Pinard <pinard@iro.umontreal.ca>
1254
1255 Little cleanup in installation:
1256 * Makefile.in (install, check): Depend on all.
1257
12581994-08-21 François Pinard <pinard@iro.umontreal.ca>
1259
1260 * Makefile.in: Correct for when a different build directory.
1261
1262 * rmdir.c: New, split out of mkdir.c.
1263 * Makefile.in: Distribute it.
1264 Reported by Greg Black.
1265
12661994-08-17 François Pinard <pinard@iro.umontreal.ca>
1267
1268 * ftruncate.c: Revised, because there is no ftruncate
1269 capability whatsoever in Interactive Unix.
1270 Reported by Peder Chr. Norgaard.
1271
12721994-08-08 François Pinard <pinard@iro.umontreal.ca>
1273 * memset.c, mkdir.c, rename.c, strstr.c and
1274 ftruncate.c: New, from elsewhere.
1275 * Makefile.in: Distribute them.
1276
12771994-08-05 François Pinard <pinard@iro.umontreal.ca>
1278
1279 * Makefile.in (getdate.c): Tell the installer to expect 10
1280 shift/reduce conflicts instead of 9.
1281 Reported by Andreas Schwab.
1282
1283 * fileblocks.c: New, from elsewhere.
1284 * Makefile.in: Distribute it.
1285
12861994-08-02 François Pinard <pinard@iro.umontreal.ca>
1287
1288 * xstrdup.c: New, from elsewhere.
1289 * Makefile.in: Adjusted.
1290
12911994-07-29 François Pinard <pinard@iro.umontreal.ca>
1292
1293 * error.c: Add error_print_progname virtual routine.
1294
12951994-07-24 François Pinard <pinard@iro.umontreal.ca>
1296
1297 * gmalloc.c: New, from elsewhere. This renames and updates
1298 what was previously malloc.c. This also solves __const vs const.
1299 * Makefile.in: Distribute gmalloc.c.
1300 Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman,
1301 J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
1302
13031994-07-22 François Pinard <pinard@iro.umontreal.ca>
1304
1305 * Makefile.in (LIBOBJS): Get configured list of replacements.
1306 * fnmatch.h: Undefine FNM_PATHNAME and FNM_PERIOD, for HP-UX
1307 defines them in <unistd.h>.
1308
1309 * getdate.y: Acknowledging here a few reports which are
1310 likely solved by going to an updated version of getdate.y.
1311 Reported by Andrey A. Chernov, Bruce Evans, Dean Gaudet, Ian
1312 T. Zimmerman, Jeff Prothero, Mike Nolan, Milan Hodoscek, Peder
1313 Chr. Norgaard, Sarah Quady, Tarang Kumar Patel and Thomas
1314 Koenig.
1315
13161994-07-02 François Pinard <pinard@iro.umontreal.ca>
1317
1318 * xmalloc.c: New file, from elsewhere.
1319 * error.c: New, from elsewhere.
1320 * Makefile.in: Adjusted.
1321
13221994-06-30 François Pinard <pinard@iro.umontreal.ca>
1323
1324 * Makefile.in: New file.
1325
1326
1327----- po/ChangeLog -----
1328
13291997-04-25 François Pinard <pinard@iro.umontreal.ca>
1330
1331 * Release 1.12.
1332
13331997-04-18 François Pinard <pinard@iro.umontreal.ca>
1334
1335 * Prerelease 1.11p.
1336
1337 * fr.po: Updated file.
1338
13391997-04-11 François Pinard <pinard@iro.umontreal.ca>
1340
1341 * Prerelease 1.11o.
1342
13431997-03-26 François Pinard <pinard@iro.umontreal.ca>
1344
1345 * it.po: New file.
1346
13471997-02-14 François Pinard <pinard@iro.umontreal.ca>
1348
1349 * pl.po: Updated file.
1350
13511996-11-22 François Pinard <pinard@iro.umontreal.ca>
1352
1353 * POTFILES.in: Add src/common.h.
1354 Reported by Christian Kirsch.
1355
13561996-11-18 François Pinard <pinard@iro.umontreal.ca>
1357
1358 * Prerelease 1.11.14.
1359
1360 * POTFILES.in: Adjust for changes in src/.
1361
13621996-09-05 François Pinard <pinard@iro.umontreal.ca>
1363
1364 * Prerelease 1.11.12.
1365
1366 * pl.po: New file.
1367
1368
13691995-06-17 François Pinard <pinard@iro.umontreal.ca>
1370
1371 * Release 1.11.8.
1372
1373 * Makefile.in (.po.gmo): Force moving the created .gmo file to
1374 $(srcdir), in case it was not already found and replaced there.
1375 (install-data): Find files in $(srcdir) if not in current dir,
1376 because .gmo files are taken there, right out the distribution.
1377 * intl/Makefile.in (DISTFILES): Ensure an all ready stamp-cat-id
1378 and cat-id-tbl.c into the distribution.
1379 (stamp-cat-id): Rewrite rule so it replaces files in $(srcdir),
1380 remove a useless rm and cat.
1381
1382 * intl/cat-compat.c, int/gettext.h, intl/po-to-tbl.sed,
1383 Makefile.in: Last minutes additions, and glimpses to the future
1384 gettext 0.6.1.
1385 Reported by Ulrich Drepper.
1386
1387 * Makefile.in (install-data, uninstall): Avoid using basename.
1388
13891995-06-15 François Pinard <pinard@iro.umontreal.ca>
1390
1391 * Makefile.in (dist): Comment out tupdate action for now, it
1392 needs more tweeking before being distributed active.
1393
1394 * intl/Makefile.in (dist), Makefile.in (dist): Correct
1395 missing reference to $(srcdir) on cp call, also avoid outputting
1396 clutter while doing the work.
1397
1398 * intl/Makefile.in: Use top_srcdir for referring to $(PACKAGE).pot.
1399
1400 * Makefile.in (.po.gmo): Get around what seems to be an msgfmt
1401 bug, which adds .mo even to FILE in `-o FILE'.
1402
1403 * intl/Makefile.in, Makefile.in: Adjustments to NLS, so .sed
1404 scripts may now all reside in intl/.
1405
14061995-06-07 François Pinard <pinard@iro.umontreal.ca>
1407
1408 * POTFILES: New file.
1409 * Makefile.in: Use POTFILES instead of TRANSCSRCS, also use
1410 top_srcdir.
1411
1412 * intl/linux-msg.sed, intl/po-to-tbl.sed, intl/xopen-msg.sed: New
1413 files, all taken from gettext 0.6.
1414
14151995-06-05 François Pinard <pinard@iro.umontreal.ca>
1416
1417 * intl/*: New from GNU gettext 0.6, replacing the previous
1418 version of this directory. This change should solve many problems.
1419
1420 Reported by Bruno Haible, Christopher Vickery, Jan Carlson,
1421 Jean-Philippe Martin-Flatin, John David Anglin, Joseph E.
1422 Sacco, Kaveh R. Ghazi, Kurt Jaeger, Mark W. Eichin, Marty
1423 Leisner, Minh Tran-Le, Stephen Saroff, Thomas Koenig, Thomas
1424 Krebs and William Bader.
1425
14261995-05-16 François Pinard <pinard@iro.umontreal.ca>
1427
1428 * intl/Makefile.in, Makefile.in: Many adjustments for GNU gettext.
1429
14301995-05-09 François Pinard <pinard@iro.umontreal.ca>
1431
1432 * Makefile.in: New file.
1433 * de.po, fr.po, pt.po, sv.po: New files, adapted from
1434 the corresponding .tt files in src/.
1435
14361995-05-08 François Pinard <pinard@iro.umontreal.ca>
1437
1438 * intl/*: New, from nlsutils.
1439
14401995-01-09 François Pinard <pinard@iro.umontreal.ca>
1441
1442 * src/de.tt: New file, for Swedish.
1443 Reported by Jan Djarv.
1444
14451994-12-10 François Pinard <pinard@iro.umontreal.ca>
1446
1447 * de.tt: New file, for German.
1448 Reported by Ulrich Drepper.
1449
1450
1451----- scripts/ChangeLog -----
1452
14531997-04-24 François Pinard <pinard@iro.umontreal.ca>
1454
1455 * Release 1.12.
1456
1457 * level-1, level-0: Replace --block-size by --blocking.
1458
14591996-04-17 François Pinard <pinard@iro.umontreal.ca>
1460
1461 * Prerelease 1.11.10.
1462
1463 * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
1464
14651996-01-14 François Pinard <pinard@iro.umontreal.ca>
1466
1467 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits.
1468
14691996-01-08 François Pinard <pinard@iro.umontreal.ca>
1470
1471 * Makefile.am: New file.
1472
14731995-12-31 François Pinard <pinard@iro.umontreal.ca>
1474
1475 * Makefile.in (check, dvi): New goals, doing nothing.
1476 Reported by Cesar Romani and Ulrich Drepper.
1477
14781995-06-21 François Pinard <pinard@iro.umontreal.ca>
1479
1480 * Prerelease 1.11.9.
1481
1482 * Makefile.in: Distribute the ChangeLog, now recovered!
1483 Reported by Andreas Schwab.
1484
1485
14861995-06-17 François Pinard <pinard@iro.umontreal.ca>
1487
1488 * Release 1.11.8.
1489
1490 * WARNING: New file.
1491 * Makefile.in (DISTFILES): Distribute it.
1492
14931995-06-15 François Pinard <pinard@iro.umontreal.ca>
1494
1495 * sripts/Makefile.in (dist): Do not hide copying rule.
1496
14971995-06-07 François Pinard <pinard@iro.umontreal.ca>
1498
1499 * Makefile.in: Use subdir and distdir.
1500
15011995-02-05 François Pinard <pinard@iro.umontreal.ca>
1502
1503 * Prerelease 1.11.7.
1504
1505 * Makefile.in (maintainer-clean): New name for realclean.
1506
15071994-12-03 François Pinard <pinard@iro.umontreal.ca>
1508
1509 * Prerelease 1.11.6.
1510
1511 * ChangeLog: Replaced by a warning for now. It has
1512 seemingly been overwritten by the weekly script :-(.
1513
1514 * Makefile.in (dist): Correct .../examples to .../scripts.
1515
15161994-09-14 François Pinard <pinard@iro.umontreal.ca>
1517
1518 * Makefile.in: Cleanup...
1519 (check): Deleted.
1520 (Makefile): Have ./config.status create this Makefile only.
1521
15221994-06-30 François Pinard <pinard@iro.umontreal.ca>
1523
1524 * Prerelease 1.11.5.
1525
1526 * ChangeLog: Initialized by moving entries related to
1527 scripts out of this ChangeLog.
1528
15291993-11-24 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1530
1531 * dump-remind: Send mail notification to the original recipients
1532 that the dump has been continued when that is the case.
1533
15341993-03-31 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1535
1536 * level-0, level-1 (LOGFILE): Put logfile in `log' subdirectory.
1537
15381993-03-28 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1539
1540 * dump-remind (volno): Don't increment by one.
1541
15421993-03-25 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1543
1544 * level-0, level-1 (TAR_PART1): Use `--block-size', not just
1545 `--block', which is now ambiguous.
1546
15471993-03-24 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1548
1549 * backup-specs (TAR): New variable.
1550
1551 * level-0, level-1 (TAR_PART1): Get path of GNU tar from `TAR'
1552 variable, don't hardcode it.
1553
15541993-03-20 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1555
1556 * backup-specs (SLEEP_MESSAGE): put backslashes in front of nested
1557 double quotes.
1558
1559 * level-0, level-1 (BACKUP_DIRS): Don't put in quotes.
1560 (LOGFILE): Use sed to construct name, not awk.
1561
1562 * dump-remind (recipients): Replaced inefficient pipeline with a
1563 single, simple sed script.
1564 (volno): Deal with the possibility that VOLNO_FILE may not be
1565 created yet.
1566
15671993-03-19 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
1568
1569 * backup-specs (VOLNO_FILE): Removed abusive comment by Noah.
1570
15711993-03-18 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1572
1573 * Makefile.in (AUX): Include `dump-remind' in distribution.
1574
1575 * backup-specs (SLEEP_MESSAGE): New variable.
1576 level-0, level-1: Use it instead of external `dont_touch' file.
1577
1578 * level-0, level-1: Put most of the script in () and pipe
1579 everything from the subshell through tee -a $LOGFILE. Since you
1580 really want most of the output to go to the logfile anyway, and
1581 since all those pipelines were preventing one from getting the
1582 exit status of most commands, this seems like the right idea.
1583
1584 * level-0, level-1 (LOGFILE): Use YYYY-MM-DD (all numeric) format
1585 for log file name, since that makes the file names sortable in a
1586 coherent way. Suffix should always be `level-n' where n is the
1587 dump level. level-0 script was just using `-full' instead.
1588
1589 * level-0, level-1 (DUMP_LEVEL): New variable. Set to `0' or `1'
1590 in each script as appropriate.
1591
1592 * level-0, level-1 (HOST): Renamed to `localhost' for clarity.
1593 (host): renamed to `remotehost' for clarity.
1594
1595 * level-0, level-1 (startdate): New variable. Use it in Subject
1596 line of mailed report.
1597
1598 * level-0, level-1: Fixed all instances where sed is called with a
1599 script on the command line to use `-e' option.
1600
1601 * level-0, level-1: Don't try to call logfile.sed to filter
1602 LOGFILE. It's not distributed with tar and was never really used
1603 anyway.
1604
1605 * level-0, level-1: Put quotes around most variable names (barring
1606 those that are known to intentionally contain text that should be
1607 expanded into multiple words, like `TAR_PART1').
1608
1609 * level-0, level-1: Got rid of annoying trailing backslashes in awk
1610 scripts. They were gratuitous. Made them a little more readable
1611 by adding some whitespace.
1612
16131992-10-21 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1614
1615 * level-0, level-1: put curly braces around variables for clarity.
1616
1617 * backup-specs (DUMP_REMIND_SCRIPT): define it (but commented out
1618 so that distributed dump scripts won't use it by default).
1619 level-0, level-1 (TAR_PART1): use --info-script if
1620 DUMP_REMIND_SCRIPT is defined.
1621 dump-remind: new file (intended as an example).
1622
16231992-10-15 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1624
1625 * level-0, level-1: remove $LOGFILE.tmp files before exiting.
1626
16271992-09-24 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
1628
1629 * level-0, level-1 (TAR_PART1): remove --atime-preserve
1630 because of a total screw.
1631
16321992-09-10 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1633
1634 * level-0, level-1 (TAR_PART1): put --atime-preserve inside quotes.
1635
16361992-09-09 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
1637
1638 * level-0, level-1 (TAR_PART1): Use --atime-preserve.
1639
16401992-07-10 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
1641
1642 * level-0, level-1: Avoid silly Sun awk lossage.
1643
16441992-04-30 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1645
1646 * level-1: Added `$' before VOLNO_FILE in definition of TAR_PART1.
1647 Added line to remove $VOLNO_FILE from any previous dump before
1648 starting.
1649
1650 * level-0, level-1: Change long options to use `--' instead of `+'
1651 (support for `+' will go away soon)
1652
16531991-10-17 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
1654
1655 * level-0: Repair damage from previous mod: stdin to rsh must
1656 be the terminal or tar's questions lose.
1657
16581991-08-31 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
1659
1660 * level-0: Fixed several syntax errors associated with
1661 stdout/stderr redirection.
1662 Made sure remote host executes commands from sh where redirection
1663 is necessary, since root's shell might be csh in some places and
1664 the redirect syntax differs.
1665
16661991-07-01 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
1667
1668 * Fix a misplaced quote in level-0 and change some >& into
1669 2>&1.
1670
1671
1672----- src/ChangeLog -----
1673
16741997-04-25 François Pinard <pinard@iro.umontreal.ca>
1675
1676 * Release 1.12.
1677
1678 * tar.c (main): Attempt to clarify the delayed error exit message.
1679 Reported by Richard Stallman.
1680
1681 * list.c (decode_mode): New name for demode.
1682
1683 * list.c (read_and): Set current_stat.st_mtime before testing it.
1684 Reported by Sven Verdoolaege.
1685
16861997-04-24 François Pinard <pinard@iro.umontreal.ca>
1687
1688 * create.c (dump_file): Before asserting that we cannot access
1689 a directory, make sure tar is not installed suid root.
1690 Reported by Dietmar Braun.
1691
1692 * misc.c (quote_copy_string): Undo 1996-05-02 change, meant for
1693 the file mangler, now obsolete. This will do neater listings.
1694 Reported by Max Hailperin and Noah Friedman.
1695
1696 * buffer.c, incremen.c, misc.c, tar.c: Replace dangling semicolons
1697 by continue; or break; depending on context.
1698 Reported by Robert E. Brown.
1699
17001997-04-23 François Pinard <pinard@iro.umontreal.ca>
1701
1702 * arith.c (add_to_tarlong_helper): Compare a superdigit against a
1703 value, rather than an unsigned sum against zero.
1704 Reported by Bruno Haible.
1705
1706 * misc.c (quote_copy_string): Replace many if's by a switch.
1707
17081997-04-22 François Pinard <pinard@iro.umontreal.ca>
1709
1710 * Prerelease 1.11q.
1711
1712 * extract.c (extract_archive): Check if directory extraction was
1713 attempted over an existing directory before attempting recovery,
1714 so avoiding extraction loops in cases like DIR/../DIR.
1715 Reported by Marc Boucher.
1716
1717 * delete.c (delete_archive_members): New name for junk_archive.
1718 * common.h, tar.c (main): Adjusted.
1719
17201997-04-20 François Pinard <pinard@iro.umontreal.ca>
1721
1722 * tar.c (usage): Update comment about --mode.
1723
17241997-04-19 François Pinard <pinard@iro.umontreal.ca>
1725
1726 * buffer.c: Include <fnmatch.h> if necessary.
1727 Reported by Bruno Haible.
1728
1729 * common.h: Declare write_dir_file for incremen.c.
1730 Reported by Bruno Haible.
1731
1732 * incremen.c (get_directory_contents): Nest an assignment and test
1733 within another set of aesthetical parentheses.
1734 Reported by Bruno Haible.
1735
1736 * tar.c (check_octal): Deleted.
1737 Reported by Bruno Haible.
1738
1739 * buffer.c (flush_archive): Add one impossible switch case.
1740 * delete.c (junk_archive): Add two impossible switch cases.
1741 * list.c (read_and): Add one impossible switch case.
1742 * update.c (update_archive): Add two impossible switch cases.
1743 Reported by Bruno Haible.
1744
1745 * names.c (name_gather): Explicitly declare allocated_length as
1746 an int, do not imply it.
1747 Reported by Bruno Haible.
1748
17491997-04-18 François Pinard <pinard@iro.umontreal.ca>
1750
1751 * Prerelease 1.11p.
1752
1753 * Makefile.am (tar._o, rmt._o): Revise rules further.
1754 Reported by Bruno Haible and Ken Steube.
1755
17561997-04-16 François Pinard <pinard@iro.umontreal.ca>
1757
1758 * arith.h: Prefer a single long over a long long, if possible.
1759 Also reject long long if it is not long enough :-).
1760 Reported by Bruno Haible.
1761
17621997-04-15 François Pinard <pinard@iro.umontreal.ca>
1763
1764 * buffer.c, tar.c, update.c, common.h: Replace _COMMAND suffixed
1765 constants by _SUBCOMMAND suffixed. Rename enum command by
1766 enum subcommand, main_command_option by subcommand_option and
1767 set_main_command_option by set_subcommand_option.
1768
1769 * create.c (dump_file): Remove badperror label, call WARN
1770 explicitly at the two other needed places instead. Remove
1771 badfile label, expand the proper code at the three other
1772 needed places instead. Delete the critical_error flag, just
1773 set exit_status to TAREXIT_FAILURE rather than setting this flag.
1774
17751997-04-12 François Pinard <pinard@iro.umontreal.ca>
1776
1777 * delete.c (move_archive): Declare it void.
1778 Reported by Bruno Haible and Kaveh R. Ghazi.
1779
17801997-04-11 François Pinard <pinard@iro.umontreal.ca>
1781
1782 * Prerelease 1.11o.
1783
1784 * Makefile.am: Duplicate rules for the ansi2knr case.
1785 Reported by Kaveh R. Ghazi and Marcus Daniels.
1786
17871997-04-10 François Pinard <pinard@iro.umontreal.ca>
1788
1789 * common.h: Change mode_option from int to struct mode_change *.
1790 * tar.c (decode_option): Use mode_compile.
1791 * create.c (start_header): Use mode_adjust.
1792
17931997-04-09 François Pinard <pinard@iro.umontreal.ca>
1794
1795 * All: Replace all flag_ prefixed variables by _option suffixed.
1796 * tar.c: Replace OPTION_ prefixed macros by _OPTION suffixed.
1797
1798 * buffer.c, tar.c, update.c, common.h: Replace COMMAND_ prefixed
1799 macros by _COMMAND suffixed, COMMAND_NONE by UNKNOWN_COMMAND,
1800 and delete TOO_MANY_COMMAND. Turn these into an enum and declare
1801 main_command_option of this enum type, to replace command_mode,
1802 which was an int, everywhere.
1803 * tar.c (decode_options): Initialise main_command_option.
1804 (set_main_command_option): New function to replace
1805 SET_COMMAND_MODE. Diagnostic ambiguous command as soon as seen.
1806 However, be forgiving if command has merely been repeated.
1807
1808 * buffer.c, tar.c, common.h: Have info_script_option be at the
1809 same time a flag and the option value, no need for a separate
1810 info_script variable. Rename rsh_command to rsh_command_option,
1811 tape_length to tape_length_option, compress_program to
1812 use_compress_program_option, volno_file to volno_file_option.
1813 * tar.c (set_use_compress_program_option): New function.
1814
1815 * buffer.c, names.c, tar.c, common.h: Have files_from_option
1816 be at the same time a flag and the option value, no need for
1817 a separate namefile_name variable.
1818
1819 * buffer.c, create.c, tar.c, commun.h: Rename volume_label to
1820 volume_label_option.
1821
1822 * incremen.c, tar.c, common.h: Rename gnu_dumpfile to
1823 listed_incremental_option. Let it unitialised for just incremental.
1824 * create.c (create_archive): No need to check both
1825 incremental_option and listed_incremental_option, as the later
1826 implies the former already.
1827
1828 * create.c, tar.c, common.h: Rename preset_owner to owner_option,
1829 preset_group to group_option and preset_mode to mode_option.
1830
1831 * create.c, incremen.c, list.c, tar.c, commun.h: Have
1832 after_date_option be a Boolean instead of a three-valued flag.
1833 Rename threshold_time to newer_mdate_option, which may be looked
1834 at without checking after_date_option first, as threshold_time
1835 before. Make newer_cdate_option an alias for newer_mdate_option.
1836
18371997-04-08 François Pinard <pinard@iro.umontreal.ca>
1838
1839 * buffer.c: Use int after extern to declare time_to_start_writing.
1840 * extract.c: Use int after static to declare we_are_root.
1841 Reported by Ariel Faigon.
1842
18431997-04-03 François Pinard <pinard@iro.umontreal.ca>
1844
1845 * list.c (read_and): Use the proper enum constants in switch,
1846 instead of oldish and wrong numbers.
1847 Reported by Martin Mares.
1848
18491997-04-01 François Pinard <pinard@iro.umontreal.ca>
1850
1851 * arith.c [SUPERDIGIT] (zerop_tarlong, lessp_tarlong,
1852 clear_tarlong, add_to_tarlong, add_to_tarlong, mult_tarlong,
1853 print_tarlong): Rename all functions by adding a _helper suffix.
1854 * arith.h [SUPERDIGIT]: Replace function prototypes by macros,
1855 each calling the function with _helper appended, and extracting
1856 pointers out of the tarlong structures.
1857 Reported by Andrew A. Ivanov and Kaveh R. Ghazi.
1858
1859 * buffer.c (child_open_for_compress): Copy all records coming out
1860 of the compressor, not only the last one.
1861 Reported by Alois Steindl, Mark Bynum, Martin Mares, Nelson
1862 H. F. Beebe, Scott J. Kramer and Torkel Hasle.
1863
18641997-03-29 François Pinard <pinard@iro.umontreal.ca>
1865
1866 * create.c (dump_file): Ignore unreadable directories when
1867 --ignore-failed-read.
1868 Reported by Ralph Schleicher.
1869
1870 * create.c (deal_with_sparse): Chain the last partial zero block
1871 with the preceding data, do not try sparing it. This correction
1872 is approximative, as the whole thing should be rethought.
1873 Reported by Andreas Degert.
1874
18751997-03-24 François Pinard <pinard@iro.umontreal.ca>
1876
1877 * All: Rename head to current_header, hstat to current_stat, and
1878 header_format to current_format.
1879 * update.c (update_archive): Rename nstat to stat_data.
1880 * create.c: Do not extern hstat, as common.h does it.
1881 (deal_with_sparse): Get rid of amidst_data, since numbytes is
1882 already usable as a flag for the same thing.
1883
18841997-03-21 François Pinard <pinard@iro.umontreal.ca>
1885
1886 * names.c (name_gather): Do not declare static variables which
1887 do not need to be. Have allocated_length represent the full
1888 allocated length, instead of only the name part. It's clearer.
1889 (addname): Similar cleanups.
1890
18911997-03-20 François Pinard <pinard@iro.umontreal.ca>
1892
1893 * compare.c: Always call report_difference when there is a
1894 problem, so the exit status will be set in all cases. Build the
1895 message string if necessary, so avoiding stdargs/varargs.
1896 (report_difference): If NULL argument, just set the exit status
1897 without reporting a message. Move out the word `differs'
1898 in all callers, do not insert into an English message.
1899 (read_and_process): Return void, as the int result is never used.
1900 Assume processors returns nonzero for success and zero for
1901 failure, instead of 0 for success and -1 for error.
1902 (process_rawdata, process_dumpdir): Adjusted.
1903
1904 * compare.c: Remove different as a global variable, it is useless.
1905 (diff_sparse_files): Make different a local variable, reinitialise
1906 it on each call. Otherwise, after any error elsewhere, all sparse
1907 files were always and falsely reported as erroneous.
1908 Reported by James E. Carpenter and Tim Towers.
1909
19101997-02-25 François Pinard <pinard@iro.umontreal.ca>
1911
1912 * tar.c: Adjust copyright years in --version output.
1913
1914 * create.c (dump_file): Allow saving directories even with -o.
1915 Reported by Daniel Trinkle.
1916
19171996-11-26 François Pinard <pinard@iro.umontreal.ca>
1918
1919 * compare.c (verify_volume) [FDFLUSH]: Use fsync even in that case.
1920 Reported by Marty Leisner.
1921
19221996-11-25 François Pinard <pinard@iro.umontreal.ca>
1923
1924 * buffer.c (new_volume): Write file name in two words.
1925 * names.c (name_next): Idem.
1926 * buffer.c (flush_read): Speak of record size instead of blocksize.
1927 Reported by Christian Kirsch.
1928
19291996-11-22 François Pinard <pinard@iro.umontreal.ca>
1930
1931 * list.c (read_header): Return failure, instead of success,
1932 whenever checksums do not match.
1933 Reported by Marc Boucher and Marty Leisner.
1934
1935 * incremen.c (get_directory_contents): Use stat_data instead of
1936 current_header for checking normal files. Otherwise, new or
1937 modified files in old directories were not dumped, that is, if a
1938 directory was older than the listed entry, it was skipped
1939 completely without checking the contained files.
1940 Reported by David Johnson, John David Anglin and Wolfram Wagner.
1941
1942 * buffer.c (open_archive): When updating the archive, initialize
1943 the access variable with reading mode, not update mode.
1944 Reported by Andreas Schwab.
1945
1946 * delete.c (junk_archive): Initially jump directly into the loop,
1947 so deleting a file after a big one will not destroying the archive.
1948 Reported by Akiko Matsushita, Andreas Schwab, Eric Backus, Jeff
1949 Siegel, Saul Lubkin, Stuart Kemp and Yasushi Suzudo.
1950
19511996-11-19 François Pinard <pinard@iro.umontreal.ca>
1952
1953 * incremen.c (get_directory_contents): Compute distance using the
1954 start of the proper buffer.
1955 Reported by David Johnson, Donald H. Locker, John David Anglin,
1956 Marc Boucher and Noah Friedman.
1957
1958 * tar.c (usage): Revise the mandatory/optional sentence again.
1959 Reported by Karl Berry.
1960
19611996-11-18 François Pinard <pinard@iro.umontreal.ca>
1962
1963 * Prerelease 1.11.14.
1964
1965 * tar.c (usage): Explain the purpose of the program.
1966
1967 * tar.c (usage): Clarify the mandatory/optional sentence.
1968 Reported by Alex Schmidt.
1969
1970 * system.h [HAVE_SYS_TAPE_H]: Include sys/buf.h if it exists, to
1971 avoid many warnings on BSD/OS.
1972 Reported by Dan Reish.
1973
19741996-11-11 François Pinard <pinard@iro.umontreal.ca>
1975
1976 * incremen.c (write_directory_file): Renamed from write_dir_file.
1977 (get_directory_contents): Renamed from get_dir_contents.
1978 * common.h: Adjusted.
1979
1980 * all: Cleanup around local variables, renaming them more
1981 appropriately, using initializers when natural, and moving them
1982 closer to the blocks where they are used.
1983
1984 A bit of reorganisation in the sources:
1985 * common.h: New file, for holding all GNU tar specific definitions,
1986 which were previously held in tar.h.
1987 * tar.h: Now limited to the archive format description only.
1988 * all: Include common.h instead of tar.h.
1989 * delete.c: New file, holding delete code out of update.c.
1990 * update.c: Now limited to appending type of commands.
1991 * compare.c: New name for diffarch.c.
1992 * incremen.c: New name for increm.c.
1993 * names.c: Moved over all name processing from tar.c.
1994 * tar.c, common.h: Adjusted.
1995 * Makefile.am: Adjusted.
1996
1997 * system.h (lstat) [!S_ISLNK]: Define as stat.
1998 * create.c, diffarch.c, increm.c: Remove similar definitions.
1999
2000 * tar.c: Merge --version-control into --backup, make it obsolete.
2001
20021996-11-10 François Pinard <pinard@iro.umontreal.ca>
2003
2004 * all: Add a FIXME comment everywhere errno is modified by tar.
2005
2006 * buffer.c (new_volume): Return nonzero/zero for success/failure,
2007 instead of zero/negative. Callers adjusted. Use xstrdup on
2008 file name given by user with the answer "n", so avoiding the
2009 apparently useless allocation of one extra byte. Avoid using p.
2010
2011 * buffer.c: Add DEBUG_FORK conditional code.
2012 Reported by Thomas König and Ulrich Drepper.
2013
2014 * misc.c (maybe_backup_file): In the renaming message, say that
2015 the previous file is being renamed, not the newly extracted one.
2016
2017 * buffer.c (backspace_output): Change return type to void, since
2018 returned values were never used.
2019 * update.c (move_arch): Idem.
2020 (xdup2): New name for redirect, order of arguments was not natural.
2021
20221996-11-09 François Pinard <pinard@iro.umontreal.ca>
2023
2024 * all: Remove all white lines between open braces and comments.
2025
2026 * tar.h: Declare access_mode as an enum and as a variable.
2027 Adjust declaration of open_archive.
2028 * buffer.c: (open_archive, new_volume): Use access instead of
2029 reading. Callers adjusted for using enum access_mode arguments.
2030 (flush_archive, close_archive): Use access_mode, and cleanup.
2031 * diffarch.c (verify_volume): Use access_mode.
2032
2033 * buffer.c (child_open_for_compress, child_open_for_uncompress):
2034 Split of previous child_open_for_compress. Clean up.
2035 (open_archive): Adjusted for calling the proper function above.
2036
20371996-11-09 François Pinard <pinard@iro.umontreal.ca>
2038
2039 * Prerelease 1.11.13.
2040
2041 * tar.c (usage): Do not tie --posix anymore to 1.12.
2042
2043 * extract.c (set_stat): Until we know better, for the time being,
2044 limit restoring symbolic link attributes to lchown only.
2045
2046 * all: Mini clean up. Systematically set logical variables to
2047 one instead of auto-incrementing them (PDP-11 time is over by
2048 now! :-). Replace some single letter counters or cursors by
2049 variables named counter or cursor. Simplify a few C constructs.
2050
2051 * buffer.c, tar.h: Delete read_error_flag, set but never used.
2052 Rename r_error_count to read_error_count.
2053
2054 * create.c (clear_buffer): Use memset instead of explicit loop.
2055 (zero_block_p): Renamed from zero_block, callers adjusted.
2056
20571996-11-07 François Pinard <pinard@iro.umontreal.ca>
2058
2059 * rmt.c (private_strerror): Add const's to sys_errlist declaration.
2060 Reported by Fabio d'Alessi.
2061
20621996-11-06 François Pinard <pinard@iro.umontreal.ca>
2063
2064 * tar.h: Add OPTION_BACKUP, OPTION_SUFFIX, OPTION_VERSION_CONTROL.
2065 Renumber options from 3 instead of from 10. Declare flag_backup.
2066 * tar.c: Include backupfile.h. Implement --backup, --suffix and
2067 --version-control decoding. Adjust usage documentation.
2068
2069 * misc.c (maybe_backup_file, un_backup_file): New functions.
2070 * tar.h: Adjusted.
2071 * buffer.c (child_open_for_compress, open_archive, new_volume):
2072 Use the new functions.
2073 * extract.c (extract_archive): Idem.
2074 Reported by Jeffrey Mark Siskind, Karl Berry, Karl Heuer, Marty
2075 Leisner, Melissa Weisshaus and William Bader.
2076
2077 * misc.c (assign_string): Moved over from tar.c.
2078 * tar.h: Adjusted.
2079
20801996-10-28 François Pinard <pinard@iro.umontreal.ca>
2081
2082 * tar.h: Declare enum read_header, for return values of read_header.
2083 * diffarch.c (verify_volume): Adjusted.
2084 * list.c (read_and, read_header): Adjusted.
2085 * update.c (junk_archive, update_archive): Adjusted.
2086 * update.c: Rename prev_status to previous_status.
2087 * update.c (junk_archive): Delete found_stuff, use logical_status.
2088
20891996-10-15 François Pinard <pinard@iro.umontreal.ca>
2090
2091 * buffer.c (new_volume, open_archive): Soften messages.
2092 * create.c, extract.c: Add quotes around slashes in some messages.
2093 * tar.c (usage): Added a missing equal sign after --directory.
2094 Reported by Jan Djarv.
2095
20961996-09-22 François Pinard <pinard@iro.umontreal.ca>
2097
2098 * tar.c: Write --no-recursion instead of --no-recurse.
2099 Reported by Noah Friedman.
2100
21011996-09-20 François Pinard <pinard@iro.umontreal.ca>
2102
2103 * tar.h: Delete label_pattern.
2104 * tar.c (main): Do not compile anymore volume_label as a regexp.
2105 (usage): Document --label as accepting a globbing pattern.
2106 * buffer.c, tar.c: Do not include regex.h neither rx.h.
2107 * buffer.c (check_label_pattern): New function.
2108 (open_archive, flush_read): Use it, instead of re_match.
2109
2110 * tar.c (decode_options): Better space --version output.
2111
21121996-09-19 François Pinard <pinard@iro.umontreal.ca>
2113
2114 * Prerelease 1.11.12
2115
2116 * Makefile.am (EXTRA_PROGRAMS): Compile rmt properly, instead of
2117 letting make use default .c to executable rule.
2118
2119 * tar.c: Include getopt.h.
2120 * system.h: Don't.
2121
2122 * increm.c (get_dir_contents): Consider all NFS devices as equal
2123 before deciding that a directory was renamed, so automount will
2124 not fool GNU tar into spurious incremental redumping.
2125 Reported by Frank Koenen, Giorgio Signorini, Joachim Holzfuss,
2126 Konno Hiroharu, R. Kent Dybvig and Wolfram Wagner.
2127
2128 * tar.c (usage): Add bug report address in --help output.
2129 (decode_options): Add copyright and authors in --version output.
2130
2131 * increm.c: New name for gnu.c.
2132 * Makefile.am (tar_SOURCES): Adjusted.
2133
2134 * gnu.c (init_buffer, add_buffer, get_buffer, flush_buffer): Moved
2135 over from misc.c. Deleted is_dot_or_dot_dot and remove_any_file.
2136 * misc.c (is_dot_or_dotdot, remove_any_file): Moved over from gnu.c.
2137 Deleted init_buffer, add_buffer, get_buffer and flush_buffer.
2138 * tar.h: Adjusted.
2139
21401996-09-18 François Pinard <pinard@iro.umontreal.ca>
2141
2142 * buffer.c (write_error): Obey --totals before aborting.
2143 Reported by Greg Chung.
2144
2145 * buffer.c (read_error, write_error): Renamed from readerror and
2146 writeerror.
2147 * tar.c (read_name_from_file): Rename c to character.
2148
21491996-09-17 François Pinard <pinard@iro.umontreal.ca>
2150
2151 * arith.h (tarlong): The typedef tarlong, when an array, is now
2152 wrapped inside a struct to avoid bugs in EWS 4.2 C compiler.
2153 * arith.c: Adjusted.
2154 Reported by Paul Eggert.
2155
2156 * buffer.c: Declare archive_stat statically.
2157 (open_archive): Do not declare archive_stat locally.
2158 (close_archive): Limit archive draining to while reading a pipe.
2159 Reported by Andreas Schwab.
2160
21611996-09-16 François Pinard <pinard@iro.umontreal.ca>
2162
2163 * system.h: Define protected defaults for open parameter symbols.
2164 [EMUL_OPEN3]: Intercept open calls and redirect them to open3.
2165 * open3.c: New file, moved over from lib/. Merely include
2166 system.h rather than config.h, errno.h and open3.h.
2167 [EMUL_OPEN3]: The compilation of the file depends on this symbol.
2168 When it was in lib/, we were using LIBOBJS to control this.
2169 * Makefile.am: Adjusted.
2170 * extract.c: Don't call open3.h.
2171 Reported by Jim Meyering.
2172
21731996-09-09 François Pinard <pinard@iro.umontreal.ca>
2174
2175 * Makefile.am (libexec_PROGRAMS): Rely on @RMT@, not rmt.
2176 (bin_PROGRAMS): Do not include @RMT@.
2177
2178 * gnu.c (remove_any_file): Protect value of errno in case
2179 of failure to remove a directory, in non-recursive mode.
2180 This should correct spurious diagnostics while extracting
2181 directories over already existing hierarchies.
2182 Reported by Martin Mares and Marty Leisner.
2183
21841996-09-04 François Pinard <pinard@iro.umontreal.ca>
2185
2186 * gnu.c (read_dir_file): Diagnose file names over PATH_MAX.
2187 (get_dir_contents, add_dir_name): Increase namebuf many times if
2188 this is needed to receive a loong file name.
2189 Reported by Carsten Heyl.
2190
2191 * Makefile.am (tar.o, rmt.o): Special rules for defining
2192 LOCALEDIR, instead of having it defined on all compiles.
2193
2194 * Makefile.am: Remove check related lines, moved over to tests/.
2195
21961996-09-03 François Pinard <pinard@iro.umontreal.ca>
2197
2198 * Makefile.am: Use genfile in check_PROGRAMS, not noinst_PROGRAMS.
2199 (check-local): Do not depend on genfile.
2200
22011996-08-24 François Pinard <pinard@iro.umontreal.ca>
2202
2203 * Makefile.am (EXTRA_DIST): Do not mention ansi2knr.1 nor
2204 ansi2knr.c, as Automake now handle them automatically.
2205
22061996-07-18 François Pinard <pinard@iro.umontreal.ca>
2207
2208 * arith.h: Include tar.h, not arith.h, so FATAL_ERROR is defined.
2209 [!SUPER_DIGIT]: Declare arguments to ..._tarlong routines as
2210 pointers to unsigned long and not arrays, for avoiding pointers
2211 to arrays, and nevertheless have arrays passed by reference
2212 rather than by value.
2213 * arith.c: Adjusted function headers accordingly.
2214 * buffer.c, tar.c: Removed address-of operators, using tarlongs.
2215 Reported by Christian T. Dum, Jim Meyering and Kaveh R. Ghazi.
2216
2217 * arith.h [SUPER_DIGIT]: Avoid indirection in all macros for
2218 Accumulators. This, in particular, solves a bug where the pointer
2219 value itself was printed, rather than the pointed to value.
2220 Reported by Drew Sullivan and Wolfram Wagner.
2221
2222 * Makefile.am (EXTRA_DIST): Include ansi2knr.[1c] for now.
2223 Reported by Christian T. Dum, Jim Meyering and Kaveh R. Ghazi.
2224
22251996-07-17 François Pinard <pinard@iro.umontreal.ca>
2226
2227 * Prerelease 1.11.11.
2228
2229 * Makefile.am (check-local): Ensure relinking if the service
2230 libraries where modified (waiting for Automake to do it!).
2231
22321996-07-16 François Pinard <pinard@iro.umontreal.ca>
2233
2234 * rmt.c (strerror): It is a macro on some systems.
2235 Reported by Santiago Vila Doncel.
2236
22371996-07-15 François Pinard <pinard@iro.umontreal.ca>
2238
2239 * Prerelease 1.11.10.
2240
2241 * checktar.sh: Use a more regular WARNING in message.
2242
22431996-07-09 François Pinard <pinard@iro.umontreal.ca>
2244
2245 * tar.h: Declare that unquote_string as returning int, not char *.
2246 * misc.c (unquote_string): New name for un_quote_string. Clean
2247 up a bit, return a boolean indicator for success, not a string.
2248 * gnu.c (read_dir_file), mangle.c (extract_mangle), tar.c
2249 (add_exclude): Callers adjusted, so they never use a NULL return
2250 as an actual string. In fact, the result of unquote_string is
2251 always used, even if the quoting was improper.
2252 Reported by Johan Vromans.
2253
22541996-05-03 François Pinard <pinard@iro.umontreal.ca>
2255
2256 * tar.h: Define TTY_NAME as a macro, instead of an external array.
2257 * tar.c: Remove declaration of TTY_NAME.
2258
2259 * tar.h: Rename new_time to threshold time. Make it GLOBAL.
2260 * tar.c, create.c, gnu.c, list.c: Adjusted.
2261 (decode_options): Clarify -N and --newer-mtime decoding, ensure
2262 one of them is called at most, otherwise it would misbehave.
2263
22641996-05-02 François Pinard <pinard@iro.umontreal.ca>
2265
2266 * misc.c (quote_copy_string): Ensure spaces are backslash-quoted.
2267 Reported by Max Hailperin.
2268
2269 * list.c (decode_header): Some clean up. Recognize POSIX archive
2270 headers, avoid fetching atime or ctime in this case.
2271 [!S_IFBLK || !S_IFCHR]: Ensure st_rdev is cleared appropriately.
2272 * tar.h: Rename head_standard to header_format, so turning an
2273 int to an enum archive_format. Adjust decode_header prototype.
2274 * diffarch.c, extract.c, list.c, update.c: Usages changed.
2275 * create.c: Ensure oldgnu_header is only used when OLDGNU_FORMAT.
2276 (Correction just starting to be made--will be comprehensive...)
2277 Reported by Anders Andersson, Bdale Garbee, Chris G Demetriou and
2278 David J. MacKenzie.
2279
2280 * buffer.c, gnu.c, rtapelib.c, tar.c: Diagnose errors on fclose.
2281 Reported by Jim Meyering.
2282
22831996-05-01 François Pinard <pinard@iro.umontreal.ca>
2284
2285 * buffer.c (close_archive): If reading and the archive is
2286 finished, read until end of archive, for avoiding an error
2287 message from the upstream process if we are reading from a pipe.
2288 Reported by Bennett Todd, Dick Streefland, Don Bennett, Ian Lance
2289 Taylor, Jean-loup Gailly and Piercarlo Grandi.
2290
2291 * create.c (dump_file): Add note about accuracy of st_blocks.
2292 Reported by Dick Streefland.
2293
2294 * diffarch.c: Include <linux/fd.h> if it exists.
2295 (verify_volume): fsync, than ioctl(, FDFLUSH) first.
2296 Reported by Marty Leisner.
2297
22981996-04-29 François Pinard <pinard@iro.umontreal.ca>
2299
2300 * list.c (isotime): New function.
2301 (print_header) [!USE_OLD_CTIME]: Use it instead of ctime.
2302 Reported by Karl Berry and Markus Kuhn.
2303
23041996-04-23 François Pinard <pinard@iro.umontreal.ca>
2305
2306 * extract.c (set_stat): Accept a new parameter telling if this is
2307 a symbolic link. In this case, and if lchown exists, use it
2308 instead of chown. Callers adjusted.
2309 (extract_archive): Do call set_stat over restored symbolic links.
2310 Reported by Andreas Koppenhoefer, Bernard Derval, Ian Jackson,
2311 Matt Power, Warren Dodge and Wolfram Gloger.
2312
2313 * extract.c (extr_init): If the umask was very restrictive at
2314 start of tar, nevertheless ensure we create intermediate
2315 directories with such permissions that we can at least add files
2316 into them.
2317 (extract_archive): Same, but for final directory. Ensure
2318 directory attributes are restored in all cases.
2319 Reported by Piercarlo Grandi.
2320
2321 * tar.c: Implement --owner, --group and --mode options.
2322 * tar.h: Declare preset_owner, preset_group and preset_mode.
2323 * create.c: Obey these variables.
2324 Reported by Ken Raeburn, Richard Stallman and Stephen Gildea.
2325
2326 * create.c (dump_file): When wanting the length of the link
2327 name, use strlen, rather then doing wrong arithmetic giving
2328 the number of removed slashes at the beginning of it.
2329 Reported by Brian R. Smith.
2330
2331 * create.c (start_header): Try removing leading slashes even for
2332 long file names.
2333 Reported by Art Isbell, Fritz Elfert and Robert E. Brown.
2334
2335 * buffer.c (new_volume): Avoid calling closeout_volume_number if
2336 the --volno-file option was not specified, so avoiding crashes.
2337 * tar.c (usage): Document the --volno-file option.
2338 Reported by Christoph Litauer, Daniel S. Barclay, David Taylor,
2339 Erik D. Frederick, Larry Creech, Loïc Prylli, Loren J. Rittle,
2340 Marty Leisner, Neil Faulks, Paul Mitchell, Rocky Giannini, Roy
2341 Marantz, Sylvain Rougier, Timothy J. Lee and Werner Almesberger.
2342
23431996-04-22 François Pinard <pinard@iro.umontreal.ca>
2344
2345 * system.h (N_): Define marking macro for delayed translations.
2346 * rmt.c: Use N_ instead of _ for returned strings. It does not
2347 make sense translating messages in a remote process, not knowing
2348 the language in use in the local process.
2349
23501996-04-18 François Pinard <pinard@iro.umontreal.ca>
2351
2352 Instead of -UU for removing directories, request a long option.
2353 * tar.c: Implement --recursive-unlink.
2354 (usage): Document --recursive-unlink.
2355 (decode_options): Have --recursive-unlink imply --unlink-first.
2356 * tar.h: Declare --recursive-unlink.
2357 * extract.c (extract_archive): Use flag_recursive_unlink instead
2358 of flag_unlink_first > 1.
2359 Reported by Andreas Schwab.
2360
23611996-04-17 François Pinard <pinard@iro.umontreal.ca>
2362
2363 * Makefile.am (EXTRA_DIST): New name for DIST_OTHER.
2364
2365 * tar.c (addname, name_gather): Zero out freshly allocated struct
2366 name, to prevent garbage to get into the structure.
2367 Reported by Jonathan Kamens.
2368
23691996-03-28 François Pinard <pinard@iro.umontreal.ca>
2370
2371 * create.c (dump_file): Cast %ld argument to (long).
2372 Reported by Constantin Belous and Jörgen HÀgg.
2373
23741996-03-21 François Pinard <pinard@iro.umontreal.ca>
2375
2376 * tar.c (main): Return int, not void.
2377 Reported by Timothy J. Lee and Peter Seebach.
2378
23791996-02-28 François Pinard <pinard@iro.umontreal.ca>
2380
2381 * Makefile.am: Use RMT instead of PROGRAMS and noinst_HEADERS
2382 instead of HEADERS.
2383
23841996-02-12 François Pinard <pinard@iro.umontreal.ca>
2385
2386 * Makefile.am: Remove CONFIG_HEADER, not required by Automake 0.29.
2387
23881996-02-03 François Pinard <pinard@iro.umontreal.ca>
2389
2390 Ensure --totals work correctly for huge archives:
2391 * arith.h, arith.c: New files.
2392 * Makefile.am: Use arith.h and arith.c.
2393 * tar.h: Do not declare tot_written anymore, include "arith.h".
2394 * tar.c (main): Call init_total_written and print_total_written.
2395 * buffer.c: Rename tot_written to total_written, make it tarlong.
2396 (init_total_written, print_total_written): New routines.
2397 Reported by Albert W. Dorrington, Chris F.M. Verberne, David
2398 Martin, Eduardo Villasenor de Rivas, Greg Chung, Jim Meyering,
2399 John R. Vanderpool, Jon Lewis, Jörg Weule, Jörgen HÀgg, Rod
2400 Thompson, Russell Cattelan, Ted Rule and Tor Lillqvist.
2401
2402 Ensure --tape-length is usable for huge media:
2403 * tar.h: Declare tape_length as tarlong instead of int.
2404 * tar.c (decode_option): Decode tape_length as tarlong, and use
2405 its value pre-multiplied by 1024.
2406 * buffer.c (flush_write): Use bytes_written and tape_length as
2407 tarlongs. Declare bytes_written outside flush_write.
2408 (init_total_written): Zero out bytes_written as well.
2409 Reported by Dave Barr.
2410
24111996-01-15 François Pinard <pinard@iro.umontreal.ca>
2412
2413 * rtapelib.c (rmt_open__) [MSDOS]: Do not call setuid/setgid.
2414 Reported by Yasushi Suzudo.
2415
24161996-01-14 François Pinard <pinard@iro.umontreal.ca>
2417
2418 * Makefile.am (AUTOMAKE_OPTIONS): Select gnits and ansi2knr.
2419
24201996-01-08 François Pinard <pinard@iro.umontreal.ca>
2421
2422 * create.c: Initialize linklist to NULL.
2423 Reported by Bradley A. Smith.
2424
24251996-01-07 François Pinard <pinard@iro.umontreal.ca>
2426
2427 * Makefile.am: Add parts of previous Makefile.in as FIXME comments.
2428
24291996-01-03 François Pinard <pinard@iro.umontreal.ca>
2430
2431 * tar.c (usage): Avoid an unescaped new line.
2432 Reported by Kaveh R. Ghazi and Mark Bynum.
2433
2434 * system.h: Declare valloc if it exists and is not #defined.
2435 * create.c (start_header): Add missing DEFAULT_FORMAT case.
2436 * gnu.c (read_dir_file): Use NULL instead of (char *) 0.
2437
2438 * Makefile.am: Install rmt in $(libexec), not in sbin.
2439
2440 * tar.c (decode_options): Add a semicolon so default case is
2441 not completely empty, for better ANSI C compliance.
2442 Reported by John David Anglin, Kaveh R. Ghazi and Mark Bynum.
2443
24441996-01-02 François Pinard <pinard@iro.umontreal.ca>
2445
2446 * buffer.c (open_archive): Allocate real_s_name at run time
2447 instead of statically, because PATH_MAX is not always constant.
2448 Reported by Bruno Haible, John David Anglin, Jonathan Thornburg,
2449 Kaveh R. Ghazi, Martin Bellenberg, Marty Leisner, Nelson
2450 H. F. Beebe, Roland McGrath and Thomas König.
2451
2452 * Makefile.am (DIST_OTHER): Distribute BACKLOG.
2453 Reported by Marty Leisner.
2454
24551996-01-01 François Pinard <pinard@iro.umontreal.ca>
2456
2457 * system.h: Include "error.h" instead of declaring error ().
2458 Reported by Jim Meyering.
2459
24601995-12-31 François Pinard <pinard@iro.umontreal.ca>
2461
2462 * Makefile.am: New file.
2463
24641995-12-30 François Pinard <pinard@iro.umontreal.ca>
2465
2466 * Makefile.in: Define LOCALEDIR in DEFS.
2467 * system.h [!ENABLE_NLS]: Add replacement for bindtextdomain.
2468 * tar.c (main): Add call to bindtextdomain.
2469 * rmt.c (main): Add calls to bindtextdomain and textdomain.
2470 Reported by Ulrich Drepper.
2471
2472 * buffer.c, create.c, diffarch.c, gnu.c, list.c, rmt.h, system.h,
2473 tar.h, update.c: Replace __P by PARAMS, to respect ANSI C.
2474 * rtapelib.c, rmt.h: Replace all __rmt* symbols by rmt*__.
2475
24761995-12-28 François Pinard <pinard@iro.umontreal.ca>
2477
2478 * Prerelease 1.11.9.
2479
2480 * extract.c (extr_init): Initialize variables in any case,
2481 instead of partly relying on static initializations. Remove
2482 static initializations for those variables.
2483
24841995-12-24 François Pinard <pinard@iro.umontreal.ca>
2485
2486 * extract.c (extract_archive): On systems not having symbolic
2487 links, attempt extracting symbolic links as hard links instead,
2488 as POSIX suggests. Emit a diagnostic on first occurrence.
2489
2490 * extract.c (extract_archive): On systems not having contiguous
2491 files, continue extracting them as regular files as before, but
2492 emit a diagnostic on first occurrence.
2493
24941995-12-23 François Pinard <pinard@iro.umontreal.ca>
2495
2496 * tar.h: Declare remove_any_file.
2497 * gnu.c (remove_any_file): New name for recursively_delete.
2498 Add a parameter to control recursion. Inverse return value,
2499 so 0 is failure. Ensure errno is always valid in this case.
2500 (gnu_restore): Specify recursion when calling remove_any_file.
2501 * extract.c (maybe_recoverable): New routine.
2502 (extract_archive): Call maybe_recoverable rather than
2503 make_directories, so deleting files is also tried. Some cleanup.
2504
2505 * tar.h: Declare flag_unlink_first.
2506 * tar.c (decode_options): Decode --unlink-first (-U).
2507 (usage): Document it.
2508 * extract.c (extract_archive): With -U, call remove_any_file
2509 prior to extraction for everything except directories.
2510
2511 Reported by Andrew J. Schorr, Andrey A. Chernov, Axel Boldt, Bo
2512 Nygaard Bai, Chris F.M. Verberne, Chris G. Demetriou, Christian
2513 Callsen, Daniel S. Barclay, Ian Jackson, James Stevens, Seth
2514 Robertson, Tito Flagella, Warner Losh and Wolfram Wagner.
2515
25161995-12-22 François Pinard <pinard@iro.umontreal.ca>
2517
2518 * tar.c (name_close): Specify static.
2519 (main): Call name_close after create_archive.
2520 * create.c (create_archive): Do not call name_close.
2521
2522 * tar.c: Clean out names_arg[cv] crumb.
2523 (name_next): Simplify routine by merging both loops.
2524 (addname): Avoid xstrdup'ing result of new_name, this corrects a
2525 memory leak.
2526
2527 * extract.c: Normalize error message so the file is identified at
2528 the beginning of it.
2529
2530 * tar.h (USAGE_ERROR): New macro.
2531 * tar.c: Use USAGE_ERROR as far as possible. Cleanup and
2532 normalization in string for usage errors. Better detection of
2533 conflicting options about archive format or compression program.
2534
2535 * tar.c (decode_options): Decouple cases for -C and files. Count
2536 number of input files. Cowardly refuse to create an empty archive
2537 file, if -c is given without input file or list.
2538 Reported by Karl Berry and Robert Bernstein.
2539
25401995-12-21 François Pinard <pinard@iro.umontreal.ca>
2541
2542 * buffer.c: Rename a few err variables to status.
2543 * extract.c: Rename a few check variables to status.
2544
2545 Corrections to speed-up the sizeing pass in Amanda:
2546 * tar.h: Declare dev_null_output.
2547 * buffer.c (open_archive): Detect when archive is /dev/null.
2548 (flush_write): Avoid writing to /dev/null.
2549 * create.c (dump_file): Do not open file if archive is being
2550 written to /dev/null, nor read file nor restore times.
2551 Reported by Greg Maples and Tor Lillqvist.
2552
2553 * gnu.c: Have dir_list properly initialized to NULL.
2554 Reported by Paul Nordstrom and Tim Lashua.
2555
2556 * extract.c: Rename ourmask to newdir_umask. Rename and
2557 complement notumask to current_umask.
2558 * list.c (print_for_mkdir): New name for pr_mkdir.
2559 * tar.h: Adjust declaration.
2560 * extract.c (make_directories): New name for make_dirs. Some
2561 cleanup in variable names.
2562
2563 * extract.c: Let newdir_umask be a global variable.
2564 (make_directories): Use newdir_umask while creating intermediate
2565 directories. They used to be 0777 unconditionally.
2566 Reported by Bruce Evans, Harald König and James Crawford Ralston.
2567
25681995-12-20 François Pinard <pinard@iro.umontreal.ca>
2569
2570 * create.c (finish_header): Avoid printing the header for long
2571 names or links, this avoids spurious `Visible longname error's.
2572
2573 Reported by Arne Wichmann, Chris F.M. Verberne, Frank Koenen,
2574 Franz-Werner Gergen, Ian Jackson, Jon Lewis, Mark Kollert, Paul
2575 Nordstrom, Ted Rule, Thomas Priesner, Tim Rylance and Tom Tromey.
2576
25771995-12-19 François Pinard <pinard@iro.umontreal.ca>
2578
2579 * buffer.c: Have real_s_name able to hold PATH_MAX characters,
2580 not only NAME_FIELD_SIZE. It was breaking --multi-volume
2581 --listed-incremental when backing up long file names.
2582 Many symptoms really: a screwed-up date on the incremental data
2583 file, dumping incremental which should not have been, etc.
2584 * (flush_read): Avoid altering save_name pointer value, use
2585 cursor instead. Also avoid the optimization of cleaning each
2586 save_name only once per flush_read if it did not change: it
2587 was using `save_name = real_s_name;', and since save_name may
2588 be freed at any time, this is/was really running after trouble.
2589
2590 Reported by Alexander V. Lukyanov, Axel Habermann, Chance
2591 Reschke, Claus Heine, Christian von Roques, Daniel Hagerty,
2592 Daniel S. Barclay, Dirk Herr-Hoyman, Donald H. Locker, Ed Childs,
2593 Heiko Schinke, Hunyue Yau, Goeran Uddeborg, Grant McDorman,
2594 Joachim Seelig, Joe DeBattista, Jonathan Thornburg, Joutsiniemi
2595 Tommi Il, JÃŒrgen LÃŒters, Keith Young, Kelly Stephens, Kevin
2596 Dalley, Konno Hiroharu, Larry Creech, Martin Mares, Michael
2597 Dietrich, Michael Giddings, Michael Meissner, Michael P Urban,
2598 Paul Siddall, Pierce Cantrell, Peter Fox, Robert Frey, Roderich
2599 Schupp, Sam Richards, Stephen J Bevan, Torsten Lull, Wolfram
2600 Gloger and Yu-Min Liang.
2601
2602 * system.h: Include <sys/tprintf.h> and <sys/device.h> for BSDi.
2603 Reported by Chris Arthur, Dan Reish, Karl Berry and Skip Montanaro.
2604
2605 * rmt.c (private_strerror): New, copied from lib/error.c.
2606 Remove sys_errlist declaration, and use syserror instead.
2607 Reported by Chris Arthur, Coranth Gryphon, Erich Stefan Boleyn,
2608 Fabio d'Alessi, Greg Hudson, Jason R. Mastaler, Skip Montanaro,
2609 Thomas Krebs and Troy Rudolph.
2610
26111995-12-17 François Pinard <pinard@iro.umontreal.ca>
2612
2613 * extract.c (extract_archive): Unrecognized types were defaulted
2614 to sparse files instead of regular files, because of an improper
2615 /* Fall through. */.
2616
2617 * create.c, diffarch.c, extract.c, gnu.c, list.c, rtapelib.c,
2618 tar.c: Drop register specifications, useless in GNU's tar, as
2619 tar does not use longjmp, and GNU C has -O automagically set.
2620
2621 * extract.c (extract_archive): Inhibit creation of links, special
2622 devices, directories, etc., when --to-stdout option is being used.
2623 Reported by Donald B Gordon, Gerben Wierda, Greg Chung, Norbert
2624 Kiesel and Roman Czyborra.
2625
26261995-12-04 François Pinard <pinard@iro.umontreal.ca>
2627
2628 * tar.h: Implement FATAL_ERROR, telling error is not recoverable.
2629 * tar.c (main): Diagnose delayed error, for TAREXIT_FAILURE only.
2630 * buffer.c, diffarch.c, gnu.c, list.c, tar.c, update.c: Replace
2631 all `ERROR ((TAREXIT_FAILURE,' by `FATAL_ERROR ((0,'.
2632 Reported by Marty Leisner.
2633
2634 * list.c (read_and): When telling block numbers in verbose output,
2635 clearly list block numbers for NUL blocks and end of file.
2636 Reported by Jörg Weule.
2637
2638 * tar.c (usage): Document --newer-time.
2639 Reported by Greg Chung.
2640
26411995-11-30 François Pinard <pinard@iro.umontreal.ca>
2642
2643 * system.h: Conditionally include <sgtty.h> prior to <mtio.h>.
2644 * rmt.c: Do not include <sgtty.h> anymore.
2645 Reported by Harald König and Kaveh R. Ghazi.
2646
2647 * rtapelib.c: Remove seemingly useless include of setjmp.h.
2648
2649 * rtapelib.c: Try to get EOPNOTSUPP defined in all cases.
2650 If needed, include net/errno.h or sys/inet.h when they exist.
2651 Reported by Goeran Uddeborg, J.J. Bailey, John L. Chmielewski,
2652 Peder Chr. Norgaard and Yasushi Suzudo.
2653
26541995-11-29 François Pinard <pinard@iro.umontreal.ca>
2655
2656 * tar.c (decode_options): Diagnose --block-compress properly.
2657 Was segment violating because falling into --blocking-factor.
2658
2659 * buffer.c, create.c, diffarch.c, genfile.c, gnu.c, tar.c:
2660 Uniformly write nonzero instead of non-zero.
2661 Reported by Karl Berry.
2662
2663 * system.h, buffer.c, create.c, diffarch.c, tar.c, update.c [MSDOS]:
2664 Instead of __MSDOS__, all occurrences.
2665 * extract.c (extract_archive) [MSDOS]: Avoid delaying restoration
2666 of timestamps for directories.
2667 * buffer.c (child_open_for_compress): Add a missing semi-colon.
2668 * diffarch.c (diff_archive): Avoid comparing uid and gid.
2669 Reported by Yasushi Suzudo.
2670
2671 * tar.c (usage): Correct absolute-paths to absolute-names.
2672 Reported by Jonathan Kamens.
2673
2674 * tar.c (usage): Indicate that --exclude uses globbing, and that
2675 --label uses regexps.
2676 Reported by John R. Vanderpool and Matti Aarnio.
2677
2678 * tar.c (names_notfound): Do not report a fake namelist entry, so
2679 gzipped empty archives will not produce spurious diagnostics.
2680 Reported by Jonathan Kamens.
2681
26821995-11-23 François Pinard <pinard@iro.umontreal.ca>
2683
2684 * tar.c (name_scan, name_match): Avoid labels and gotos.
2685
26861995-11-22 François Pinard <pinard@iro.umontreal.ca>
2687
2688 * Makefile.in (DISTFILES): Distribute ChangeLog.
2689
2690 * ChangeLog: New, extracted from top-level ChangeLog.
2691
2692 * tar.c (main, decode_options): Delay request_stdin for `-f'
2693 until all options processed, so we now for sure that `-' means
2694 standard input, not standard output.
2695
2696 * tar.c (usage): Document that users should not count on
2697 POSIX support yet, saying it is only partially implemented so far.
2698
26991995-10-27 François Pinard <pinard@iro.umontreal.ca>
2700
2701 * rtapelib.c (_rmt_shutdown): Add the errno_value parameter.
2702 (__rmt_open): Call shutdown if remote open fails, or else, we lose
2703 file descriptors.
2704 Reported by Holger Teutsch.
2705
27061995-10-20 Tom Tromey <tromey@drip.colorado.edu>
2707
2708 * tar.c (request_stdin): New function.
2709 (stdin_used_by): New variable.
2710 (name_init, add_exclude_file, decode_options): Use request_stdin
2711 if required.
2712 (confirm): Check stdin_used_by to see if stdin in use.
2713
2714 * list.c (read_header): Consistently use sizeof to find size
2715 of checksum field.
2716
27171995-08-26 François Pinard <pinard@iro.umontreal.ca>
2718
2719 * names.c (uid_to_uname, gid_to_gname): Ensure that the empty
2720 string is returned when not found, instead of the previous one.
2721
27221995-08-06 François Pinard <pinard@iro.umontreal.ca>
2723
2724 * buffer.c (new_volume): Use stderr rather than stdlis for
2725 interactions. Clarify `archive == 0' into `archive == STDIN'.
2726 Reported by Scott Hunziker.
2727
27281995-08-02 François Pinard <pinard@iro.umontreal.ca>
2729
2730 * diffarch.c (diff_archive): When symlink differs, report the
2731 file name, not the link name.
2732 Reported by Dale R. Worley and Wolfram Wagner.
2733
27341995-07-23 François Pinard <pinard@iro.umontreal.ca>
2735
2736 * Makefile.in (Makefile): Remove some useless lines.
2737
27381995-06-27 François Pinard <pinard@iro.umontreal.ca>
2739
2740 * tar.h: Sort out declarations a little better.
2741 * tar.c (decode_options): Reorder the cases in the big switch.
2742
2743 * tar.h: Introduce OLDGNU_COMPATIBILITY, enum archive_format,
2744 variable archive_format. Delete flag_old_archive, flag_standard.
2745 * tar.c (decode_options): Initialize archive_format so that -o
2746 yields V7_FORMAT, nothing yields OLDGNU_FORMAT, --posix yields
2747 GNU_FORMAT, and --posix with POSIXLY_CORRECT yields POSIX_FORMAT.
2748 * create.c (start_header): Use TMAGIC and TVERSION if required.
2749 Replace all flag_old_archive and flag_standard appropriately.
2750
2751 * tar.c: Implement a --record-size option, which is an
2752 alternate way of saying --blocking-factor, in bytes this time.
2753
2754 * tar.h, tar.c, create.c (dump_file): Implement
2755 a --no-recurse option, to help using tar with find.
2756 Reported by Chris G. Demetriou, Jamie Zawinski, Kimball
2757 Collins, Oswald P. Backus IV and Stuart Poulin.
2758
2759 * tar.h, tar.c, buffer.c (child_open_for_compress):
2760 Delete --block-compress, issue a warning if used. It was never
2761 obeyed while outputting on disk files, where it would have been
2762 useful. It was only obeyed for pipes, remotes and devices, that
2763 is, exactly when it would be an error not to specify it.
2764
2765 Reported by Hans Guerth, James H Caldwell Jr, Jean-loup Gailly,
2766 Jeffrey W. Parker, John D. Sybalsky, Kai Schlichting, Marcin
2767 Matuszewski, Mike Silano, Paul O'Connor, Pete Geenhuizen and
2768 Richard Stallman.
2769
2770 * buffer.c (open_archive): Cosmetic changes.
2771
2772 * buffer.c, diffarch.c, tar.h, update.c: Rename fl_read by
2773 flush_read and fl_write by flush_write.
2774
27751995-06-26 François Pinard <pinard@iro.umontreal.ca>
2776
2777 * tar.c (usage): Remind that `USER@' may be specified.
2778 Reported by John J. Szetela and Oliver Trepte.
2779
2780 * tar.c (usage): Replace `modificators' by `modifiers'.
2781 Reported by Alan Modra.
2782
2783 * extract.c (set_mode, set_stat): New functions, from
2784 previous code, elsewhere. Replace various occurrences of code
2785 appropriately with function calls. Ensure mode bits are properly
2786 set in all circumstances. This may imply calling set_mode twice.
2787 Reported by Piercarlo Grandi and Tim Magill.
2788
2789 * extract.c: Save the whole stat information in saved
2790 directory information, instead of parts of it, all mistyped.
2791 (restore_saved_dir_info): Free information as we consume it.
2792 Simplify code by using set_mode and set_times. Rename routine to
2793 apply_delayed_set_stat, and do some other cleanup around it.
2794
2795 * *.[hc]: Replace flag_confirm by flag_interactive,
2796 flag_do_chown by flag_same_owner,
2797 flag_exstdout by flag_to_stdout,
2798 flag_follow_links by flag_dereference,
2799 flag_gnudump by flag_incremental,
2800 flag_ignorez by flag_ignore_zeros,
2801 flag_keep by flag_keep_old_files,
2802 flag_local_filesys by flag_one_file_system,
2803 flag_modified by flag_touch,
2804 flag_multivol by flag_multi_volume,
2805 flag_namefile by flag_files_from,
2806 flag_new_files by flag_after_date,
2807 flag_oldarch by flag_old_archive,
2808 flag_reblock by flag_read_full_records,
2809 flag_run_script_at_end by flag_info_script,
2810 flag_sayblock by flag_block_number,
2811 flag_sorted_names by flag_same_order,
2812 flag_sparse_files by flag_sparse,
2813 flag_startfile by flag_starting_file,
2814 flag_use_protection by flag_same_permissions,
2815 OPTION_COMPRESS_PROG by OPTION_USE_COMPRESS_PROGRAM,
2816 flag_volhdr by volume_label,
2817 flag_compressprog by compress_program,
2818 flag_rsh_command by rsh_command,
2819 and flag_volno_file by volno_file.
2820
2821 * tar.c: Rename --modification-time by --touch, and provide a
2822 warning for the old option.
2823
28241995-06-24 François Pinard <pinard@iro.umontreal.ca>
2825
2826 * list.c (decode_header): At extraction time, use the stored
2827 uid if uname is unknown in this system, and use the stored gid if
2828 gname is unknown in this system, instead. This solves a long
2829 lasting bug by which restored files were all owned by root, using
2830 an incomplete /etc/passwd or /etc/group file.
2831 * names.c: Rename finduname to uid_to_uname and findgname to
2832 gid_to_gname, exchanging the order of arguments. Use uid_t and
2833 gid_t instead of int's. Use empty strings in cached_[ug]name for
2834 marking there is no valid cached translation, instead of using
2835 magic values for cached_[ug]id. Rename finduid to uname_to_uid
2836 and findgid to gname_to_gid, adding a second argument to store the
2837 result if found, and returning a success/failure indication, not
2838 anymore assuming the current [ug]id by default.
2839 * tar.h, create.c, list.c: Adjust prototypes and callers.
2840
2841 Reported by Anders Andersson, Bernard Derval, Brian Perkins,
2842 Charles Fu, Daniel Trinkle, Ian Jackson, Johannes Helander,
2843 Michael Lin, Richard Sims, Robert E. Brown, Tim P. Starrin and
2844 Torkel Hasle.
2845
2846 * tar.h, create.c, list.c, names.c, tar.c:
2847 Implement --numeric-owner, to replace the NONAMES define. Then,
2848 ensure some reasonable values to magic and linkflags if POSIX.
2849 Reported by Benedikt Stockebrand, Ian Jackson and Stephen Gildea.
2850
2851 * buffer.c: Delete save_block function, as well as
2852 saved_block_pointer and saved_block variables. Blocks were
2853 carefully saved indeed, but never consulted after the fact.
2854 * tar.h: Delete save_block prototype.
2855 * *.c: Delete all usages of save_block.
2856
2857 * rmt.c: Add static to variable declarations.
2858 * list.c (read_header): Rename recsum to recorded_sum.
2859
28601995-06-23 François Pinard <pinard@iro.umontreal.ca>
2861
2862 * *.[hc]: Rename --read-full-blocks to --read-full-records,
2863 --block-size to --blocking-factor, and --record-number to
2864 --block-number.
2865 * tar.c (decode_options): Diagnose usage of old names.
2866
2867 * *.[hc]: Rename saverec to save_block, findrec to
2868 find_next_block, and userec to set_next_block_after.
2869 Replace endofrecs by available_space_after which does the space
2870 computation instead of returning the end pointer, adjust and
2871 simplify all callers, by using variable data_block systematically.
2872 Also, rename union block field charptr to buffer.
2873
28741995-06-22 François Pinard <pinard@iro.umontreal.ca>
2875
2876 * *.[hc]: Exchange "record" and "block" almost everywhere and
2877 whenever appropriate, to follow the terminology used in
2878 P1003.1-1990, and so removing a lot of confusion in sources.
2879
2880 * tar.h: Prefer naming constants and fields per P1003-1.1990 as
2881 far as possible. Rename those remaining LF_xxx to GNUTYPE_xxx.
2882 * *.c: Adjusted accordingly.
2883
2884 * tar.h: Clean up the header structure. Make very clear what is
2885 specified by POSIX, and what is GNU format, and what is extended
2886 header for sparse files. Use xxx_FIELD_SIZE instead of NAMSIZ,
2887 TUNMLEN and TGNMLEN. Dismangle some other names, on the way...
2888 * *.c: Adjusted accordingly.
2889
2890 * tar.h: Do not declare baserec, declare current_block_ordinal.
2891 * buffer.c (current_block_ordinal): New function.
2892 Rename baserec to record_start_block, and make it static.
2893 * list.c: Use current_block_ordinal, avoid baserec computations.
2894 * buffer.c, list.c: Get rid of saved_recno and annofile.
2895
2896 * buffer.c, diffarch.c: Move no_op and wantbytes from
2897 buffer.c to diffarch.c. Correct prototypes so first arg is long.
2898 * tar.h: Do not declare no_op nor wantbytes, anymore.
2899
2900 * tar.h, buffer.c: Move ar_block, ar_record and ar_last
2901 from tar.h to buffer.c, renaming them to record_start,
2902 current_block, record_end respectively.
2903 * update.c: Add temporary extern declaration for record_start,
2904 current_block and record_end.
2905
2906 * tar.h, buffer.c: Move ar_reading from tar.h to buffer.c,
2907 renaming it to reading_archive.
2908 * diffarch.c: Add temporary extern declaration for
2909 reading_archive.
2910
2911 * buffer.c, create.c, diffarch.c, extract.c, gnu.c,
2912 list.c, names.c, rmt.c, rmt.h, rtapelib.c,
2913 tar.c, update.c: Replace many #ifdef's by #if's, and
2914 #ifndef's by #if !'s.
2915
2916 * buffer.c (redirect): New name for dupto. Callers changed.
2917
2918 * create.c (dump_file), extract.c (extract_archive,
2919 extract_sparse_file), tar.h: Remove crumb about ending_blanks
2920 and end_nulls.
2921
2922 * Makefile.in (all): Do not prepare genfile by default, as it
2923 is only needed for checking.
2924
2925 * tar.c (decode_options): Diagnose lacking arguments to old
2926 options.
2927 Reported by Aage Robeck, Alan Cox, Benny Holmgren, Bruno Haible,
2928 Daniel Quinlan, Michael Schmidt, Richard J. Kettlewell and Robert
2929 Leslie.
2930
29311995-06-21 François Pinard <pinard@iro.umontreal.ca>
2932
2933 * rtapelib.c (__rmt_open): Avoid dereferencing remote_user
2934 when NULL.
2935
2936 Reported by Alois Steindl, Amos Yahil, Anders Liljeborg, Andre
2937 Novaes Cunha, Andreas Haumer, Andreas Reuter, Andy Gay, Bdale
2938 Garbee, Bradley A. Smith, Brett Gaines, Bruce Jerrick, Calvin
2939 Cliff, Cameron Elliott, Charles Lopes, Charles M. Hannum, Chris
2940 Metcalf, Christophe Colle, Christopher T. Johnson, Dale Wiles,
2941 David Shaw, Dimitri Bougoulias, Daniel Hagerty, Dave Gregorich,
2942 David Mansfield, David Nugent, David Shaw, David Steiner,
2943 Douglas Scott, Dunstan Vavasour, Edgar Taube, Eduardo Kortright,
2944 Elmer Fittery, Eric Benson, Eric M. Boehm, Gerd Knorr, Graham
2945 Whitted, Harald Milz, Heiko Schlichting, James V. Di Toro III,
2946 Jan Carlson, Janne Snabb, Jeff Sorensen, Jens Henrik Jensen,
2947 Jim Clausing, John J. Szetela, John R. Vanderpool, Jurgen Botz,
2948 Karl Berry, Karlos Z. Smith, Karsten Thygesen, Koji Kishi,
2949 Luke Mewburn, Manuel Munier, Marc Ewing, Matthew J. D'Errico,
2950 Martin Goik, Maxime Taksar, maximum entropy, Michael Hayes,
2951 Michael Schwingen, Michael Smolsky, Michael Kaufman, Mike Walker,
2952 Minh Tran-Le, Mitsuaki Masuhara, Nelson H. F. Beebe, Noel Cragg,
2953 Olaf Wucknitz, Oliver Trepte, Olivier Roussel, Patrick Fulconis,
2954 Paul Kanz, Paul Nordstrom, Pekka Janhunen, Peter Carah, Peter
2955 Kutschera, Phil Hands, Randy Bias, Reuben J. Ravago, Ricardo
2956 Marek, Robert Anthony Nader, Rod Buchanan, Roderich Schupp,
2957 Russell Cattelan, Scott J. Kramer, Scott L. Burson, Simon
2958 Wright, Sisira Jayasinghe, Steffen Stempel, Thomas M. Browder
2959 Jr., Thomas Waas, Tim Bradshaw, Tim Lashua, Timothy J. Lee, Tom
2960 Popovitch, Toshiaki Nishi, Victor J. Griswold, Wayne Christopher,
2961 William J. Eaton, Wlodzimierz Jan Martin, Wolfgang Rupprecht
2962 and Wolfram Wagner.
2963
2964 * tar.h: Remove external prototypes related to rtapelib.c, as
2965 those are already declared in rmt.h.
2966
29671995-06-18 François Pinard <pinard@iro.umontreal.ca>
2968
2969 * buffer.c (xclose): New, from port.c (ck_close).
2970 Replace ck_close by xclose in all modules.
2971 * port.c: Remove ck_close.
2972
2973 * port.c: Remove ck_malloc, because xmalloc can be used
2974 instead, now that it protects against malloc(0) returning NULL.
2975 * gnu.c (gnu_restore), list.c (read_header): Replace
2976 ck_malloc with xmalloc. In gnu_restore, remove skipping code in
2977 case of failed allocation, because tar already aborted in xmalloc.
2978 * tar.h: Delete ck_malloc declaration.
2979
2980 * port.c: Remove mknod, link, chown and geteuid, which
2981 normally exist on Unix. To be reinserted later, as needed.
2982 Reported by Jyh-Shyang Wang, Nelson H. F. Beebe, Philippe Defert
2983 and Serge Granik.
2984
2985 * tar.c: Declare TTY_NAME, moved over from port.c.
2986
2987 * extract.c (extract_archive), tar.c (decode_options):
2988 Clean out old NO_OPEN3 code.
2989 * Makefile.in: Adjusted.
2990
2991 * buffer.c (child_open): In-line previous ck_pipe code.
2992 * tar.h: Delete ck_pipe declaration.
2993 * port.c: Delete ck_pipe function.
2994
2995 * misc.c: New, reorganizing remaining code from port.c.
2996 * port.c: Deleted.
2997 * Makefile.in: Adjusted.
2998
2999 * misc.c (un_quote_string): If `\' ends a string to unquote,
3000 just pass it undisturbed.
3001 From Robert Lipe.
3002
3003 * system.h: Replace many #ifdef by #if, #ifndef by #if !.
3004
3005
30061995-06-17 François Pinard <pinard@iro.umontreal.ca>
3007
3008 * Release 1.11.8.
3009
3010 * Makefile.in (mostlyclean): Remove also _*.c and _*.o.
3011
3012 * create.c (dump_file), gnu.c (get_dir_contents): Cast
3013 (int) explicitely for test.
3014
3015 * Makefile.in ($(OBJECTS)): Depend on ../intl/libgettext.h
3016 instead of ../intl/libintl.h, which does not always exist.
3017
3018 * genfile.c: Define EXIT_SUCCESS and EXIT_FAILURE if not.
3019 * tar.c (main): Use TAREXIT_SUCCESS instead of EXIT_SUCCESS.
3020
3021 * tar.h: Use off_t instead of long for the second argument in
3022 __rmt_lseek declaration.
3023 * system.h: Remove typedef of off_t, because AC_TYPE_OFF_T
3024 takes care of it now.
3025 Reported by Coranth Gryphon, Jim Blandy and Thomas Krebs.
3026
30271995-06-15 François Pinard <pinard@iro.umontreal.ca>
3028
3029 * checktar.sh: Send a message saying that it is still useless.
3030
30311995-06-11 François Pinard <pinard@iro.umontreal.ca>
3032
3033 * tar.h, tar.c (decode_options), extract.c
3034 (extract_archive), diffarch.c (diff_archive), create.c
3035 (dump_file, start_header), tar.c (decode_options): Replace
3036 flag_absolute_paths by flag_absolute_names.
3037 * tar.c (decode_options): Implement OBSOLETE_ABSOLUTE_NAMES for
3038 reporting --absolute-paths as obsolete.
3039
3040 * system.h: Conditionnaly include <locale.h> and define
3041 setlocale to void independently of ENABLE_NLS.
3042 Reported by Ulrich Drepper.
3043
30441995-06-10 François Pinard <pinard@iro.umontreal.ca>
3045
3046 * tar.c (long_options): Use no_argument and require_argument,
3047 instead of constants. Have long option names translated to short
3048 options whenever possible, rather than setting flags directly:
3049 easing option management is worth a few extra nanoseconds.
3050
3051 * tar.c (long_options): Add --gunzip as meaning -z.
3052 Reported by Bruno Haible.
3053
30541995-06-07 François Pinard <pinard@iro.umontreal.ca>
3055
3056 * Makefile.in: Use subdir and distdir.
3057
3058 * system.h [NLS]: Simplify by merely including <libintl.h>.
3059 Also, define setlocale to empty only if the setlocale function is
3060 not known, instead of when <locale.h> is missing.
3061 * Makefile.in (INCLUDES): Use ../intl in compilations,
3062 taking care of the fact libintl.h might have been symlinked there.
3063
30641995-06-05 François Pinard <pinard@iro.umontreal.ca>
3065
3066 * tar.c, tar.h: Rename TAR_EXTERN to GLOBAL.
3067
3068 * tar.h: Delete COMMAND_VERSION.
3069 * tar.c: Replace OPTION_HELP and OPTION_VERSION commands by
3070 show_help and show_version variables, so `--version --create' will
3071 not diagnose `Too many commands'. Adjust things so this works.
3072 Reported by Marty Leisner.
3073
30741995-06-04 François Pinard <pinard@iro.umontreal.ca>
3075
3076 * Makefile.in (check): New goal.
3077 * checktar.sh: New script.
3078 * genfile.c: New file.
3079 * Makefile.in (all): Prepare genfile.
3080 * Makefile.in: Distribute checktar.sh and genfile.c.
3081
30821995-06-03 François Pinard <pinard@iro.umontreal.ca>
3083
3084 * tar.h: Adjust so extracted doc/header.texi is neater.
3085
30861995-05-30 François Pinard <pinard@iro.umontreal.ca>
3087
3088 * tar.c (name_match): Use %s for printing directory, not %d.
3089 Reported by Marty Leisner.
3090
3091 * tar.c (name_gather, addname): chdir_name receives string
3092 pointers which might later be overwritten, but nevertheless saved
3093 into structures, so, use xstrdup for the time being.
3094 Reported by Michael Holmes.
3095
3096 * tar.c (name_next, name_from_list): Abort when chdir fails.
3097 Reported by Ian Jackson and Marty Leisner.
3098
30991995-05-28 François Pinard <pinard@iro.umontreal.ca>
3100
3101 * rmt.h: Declare second argument of __rmt_lseek to be off_t
3102 instead of long, so it is the same as in rmt.c.
3103 Reported by Chris Arthur.
3104
3105 * buffer.c (close_archive): Compensate for the addition of 2
3106 to ar_block at open_archive time, for when -M used, just before
3107 calling free.
3108 Reported by Bruno Haible, Clinton Carr, Hernan Prieto Schmidt,
3109 Kevin Dalley, Loren J. Rittle and Marty Leisner.
3110
3111 * rmt.c: Replace SSIZE by STRING_SIZE, avoiding a conflict
3112 with some header files.
3113 Reported by Kaveh R. Ghazi and William Bader.
3114
3115 * tar.c: Use DEVICE_PREFIX instead of DEVICE_PREXIX, and
3116 WITH_REGEX instead of WITH_REGEC.
3117 Reported by Bruno Haible.
3118
31191995-05-16 François Pinard <pinard@iro.umontreal.ca>
3120
3121 * Prerelease 1.11.7.
3122
3123 * Makefile.in (tar): Have $(OBJECTS) depend on system.h.
3124
3125 * system.h: Many adjustements for GNU gettext.
3126
31271995-05-09 François Pinard <pinard@iro.umontreal.ca>
3128
3129 * Makefile.in: Clean glocale out.
3130
31311995-05-08 François Pinard <pinard@iro.umontreal.ca>
3132
3133 * Makefile.in: Use libintl.a while linking.
3134 * system.h: Include <libintl.h> unconditionally, instead only
3135 if WITH_CATALOG. Let <libintl.h> define _() appropriately.
3136 * tar.c (main): Call textdomain.
3137
31381995-05-02 François Pinard <pinard@iro.umontreal.ca>
3139
3140 * system.h, gnu.c, list.c, port.c: Avoid
3141 superfluous parentheses in macro definitions.
3142 * port.c: Capitalize macro arguments.
3143 * buffer.c, create.c, diffarch.c, tar.c: Use comma
3144 operator when assignment in test.
3145
31461995-04-27 François Pinard <pinard@iro.umontreal.ca>
3147
3148 * port.c (link): Use WARN to report the message.
3149 Reported by Sherwood Botsford.
3150
31511995-03-19 François Pinard <pinard@iro.umontreal.ca>
3152
3153 * Makefile.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
3154 * system.h: Use WITH_CATALOGS to define _() differently.
3155
31561995-03-14 François Pinard <pinard@iro.umontreal.ca>
3157
3158 * rtapelib.c (__rmt_open): Close the unused side of each
3159 pipe, instead of the useful one, prior to processing.
3160 Reported by Charles Lopes and Minh Tran-Le.
3161
31621995-02-22 François Pinard <pinard@iro.umontreal.ca>
3163
3164 * Makefile.in: Replace `date' by `echo timestamp'.
3165
31661995-02-19 François Pinard <pinard@iro.umontreal.ca>
3167
3168 * Makefile.in: Support ID files. Do not distribute TAGS.
3169
31701995-02-13 François Pinard <pinard@iro.umontreal.ca>
3171
3172 * Makefile.in: Use top_srcdir.
3173
31741995-02-11 François Pinard <pinard@iro.umontreal.ca>
3175
3176 * gnu.c (is_dot_or_dotdot): Through NFS, readdir might deliver
3177 empty filenames under old Solaris 2.4, causing endless loops in
3178 tar. As a workaround, avoid `' as done already for `.' and `..'.
3179 Reported by Jan Carlson.
3180
31811995-02-05 François Pinard <pinard@iro.umontreal.ca>
3182
3183 * Makefile.in (maintainer-clean): New name for realclean.
3184
31851995-01-04 François Pinard <pinard@iro.umontreal.ca>
3186
3187 * extract.c (make_dirs) [MSDOS]: Correct for Turbo C, which may
3188 return EACCES instead of EEXIST on mkdir.
3189 Reported by Jeffrey Goldberg.
3190
3191 * tar.c (usage) [MSDOS]: Do not tell about -N and related.
3192 (decode_options) [MSDOS]: Be blind to -N and related.
3193 Reported by Jeffrey Goldberg.
3194
3195 * rmt.h (_remdev): A filename is not remote if the colon is
3196 preceeded by a slash, to take care of `/:/' which is a shorthand
3197 for `/.../<CELL-NAME>/fs' on OSF's Distributing Computing
3198 Environment (DCE) and Distributed File System (DFS).
3199 Reported by Travis L. Priest.
3200
32011995-01-03 François Pinard <pinard@iro.umontreal.ca>
3202
3203 * tar.c (decode_options): Renamed from options. Convert
3204 oldish-style non-dashed options to modern writing before
3205 performing option decoding. Diagnose when modern options are met
3206 before old style options are fully converted. This allows
3207 mixing of option styles on a single call. Avoid getoldopt and
3208 use getopt_long instead.
3209 * getoldopt.c: Deleted.
3210 * tar.h: Prototype deleted.
3211 * Makefile.in: Adjusted.
3212 Reported by Bruno Haible, Les Mikesell, Patrick Timmons and Saul
3213 Lubkin.
3214
32151995-01-02 François Pinard <pinard@iro.umontreal.ca>
3216
3217 * system.h: New file, split out of tar.h.
3218 * buffer.c, create.c, diffarch.c, extract.c,
3219 getoldopt.c, gnu.c, list.c, mangle.c, names.c,
3220 port.c, tar.c, update.c: Include "system.h", and move
3221 the inclusion of "tar.h" down after system dependent definitions.
3222 * Makefile.in: Distribute system.h.
3223
3224 * rmt.c: Include "system.h", and simplify accordingly.
3225 * rtapelib.c: Include "system.h", and simplify accordingly.
3226 * rmt.h: Simplify according to the inclusion of "system.h".
3227
3228 * system.h: Include conditionnaly <sys/gentape.h>,
3229 <sys/tape.h>, <sys/mtio.h>, <sys/ioctl.h> and <sys/io/trioctl.h>.
3230 * buffer.c, diffarch.c, rmt.c, rtapelib.c,
3231 update.c: Simplify accordingly.
3232
3233 * system.h: If it exists, include <sys/ioccom.h> prior to
3234 <sys/mtio.h>, to account for problems when GNU libc 1.0x is
3235 installed over SunOS 4.1.3: GNU libc does not provide sys/mtio.h,
3236 so it is taken from Sun header files which use things like _IOW,
3237 which GNU libc despises, sys/ioccom.h then provides definitions.
3238 Reported by Joseph E. Sacco.
3239
32401994-12-27 François Pinard <pinard@iro.umontreal.ca>
3241
3242 * rmt.h: Ensure strrchr is defined to rindex in some cases.
3243 Reported by Karl Vogel.
3244
32451994-12-18 François Pinard <pinard@iro.umontreal.ca>
3246
3247 * tar.h: Include <ctype.c> and declare ISASCII.
3248 * gnu.c: Adjust, declare and use ISDIGIT and ISSPACE.
3249 * list.c: Adjust, declare and use ISODIGIT and ISSPACE.
3250 * port.c: Adjust, declare and use ISPRINT.
3251 Reported by Bruno Haible, Konno Hiroharu and Max Hailperin.
3252
32531994-12-11 François Pinard <pinard@iro.umontreal.ca>
3254
3255 * buffer.c, tar.c [WITH_REGEX]: Check it.
3256
32571994-12-03 François Pinard <pinard@iro.umontreal.ca>
3258
3259 * Prerelease 1.11.6.
3260
3261 * rmt.c: Adjust for localization, by including <locale.h> and
3262 <libintl.h>, by defining _(), by defining and calling setlocale,
3263 and by defining and initializing program_name.
3264 * Makefile.in: Use locale.o and libtar.a with rmt.
3265
3266 * Makefile.in: Ensure INSTALL_DATA is defined.
3267
3268 * Makefile.in, tar.h, tar.c:
3269 Localize, adapting from how it is done in sharutils.
3270
3271 * Makefile.in, tar.c: Rename PRODUCT to PACKAGE.
3272
32731994-11-29 François Pinard <pinard@iro.umontreal.ca>
3274
3275 * buffer.c (backspace_output): Change cur from long to off_t.
3276 * diffarch.c (diff_archive): Idem for offset.
3277 * extract.c (extract_archive): Idem for offset.
3278 * rmt.c: Idem for lseek ().
3279 (main): For case 'L', use atol instead of atoi, and cast the
3280 result to (off_t) rather than (long).
3281 * rtapelib.c (__rmt_lseek): Idem of offset argument.
3282 * tar.h: Change offset of sp_array from int to off_t.
3283 * update.c (move_arch): Change cur from long to off_t.
3284 Reported by David J. MacKenzie.
3285
32861994-11-26 François Pinard <pinard@iro.umontreal.ca>
3287
3288 * rmt.h, tar.h, buffer.c, create.c,
3289 diffarch.c, extract.c, gnu.c, list.c,
3290 rtapelib.c, update.c: Rename _ to __P.
3291 * tar.h, rmt.h: Declare _ as a macro returning its
3292 argument, or else, include <libintl.h> and declare _ as gettext.
3293 * tar.c: Possibly include <locale.h> and call setlocale.
3294 * rmt.c, buffer.c, create.c, diffarch.c,
3295 extract.c, getoldopt.c, gnu.c, list.c,
3296 mangle.c, port.c, rtapelib.c, tar.c,
3297 update.c: Use _ macro over all localizable strings.
3298
3299 * rtapelib.c: Declare prototype for xstrdup. Do not declare
3300 strstr, which is not needed.
3301
33021994-11-01 François Pinard <pinard@iro.umontreal.ca>
3303
3304 * Makefile.in: Clean up, following those of GNU m4. I will
3305 not detail all the changes here.
3306 * tar.c: Use PRODUCT and VERSION instead of version_string.
3307
33081994-10-30 François Pinard <pinard@iro.umontreal.ca>
3309
3310 * tar.h [__STDC__]: Use #if instead of #ifdef.
3311
33121994-10-27 François Pinard <pinard@iro.umontreal.ca>
3313
3314 * rmt.h, tar.h, buffer.c, create.c, diffarch.c,
3315 extract.c, gnu.c, list.c, mangle.c, tar.c,
3316 update.c: Rename all f_* variables to flag_*.
3317
3318 * tar.h, buffer.c, tar.c, update.c: Rename cmd_mode into command_mode.
3319 * tar.c (SET_COMMAND_MODE): New macro, use it.
3320
3321 * port.c (quote_copy_string): Prevent sign extension of
3322 character while copying it to an int.
3323 * (un_quote_string): Increment to_there pointer in all cases.
3324 Reported by Konno Hiroharu, Mats Lofkvist, Max Hailperin and
3325 Ryutaro Susukita.
3326
33271994-10-09 François Pinard <pinard@iro.umontreal.ca>
3328
3329 * rmt.c, rtapelib.c, tar.h: Get rid of CONFIG_BROKETS.
3330
33311994-10-04 François Pinard <pinard@iro.umontreal.ca>
3332
3333 * diffarch.c (fill_in_sparse_array): Add a cast for Pyramid's
3334 dumb compiler. Later remove the cast and compare to 0 instead.
3335 * extract.c (extract_archive): Idem.
3336 Reported by Karl Vogel and Kaveh R. Ghazi.
3337
33381994-09-27 François Pinard <pinard@iro.umontreal.ca>
3339
3340 * diffarch.c: Normalize capitalization in diagnostics.
3341
33421994-09-26 François Pinard <pinard@iro.umontreal.ca>
3343
3344 * tar.c (name_next, name_match): Abort tar if directory cannot
3345 be changed, instead of going on. This is not an innocuous error.
3346 Reported by Marty Leisner.
3347
33481994-09-15 François Pinard <pinard@iro.umontreal.ca>
3349
3350 * rtapelib.c: Include "rmt.h" only once <sys/types.h> has been
3351 included, because off_t might not be defined otherwise.
3352 Reported by James W. McKelvey, John L. Chmielewski, Karl
3353 Vogel, Kaveh R. Ghazi an and Jim Meyering and Tilman Schmidt.
3354
33551994-09-14 François Pinard <pinard@iro.umontreal.ca>
3356
3357 * Makefile.in: Cleanup...
3358 (DISTFILES): Distribute TAGS.
3359 (ansi2knr): Use $(LIBS).
3360 (TAGS): Make TAGS in $(srcdir) only.
3361 (distclean): Do not remove TAGS.
3362 (realclean): Remove TAGS.
3363 (Makefile): Have ./config.status create this Makefile only.
3364
33651994-09-13 François Pinard <pinard@iro.umontreal.ca>
3366
3367 * buffer.c: Remove the presetting of stdlis, because stdout is
3368 not a constant in GNU libc.
3369 Reported by Joseph E. Sacco and Thomas Bushnell n/BSG.
3370
3371 * buffer.c (new_volume): Pass an otherwise unused argument to
3372 wait, do not use NULL.
3373 Reported by Thomas Bushnell n/BSG.
3374
33751994-09-05 François Pinard <pinard@iro.umontreal.ca>
3376
3377 * Makefile.in (TAGS): Remove -t on etags call. It has been
3378 the default behavior for a few releases of Emacs and it seems that
3379 option -t is now disappearing (from Emacs 19.25, at least).
3380 Reported by Goeran Uddeborg.
3381
33821994-09-02 François Pinard <pinard@iro.umontreal.ca>
3383
3384 * gnu.c (get_dir_contents): Do not set dp->allnew if dp is not
3385 set itself.
3386 Reported by Piercarlo Grandi.
3387
3388 * extract.c (extract_archive): Issue diagnostic or verbose
3389 messages to msg_file, instead of stdout.
3390 Reported by Piercarlo Grandi.
3391
33921994-08-23 François Pinard <pinard@iro.umontreal.ca>
3393
3394 * tar.h: Do not declare alloca if already defined, so HP's
3395 +Olibcalls compiler option works.
3396 Reported by John David Anglin.
3397
3398 * rtapelib.c (__rmt_open): Use REMOTE_SHELL only if defined.
3399 Otherwise, if the command argument has been specified and
3400 REMOTE_SHELL is not defined, immediately return an error.
3401 Reported by Bruno Haible, Kaveh R. Ghazi, Marty Leisner,
3402 Torkel Hasle and William Bader.
3403
3404 Because --rsh-command may always be given, even if no remote shell
3405 was found at configure time, remote capabilities are always
3406 compiled. This also solve other problems related to RTAPELIB.
3407 * Makefile.in: Always compile $Urtapelib.o.
3408 * buffer.c (child_open): Always test _remdev, do not depend
3409 anymore on HAVE_RTAPELIB.
3410 * rmt.h [!HAVE_RTAPELIB]: Remove some code.
3411 Reported by Andreas Schwab and Vic Abell.
3412
3413 * rtapelib.c: Remove unused COMPAT (mis)feature. Remove most
3414 length limitations for remote host name, remote user name and
3415 remote device name. Duplicate path, and free it in all cases.
3416 * (_rmt_rexec): The `user' parameter may never by the empty
3417 string. Remove code for that case.
3418
34191994-08-22 François Pinard <pinard@iro.umontreal.ca>
3420
3421 Little cleanup in installation:
3422 * Makefile.in: Remove rule for ../lib/libtar.a.
3423
34241994-08-21 François Pinard <pinard@iro.umontreal.ca>
3425
3426 * Prerelease 1.11.5.
3427
3428 * Makefile.in: Correct for when a different build directory.
3429
3430 * tar.h: Replace W* definitions. Adapted from make 3.71.
3431 * buffer.c (close_archive): Replace WIFCOREDUMPED by
3432 WCOREDUMP. Previous WIFSIGNALED definition was excluding SIGSTOP,
3433 new definition do not exclude it anymore. We'll see.
3434 Reported by Demizu Noritoshi, Greg Black, Kaveh R. Ghazi,
3435 Robert E. Brown and Russ Evans.
3436
34371994-08-20 François Pinard <pinard@iro.umontreal.ca>
3438
3439 This might (?) solve the dirent problems on NeXT's and Apollo's:
3440 * tar.h: Change includes and defines from older AC_DIR_HEADER
3441 style to newer and clearer AC_HEADER_DIRENT style.
3442 * create.c, gnu.c: Replace NLENGTH by NAMLEN.
3443 Reported by Drew Trieger, Hugh Secker-Walker, James W. McKelvey,
3444 Robert E. Brown and Thomas Krebs.
3445
34461994-08-17 François Pinard <pinard@iro.umontreal.ca>
3447
3448 Remove some shadowings.
3449 * update.c (update_archive): Rename head_standard to unused.
3450 * buffer.c (open_archive): Rename head to label.
3451 (fl_read): Rename head to cursor.
3452
3453 * gnu.c (dirent_cmp): Use (char *const *), not (const char **)
3454 for not loosing the const specifier while casting.
3455
3456 * mangle.c (extract_mangle): Remove unused argument.
3457 * tar.h: Adjust prototype.
3458 * extract.c (extract_archive): Caller changed.
3459
3460 * rtapelib.c (__rmt_open): Remove useless mode parameter.
3461 * rmt.h, tar.h: Adjust prototype.
3462 * rmt.h: Adjust macros calling __rmt_open.
3463 * create.c (deal_with_sparse): Remove unused argument.
3464 * create.c (dump_file): Caller changed.
3465 Reported by Greg Black.
3466
3467 * Makefile.in: Avoid $U in defining RTAPELIB. Remove both
3468 rtapelib.o and _urtapelib.o explicit rules, not needed anymore.
3469 * rmt.h, buffer.c [HAVE_RTAPELIB]: Instead of !NO_REMOTE.
3470 Reported by Andreas Schwab.
3471
3472 * Makefile.in: Correct a typo in $Ubuffer.o dependencies.
3473 Reported by Andreas Schwab.
3474
3475 * rtapelib.c (__rmt_ioctl): Compile the MTIOCGET case only if
3476 this symbol is defined. This also solves a missing mt_type field
3477 on NS32016 running SysVr2.2.
3478 Reported by Greg Black.
3479
3480 * rtapelib.c (__rmt_ioctl) : Conditionnalize only the MTIOCTOP
3481 case, not the whole routine, with the MTIOCTOP symbol. In case of
3482 unrecognized operation, return EOPNOTSUPP instead of EINVAL.
3483 * rmt.h: Always provide a prototype for __rmt_ioctl. Delete
3484 the RMTIOCTL machinery.
3485
34861994-08-16 François Pinard <pinard@iro.umontreal.ca>
3487
3488 * rmt.c, buffer.c: Use a more uniform way of including
3489 <sys/mtio.h> or its alternates.
3490 Reported by Daniel R. Guilderson and Kaveh R. Ghazi.
3491
3492 * Makefile.in: Split rule for $Urtapelib.o into one rule for
3493 rtapelib.o and one rule for _rtapelib.o, taking care of the fact
3494 that rtapelib.c is in $(srcdir) while _rtapelib.c is in current
3495 directory.
3496 Reported by Andreas Schwab, Kaveh R. Ghazi, Minh Tran-Le and
3497 Per Foreby.
3498
3499 * rmt.c (string_error): Correct DEBUG2 into DEBUG1, and strint
3500 into string.
3501 Reported by Anders Andersson, Bruno Haible, Thomas Krebs and
3502 Thomas König.
3503
3504 * Makefile.in: Add $U's to rtapelib and rmt specific rules.
3505 Reported by Thomas König.
3506
35071994-08-15 François Pinard <pinard@iro.umontreal.ca>
3508
3509 * Prerelease 1.11.4.
3510
3511 * rmt.c (numeric_error): Renamed from error.
3512 (string_error): New, to replace ERROR ((...)), unavailable in rmt.c.
3513
3514 * rmt.c (checkbuf): Do not accept, nor return record. Use the
3515 global instead. This will get rid of useless shadowings.
3516
3517 * rmt.h: Give prototypes for __rmt_* routines.
3518 * rtapelib.c: Include "rmt.h".
3519 * update.c (move_arch): Cast last rmtioctl argument to char *.
3520 * buffer.c (backspace_output): Idem.
3521 * diffarch.c (verify_volume): Idem.
3522
3523 * Makefile.in (rmt): Declare dependencies over rmt.h.
3524
35251994-08-14 François Pinard <pinard@iro.umontreal.ca>
3526
3527 * rtapelib.c: Use MTIO_CHECK_FIELD instead of mt_type.
3528 Reported by Ben A. Mesander.
3529
35301994-08-13 François Pinard <pinard@iro.umontreal.ca>
3531
3532 * tar.h: Include <sys/wait.h> if it exists, whether POSIX or not.
3533 Check if WIFSTOPPED is defined, to decide if defining others WIF*.
3534 Reported by Bruno Haible.
3535
35361994-08-11 François Pinard <pinard@iro.umontreal.ca>
3537
3538 * extract.c (extract_archive) [O_CTG]: Declare longname variable.
3539 Initialize it as NULL. This dirty kludge will allow the module to
3540 compile on Masscomp's, for the time being.
3541 Reported by Ben A. Mesander.
3542
3543 * tar.h, rtapelib.c: Declare strstr if we replaced it.
3544 Reported by Ben A. Mesander, Christian T. Dum and Kaveh R. Ghazi.
3545
35461994-08-10 François Pinard <pinard@iro.umontreal.ca>
3547
3548 * create.c (dump_file): Do not test only for hpux, but also
3549 for __hpux. I added __hpux__ too, as done in tar.h.
3550 Reported by Richard Lloyd.
3551
3552 * tar.h: Do not include <sys/mknod.h> anymore for HP-UX from
3553 HP-UX 8 and after, for which definitions are in <sys/sysmacros.h>,
3554 and reorganize the tests in this area.
3555 Reported by Christian T. Dum, Dimitris Fousekis, Kimmy Posey,
3556 Michael Maass, Richard Lloyd and Thomas König.
3557
35581994-08-09 François Pinard <pinard@iro.umontreal.ca>
3559
3560 These changes for const-cleaning gnu.c and tar.c:
3561 * tar.c (read_name_from_file): Work directly on global
3562 variables instead of accepting parameters. Return success or
3563 failure as an int instead of the relocated name_buffer.
3564 (name_next): Caller changed, internal clean-up of the function.
3565 Remove trailing slashes on the command call too, not only when
3566 reading from a file through -T option.
3567 * gnu.c: Add const to name and dir_text in struct dirname.
3568 Reported by Ben A. Mesander, Bruno Haible, Christian T. Dum,
3569 Dean Gaudet, James W. McKelvey, Richard Lloyd and Robert E. Brown.
3570
35711994-08-08 François Pinard <pinard@iro.umontreal.ca>
3572
3573 * tar.c (name_next, name_gather, addname): Use strcmp for
3574 checking for "-C", instead of decomposed tests, just for clarity.
3575
3576 * Makefile.in (RSH): Define from configuration.
3577 (rtapelib.o): Define REMOTE_SHELL from $(RSH) while compiling.
3578 * rtapelib.c (__rmt_open): If command not given, use
3579 REMOTE_SHELL, instead of cascading tries of filenames.
3580 Reported by Bruno Haible.
3581
3582 * tar.c: Include <fnmatch.h> if FNM_LEADING_DIR is not
3583 defined, instead of checking for FNM_PATHNAME, because some
3584 <unistd.h> define the later without defining the former.
3585 Reported by Thomas König.
3586
3587 * create.c (dump_file): Cast alloca results, for those
3588 compilers not processing void * properly.
3589 Reported by Kaveh R. Ghazi.
3590
3591 * Makefile.in: Get prefix and exec_prefix from configure.
3592 Reported by Andreas Schwab, Christian T. Dum and Dean Gaudet.
3593
3594 * src/port.c: Delete mkdir (and rmdir), rename, strstr and
3595 ftruncate replacements.
3596 Reported by Kaveh R. Ghazi (for memset and strstr).
3597 Reported by Bruno Haible (for mkdir and rename).
3598
35991994-08-05 François Pinard <pinard@iro.umontreal.ca>
3600
3601 * tar.h: Replace msg_file by stdlis.
3602 * buffer.c, gnu.c, list.c, diffarch.c: Idem.
3603
3604 * tar.c (main): Print version on stdout, not stderr.
3605
3606 * tar.h: Unconditionnaly insert the pad. Why play the game of
3607 forcing the compiler to do it for us? (Hum! I'm not so sure.)
3608 Reported by Bruno Haible.
3609
3610 * list.c (read_header): Initialize signed_sum to 0. Use this
3611 opportunity for slightly reorganizing the code around.
3612 Reported by Anders Andersson, Andrey A. Chernov, Bruno Haible
3613 and Chris Ransom.
3614
3615 * tar.c: Declare name_buffer_length as size_t instead of int.
3616 Reported by Andreas Schwab, J.T. Conklin, Kaveh R. Ghazi and
3617 Robert E. Brown.
3618
3619 * rmt.h: Have the NO_REMOTE case be a particular case of the
3620 other, for rmtopen and rmtcreat were not transmitting the proper
3621 number of parameters to open and creat (since 26 July 1994).
3622 Reported by Andreas Schwab.
3623
3624 * extract.c (extract_archive): Delay changing owner to after
3625 doing utime, for keeping long enough the permission of utime'ing.
3626 (extract_archive, restore_saved_dir_info): Idem for directories.
3627 Reported by Jonathan I. Kamens.
3628
3629 * tar.h: Change malloc_dbg to dmalloc, mutatis mutandis.
3630
3631 * tar.h: Undefine many macros if stat macros found to be
3632 broken. Define mkfifo only if configure did not find it.
3633 Include <sys/param.h> if not _POSIX_SOURCE, then <unistd.h> if
3634 we have it, than "pathmax.h". Move _POSIX_VERSION dependent
3635 code further down. Do not declare getcwd if we do not have it.
3636 * tar.c: Do not include <unistd.h>, now in "tar.h".
3637 Reported by Bernard Chen, Jean-Michel Soenen, John L.
3638 Chmielewski and Kaveh R. Ghazi.
3639
3640 * tar.h: Define DEV_BSIZE, ST_BLKSIZE and ST_NBLOCKS,
3641 borrowing this code from both fileutils-3.9's "lib/system.h" and
3642 textutils-1.9's "system.h".
3643 * create.c (dump_file): Straighten the test for sparseness,
3644 which was requiring one block too much, most probably for trying
3645 to get around DEV_BSIZE/st_blksize confusion. Use ST_NBLOCKS,
3646 instead of computing a variable block_size and doing specific
3647 tests for HP-UX or Linux. Also rewrite the test so it works
3648 when ST_NBLOCKS is unsigned.
3649 Reported by Bruno Haible, Dean Gaudet, Dick Streefland, Harald
3650 König, Jim Meyering, Kai Petzke, Kaveh R. Ghazi and Torkel Hasle.
3651
36521994-08-04 François Pinard <pinard@iro.umontreal.ca>
3653
3654 * tar.c: Do not include <unistd.h> if we do not have it.
3655 Reported by Kaveh R. Ghazi.
3656
3657 * Makefile.in (RTAPELIB): Prefix by $U for unprotoization.
3658 Reported by Kaveh R. Ghazi and Christian T. Dum.
3659
3660 * port.c: Remove many static specifiers.
3661 Reported by Demizu Noritoshi, Kaveh R. Ghazi and William Bader.
3662
3663 * rtapelib.c (__rmt_open): Replace system by remote, twice.
3664 Reported by Ben A. Mesander, Christian T. Dum, Demizu Noritoshi
3665 and Kaveh R. Ghazi.
3666
3667 * tar.c (addname): Replace a forgotten EX_SYSTEM by
3668 TAREXIT_FAILURE.
3669 Reported by Demizu Noritoshi, James W. McKelvey, Kaveh R.
3670 Ghazi and Robert E. Brown.
3671
36721994-08-02 François Pinard <pinard@iro.umontreal.ca>
3673
3674 * Prerelease 1.11.3.
3675
3676 * tar.c (assign_string): New routines.
3677 * create.c (dump_file, start_header), extract.c
3678 (extract_archive), list.c (list_archive, read_header),
3679 buffer.c (open_archive), diffarch.c (diff_archive): Use
3680 assign_string for setting these variables to a string value or
3681 NULL.
3682 * buffer.c (open_archive): Sets current_file_name,
3683 current_link_name and save_name to NULL.
3684 (close_archive): Free each of them if not NULL.
3685 (fl_write): Take a copy of save_name into cursor, and advance the
3686 cursor instead, because save_name should stay free-able.
3687 Reported by Dave Gentzel, Harald Anlauf, Mark Clements, Robert
3688 Weissenfels, Ronald van Loon, Tsutomu Yamada and Vic Abell.
3689
3690 * extract.c (extract_archive): Use xstrdup, for clarity.
3691 * gnu.c (add_dir): Idem.
3692
3693 * list.c (print_header): Correct a little bug by which
3694 non-symbolic links were not printed properly quoted.
3695
3696 * diffarch.c (diff_archive): Allocate tmpbuf to the proper
3697 size. NAMSIZ + 2 is not necessarily enough.
3698
36991994-08-01 François Pinard <pinard@iro.umontreal.ca>
3700
3701 * tar.h: Refresh str*/mem* configured declarations. Among
3702 other things, this will solve previously missing #undef's.
3703 * rmt.h: Revise strchr configured declaration.
3704 * *.c: Replace bzero by memset, bcopy by memcpy, bcmp by
3705 memcmp, index by strchr and rindex by strrchr.
3706 * port.c: Delete functions bzero and bcmp, said to not exist
3707 on Minix. AC_MINIX in configure.in should guarantee POSIX things.
3708 Reported by Drew Trieger, Hugh Secker-Walker and Vic Abell.
3709
3710 * tar.h, tar.c, buffer.c, update.c: Change CMD_* to COMMAND_*.
3711
3712 * buffer.c (open_archive): Use strcmp to compare archive name
3713 to `-', instead of doing it explicitely. Just for clarity.
3714
3715 * tar.h, tar.c, buffer.c: Replace ar_files by
3716 archive_name_array, n_ar_files by archive_names and ar_files_len
3717 by allocated_archive_names. Replace the index cur_ar_file by
3718 archive_name_cursor, which is a cursor in archive_name_array.
3719
3720 * tar.c (main): Move the initialization of
3721 archive_name_array at beginning, taken from options routine.
3722 Free it at end of main.
3723 (options): Use xrealloc instead of ck_realloc for archive_name,
3724 for the already saved names to be preserved.
3725 Reported by Per Bojsen.
3726
3727 * tar.h, tar.c: Replace name_file by namefile_name.
3728 * tar.c: Replace n_ind by name_array, n_indused by names,
3729 n_indalloc by allocated_names, and n_indscan by name_index.
3730 Replace namef by name_file, n_argv by names_argv and n_argc by
3731 names_argc.
3732 (main): Make an initial allocation for name_array at beginning,
3733 moved out from name_add, free it at end of main.
3734
3735 * buffer.c (close_archive): Free ar_block at end.
3736
37371994-07-30 François Pinard <pinard@iro.umontreal.ca>
3738
3739 * tar.h [WITH_MALLOC_DBG]: Include "malloc_dbg.h".
3740
3741 * create.c (create_archive): Do not attempt creating a
3742 directory summary file if -G, since -G sets gnu_dumpfile to 0.
3743 Reported by Alexander Dupuy.
3744
3745 * create.c (dump_file): Avoid a NULL dereference with -G when
3746 trying to dump an empty directory.
3747 * gnu.c (add_dir_name): Same thing.
3748 Reported by Rainer Orth.
3749
3750 Correction for the improper `data differs' diagnostic given when
3751 the continuation of a multi-volume was compared.
3752 * diffarch.c (diff_archive): If multi-volume, update save_name
3753 and save_totsize before calling wantbytes.
3754 * buffer.c (wantbytes): If multi-volume, update save_sizeleft.
3755 Reported by Andreas Schwab, Denis Fortin, François Pinard,
3756 Hiroyuki Bessho, Olaf Schlueter, Simon Wright and Saul Lubkin.
3757
37581994-07-30 François Pinard <pinard@iro.umontreal.ca>
3759
3760 * tar.c (options): Implement DEVICE_PREFIX and DENSITY_LETTER.
3761 Reported by Danny R. Johnston.
3762
3763 * gnu.c (gnu_restore): Use CURRENT_FILE_NAME abbreviation.
3764 * extract.c (extract_archive): Idem.
3765 Reported by Timothy Fossum.
3766
37671994-07-29 François Pinard <pinard@iro.umontreal.ca>
3768
3769 * create.c (dump_file): Abort if no memory for a possible
3770 link, remove related bogus code, and the variable nolinks.
3771 Reported by Andreas Schwab.
3772
3773 * create.c (dump_file): Detect file sparseness correctly for
3774 Linux ext2 filesystem.
3775 Reported by Kai Petzke.
3776
3777 * port.c (link) [!MSDOS]: Do not call setmode.
3778 Reported by Richard Deal.
3779
3780 Reorganization for `tar -d' to provide a different exit status.
3781 * tar.h: Replace errors by exit_status. Declare TAREXIT_*.
3782 * buffer.c (child_open): Exit with exit_status.
3783 * tar.c (main): Initialize exit_status to TAREXIT_SUCCESS, and
3784 exit with exit_status.
3785 * buffer.c, diffarch.c, gnu.c, list.c, port.c,
3786 rmt.c, tar.c, update.c: Replace EXIT_FAILURE by
3787 TAREXIT_FAILURE, and EXIT_SUCCESS by TAREXIT_SUCCESS.
3788 * tar.h (ERROR), create.c (dump_file): Set exit_status to
3789 TAREXIT_FAILURE instead of increasing errors.
3790 * diffarch.c (sigh, diff_sparse_files): On differences, set
3791 exit_status to TAREXIT_DIFFERS if nothing more serious already.
3792 Reported by Tilman Schmidt.
3793
3794 * rmt.c: Define EXIT_FAILURE and EXIT_SUCCESS if not already.
3795 * rtapelib.c: Define EXIT_ON_EXEC_ERROR to 128 and use it.
3796
37971994-07-27 François Pinard <pinard@iro.umontreal.ca>
3798
3799 * diffarch.c (sigh): Increment errors, so a difference will
3800 yield a non-zero exit status at end.
3801 Reported by Nick Holloway.
3802
3803 * tar.h: Rename TARERROR to WARN, then add ERROR which is similar,
3804 but increments the errors counter.
3805 * *.c: Replace all TARERROR by WARN or ERROR, deciding for each
3806 case. Many errors were not reflected in exit status.
3807
3808 Reported by Carl Streeter, Esa Karell, George Chyu, Ian Jackson,
3809 Judy Ricker, Massimo Dal Zotto, Roland McGrath, Tilman Schmidt
3810 and Torkel Hasle.
3811
3812 * buffer.c (child_open): Exit with EXIT_FAILURE if any error.
3813
3814 * rtapelib.c: Use error for reporting errors.
3815 (do_command): New name for command.
3816 (get_status): New name for status.
3817
3818 * buffer.c: Remove definition of MAGIC_STAT.
3819 (close_archive): Do not check MAGIC_STAT for an exit value, since
3820 this value is never returned.
3821
3822 * *.c: Use TARERROR or exit with EXIT_FAILURE, instead of various
3823 esoteric statuses. Normalize using TARERROR with an exit status,
3824 instead of calling TARERROR with 0 first, then _exit. On exit
3825 calls, use EXIT_SUCCESS instead of 0.
3826 * tar.c: Do not use the exit status anymore for outputting an
3827 error counter value. Wrap around was creating spurious success.
3828 * tar.h: Remove EX_* definitions for tar exit statuses.
3829 Reported by Bob Mende and Torbjorn Granlund.
3830
38311994-07-26 François Pinard <pinard@iro.umontreal.ca>
3832
3833 * tar.h: Add f_rsh_command variable.
3834 * tar.c: Add and process --rsh-command option.
3835 * buffer.c (open_archive, child_open, new_volume): Pass
3836 f_rsh_command to rmtopen and rmtcreat calls.
3837 * rmt.h (rmtopen, rmtcreat): Pass a supplementary argument.
3838 * rtapelib.c (__rmt_open): Accept and process a command
3839 argument, to replace rsh.
3840 Reported by Jonathan I. Kamens.
3841
3842 * tar.h: Instead of including <sys/file.h> with BSD42 or
3843 <fcntl.h> for V7, merely include <fcntl.h> if it exists,
3844 otherwise <sys/file.h>.
3845 * buffer.c, diffarch.c, extract.c, list.c,
3846 port.c, update.c: Do not include <fcntl.h> or
3847 <sys/file.h>, because they are indirectly included through
3848 "tar.h".
3849
3850 * create.c (dump_file): Remove the BSD42 conditional. If not
3851 f_sparse_files, initialize upperbound as when not BSD42.
3852 Reported by Alan Bawden, Claude Scarpelli, Laurent
3853 Sainte-Marthe, Noah Friedman, Reuben Sumner, Tom Quinn and
3854 William Bader.
3855
38561994-07-24 François Pinard <pinard@iro.umontreal.ca>
3857
3858 * tar.h: Merely define valloc as being malloc if valloc does
3859 not exist.
3860 * port.h: Remove valloc, which was only a dummy for malloc.
3861 Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman,
3862 J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.
3863
38641994-07-22 François Pinard <pinard@iro.umontreal.ca>
3865
3866 * create.c (start_header): Cast NAMSIZ to size_t before
3867 comparing it to strlen result.
3868 Reported by Mark Frost.
3869
3870 * tar.c (main): Zero out label_pattern before compiling in
3871 regular expressions, instead of using uninitialized memory.
3872 Reported by Holger Teutsch.
3873
3874 * tar.c [!FNM_PATHNAME]: Include fnmatch.h only if unistd.h fails
3875 to define this symbol.
3876 Reported by Alan Modra, Christian T. Dum, Eddy ?, John
3877 Oleynick and Richard Lloyd.
3878
3879 * buffer.c, diffarch.c, rtapelib.c, update.c:
3880 Include <sys/io/trioctl.h> before <sys/mtio.h>, if it exists.
3881 Reported by Kaveh R. Ghazi.
3882
3883 * tar.c (options): Use defined OPTION_* constants instead of
3884 anonymous numbers for long options not having a short option form.
3885
3886 * rmt.h [!MTIOCTOP]: Do not define RMTIOCTL, so __rmt_ioctl
3887 will not be called if it has not been compiled in rtapelib.c.
3888
3889 * tar.h: Add CMD_TOO_MANY.
3890 * tar.c (main): Use CMD_TOO_MANY, and get rid of badopt label.
3891 Reported by David J. MacKenzie.
3892
3893 * tar.c (usage): New name for describe(). Rewritten with
3894 better help formatting and more logical grouping of options.
3895 Accepts an exit status argument. Callers adapted.
3896 Reported by Richard O'Neill.
3897
38981994-07-20 François Pinard <pinard@iro.umontreal.ca>
3899
3900 * port.c (rename): Constify the arguments.
3901 Reported by Elmar Heeb, Jeff Prothero and John Clark.
3902
3903 * tar.c (main): Declare version_string locally.
3904 * version.c: Deleted.
3905 * Makefile.in: Adjusted.
3906
39071994-07-19 François Pinard <pinard@iro.umontreal.ca>
3908
3909 * tar.h: Merge "port.h" towards the beginning of tar.h.
3910 Include <stdio.h> and <errno.h>, and define errno if needed.
3911 * *.c: Do not include "port.h" anymore after "tar.h", do not
3912 include <stdio.h>, <errno.h> nor <sys/types.h>. Also move
3913 "tar.h" as the first file included in every module. This
3914 would solve, among other things, the problem of RE_DUP_MAX
3915 being redefined by <limits.h>, when included after "regex.h".
3916 * port.h: Deleted.
3917 * Makefile.in: Adjusted.
3918 Reported by Alan Modra, Christian T. Dum, Dimitris Fousekis,
3919 John David Anglin, Matthew Braun, Michael Maass, Richard Lloyd
3920 and Stefan Skoglund.
3921
3922 * create.c (dump_file): Do not cast alloca result to (char *).
3923 The problem reported was that alloca result was seen as int, but
3924 with the changes just made, alloca should be properly declared.
3925 Reported by Bryant Fujimoto and Michael Kubik.
3926
39271994-07-06 François Pinard <pinard@iro.umontreal.ca>
3928
3929 * create.c, extract.c [HAVE_UTIME_H]: Instead of _POSIX_VERSION,
3930 for choosing to include <utime.h>.
3931 Reported by Carl Swanson and Thomas Krebs.
3932
39331994-07-05 François Pinard <pinard@iro.umontreal.ca>
3934
3935 * tar.c: Replace DEF_AR_FILE with DEFAULT_ARCHIVE, replace
3936 DEFBLOCKING with DEFAULT_BLOCKING.
3937
3938 * rtapelib.c: Replace "??'" by "?? '" at two places in a
3939 comment, so avoiding Pyramid's DC/OSx compiler to complain about
3940 ANSI trigraph sequences. Even comments can trigger bugs, now!
3941 Reported by Mark Frost.
3942
3943 * tar.h: Declare valloc.
3944 * buffer.c, diffarch.c: Remove declaration for valloc.
3945
3946 * testpad.c: Deleted.
3947 * tar.h: Do not include "testpad.h" anymore.
3948 * Makefile.in: Delete testpad matters.
3949
3950 * buffer.c (new_volume): Inside case 'n', strcpy into r then
3951 assign r to p, instead of strcpy'ing directly into p, for making
3952 the module const clean.
3953
39541994-07-03 François Pinard <pinard@iro.umontreal.ca>
3955
3956 Rename a few variables to avoid shadowing variables or functions:
3957 * list.c (print_header): Change name to quoted_name.
3958 * buffer.c (child_open): Change pipe to local_pipe.
3959 * extract.c (extract_archive): Change namelen to namelen_bis.
3960 * rtapelib.c (__rmt_open): Change system to remote.
3961
3962 * tar.c (options): Add two missing arguments to getoldopt
3963 call, NULL is not necessarily implied on all systems.
3964
3965 * list.c (print_header): Add a few missing long specification
3966 in formats.
3967 * diffarch.c (compare_chunk, diff_sparse_files): Idem.
3968 * port.c (msg, msg_perror): Idem.
3969
3970 * tar.h: Include prototypes for all functions which call from
3971 one module to another. Declare voidstar (use it everywhere
3972 instead of PTR). Move in the include <sys/stat.h> from
3973 <port.h>, and the include of option.h from tar.c and
3974 getoldopt.c, waiting for a better solution for all these things.
3975 * port.c: Removed PTR declaration and including <sys/stat.h>.
3976 * getoldopt.c, tar.c: Remove including "option.h".
3977
39781994-07-02 François Pinard <pinard@iro.umontreal.ca>
3979
3980 * *: Protoized all function headers. Added static to
3981 functions which can take it. Add many const specifiers. Remove
3982 unused variables.
3983
3984 * port.c (xmalloc): Delete function, do not mask the true one.
3985 * port.c (ck_malloc): Use xmalloc, waiting for annihilation.
3986 * port.c (ck_realloc): Use xrealloc, waiting for annihilation.
3987 * *: Begin switching from ck_malloc (or even pure malloc) to
3988 xmalloc. Same for ck_realloc (pure realloc) to xrealloc.
3989 Doing this correctly is a delicate matter, which I'll continue
3990 without reporting it anymore, while doing other modifications.
3991
3992 * *: Replace msg and msg_perror calls by TARERROR macro calls.
3993 Capitalize first word of all error messages, remove ending
3994 punctuation or newline. Systematically avoid contractions for
3995 `Cannot' and `Could not'. Always write `WARNING:' all in capitals.
3996 * tar.h: Declare TARERROR as calling error(). Rename
3997 variable tar to program_name.
3998 * tar.c (main, options), buffer.c (child_open), port.c
3999 (msg, msg_perror), gnu.c (gnu_restore): Rename variable tar to
4000 program_name.
4001 * gnu.c (gnu_restore): Remove a spurious repetition of
4002 program_name in error message.
4003
40041994-07-01 François Pinard <pinard@iro.umontreal.ca>
4005
4006 * buffer.c, create.c extract.c, gnu.c, list.c,
4007 names.c, rmt.c, tar.c, update.c: Remove all (void)
4008 prefixes to function calls. There are limits to lint clutter.
4009
40101994-06-30 François Pinard <pinard@iro.umontreal.ca>
4011
4012 * port.h: Remove definition of const. Let configure do it.
4013
4014 * tar.h, rmt.c, rtapelib.c, version.c, testpad.c: Add a block
4015 for including <config.h> or "config.h". If "tar.h" was included
4016 everywhere, the block will only be needed there.
4017
4018 * *.[ch]: Reindented to GNU standards (they were not far).
4019 Got rid of all `* ' left prefixes in comments and refilled them.
4020 There is still a lot of cosmetic changes needed everywhere.
4021 I will not report them any more, doing them along the way of
4022 other things in the future.
4023
4024 * Makefile.in: New file.
4025
4026 * Split distribution into a few subdirectories, for easing
4027 maintainance.
4028
4029 * Taking over maintenance duties.
4030
40311993-08-31 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4032
4033 * rmt.c [M_UNIX]: Include sys/tape.h instead of sys/mtio.h.
4034 Reported by Drew Sullivan and William Bader.
4035
40361993-07-29 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4037
4038 * Makefile.in (config.status): Run config.status --recheck, not
4039 configure, to get the right args passed.
4040
40411993-07-19 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4042
4043 * Makefile.in (libdir): Use standard GNU value --
4044 $(exec_prefix)/lib, not /etc.
4045
40461993-07-08 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4047
4048 * Makefile.in (installdirs, configure, config.status,
4049 Makefile): New targets.
4050
40511993-06-14 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
4052
4053 * Makefile.in (.c.o): Put -I. before -I$(srcdir), and make
4054 $(CFLAGS) last.
4055
40561993-05-22 The King <elvis@graceland.gnu.ai.mit.edu>
4057
4058 * extract.c (extract_archive, restore_saved_dir_info): Print
4059 mode in octal, not in decimal.
4060 Reported by Scott S. Bertilson.
4061
40621993-03-26 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
4063
4064 * configure.in: Better way of detecting HP-UX.
4065 Reported by Noah Friedman.
4066
4067
40681993-03-25 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4069
4070 * version.c: Released version 1.11.2.
4071
4072 * Makefile.in (dist): Do the link differently; some of the
4073 files have changed filesystems which makes it more complex.
4074
4075 * Makefile.in (dist, shar): Use gzip instead of compress.
4076
4077 * create.c (dump_file): Test for curdev == -1, not curdev < 0.
4078 Some losing NFS systems give negative device numbers sometimes.
4079 Reported by Thorbjxrn Willoch.
4080
40811993-03-19 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4082
4083 * buffer.c (new_volume): Write the global volume number to the
4084 volno file before running the info script, so that the script
4085 can look at it.
4086
40871993-03-17 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4088
4089 * tar.c (describe, long_options): Changed --compress-block to
4090 --block-compress.
4091 (options): Fixed f_compress_block sanity check error message
4092 to give the correct name of the option.
4093
40941993-03-16 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4095
4096 * extract.c (extract_archive): case LF_DIR: Do chown when
4097 necessary. Don't bother jumping to set_filestat for
4098 f_modified; repeat the chmod code here. Replace `break',
4099 deleted on 2 September 1992.
4100
4101 * tar.c (describe, long_options, options): Added gzip options
4102 and use-compress-program option.
4103 * tar.h: Added new compression options.
4104 * buffer.c (child_open, open_archive): Use new compression options.
4105
4106 * create.c (start_header): Only mask off high bits when
4107 creating old-style archives.
4108 * list.c (decode_header): Mask off potentially misleading
4109 high bits from the mode when reading headers.
4110 Reported by Paul Eggert.
4111
41121993-03-15 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4113
4114 * extract.c (extract_archive): Put arguments in the right
4115 order for error message.
4116 Reported by Bruno Haible.
4117
4118 * create.c (deal_with_sparse): If the last byte was null, we
4119 didn't write it out.
4120
4121 * gnu.c, create.c, extract.c, diffarch.c, list.c:
4122 Replace malloc calls with ck_malloc and realloc with ck_realloc.
4123 Reported by Jonathan Kamens.
4124
4125 * tar.c (describe): Improve doc for -L.
4126
4127 * tar.c (name_next): Don't apply exclusion to explicitly named
4128 files.
4129
4130 * tar.c (long_options, describe): Added new-volume-script as
4131 an alias for info-script.
4132
4133 * extract.c (extract_archive): LF_DUMPDIR case; misplaced paren.
4134
4135 * extract.c (extract_archive): extract_file case, first if,
4136 include space for null in namelen computation.
4137
4138 * extract.c (extract_sparse_file): Use value returned by write
4139 to properly create error message.
4140
4141 * create.c (create_archive): Don't assume we have anything to
4142 dump.
4143
4144 * buffer.c (open_archive): Set current_file_name for the
4145 volume header so that verbose listings work properly.
4146
4147 * Makefile.in (realclean): Added getdate.c.
4148
4149 * create.c (deal_with_sparse): If exactly 26 elements in
4150 sparsearray, only 25 were written.
4151 Reported by Jim Murray.
4152
4153 * create.c (deal_with_sparse): If the file ends with a zero
4154 block, the last byte was not written. This is fixed in create
4155 rather than extract: if amidst_data is not set at EOF, put out a
4156 block with just the last byte of the file.
4157 Reported by Jim Murray.
4158
41591993-01-14 David J. MacKenzie <djm@kropotkin.gnu.ai.mit.edu>
4160
4161 * tar.c: Include fnmatch.h after port.h to make sure we get our FNM_*
4162 (e.g. on HPUX 8).
4163
41641992-11-24 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4165
4166 * tar.c (addname), gnu.c (read_dir_file) [HAVE_GETCWD]: Instead of USG.
4167
4168 * port.h, rmt.h [HAVE_STRING_H]: Instead of USG.
4169
4170 * port.h: Add dir header decls.
4171 * create.c, gnu.c: Use SYSNDIR, SYSDIR, and NDIR
4172 instead of BSD42 and USG. Rename DP_NAMELEN to NLENGTH.
4173 Use `struct dirent' instead of `struct direct'.
4174 * create.c, gnu.c, tar.c: Remove dir header decls.
4175
41761992-11-18 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4177
4178 * tar.c: Change FNM_TARPATH to FNM_LEADING_DIR to match change
4179 in fnmatch.[ch].
4180
41811992-10-02 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4182
4183 * tar.c (describe): Fix some tab alignments.
4184
4185 * Makefile.in (SRC3): Add getdate.c, for systems without bison/yacc
4186 (like MS-DOS).
4187
4188 * diffarch.c (diff_sparse_files): Add missing arg to fprintf calls.
4189
4190 * extract.c (extract_archive, restore_saved_dir_info),
4191 buffer.c (child_open), list.c (decode_header, print_header):
4192 Delete unused vars.
4193
4194 * port.c [__MSDOS__]: Have strstr, rename, and mkdir. Don't
4195 define ck_pipe.
4196
4197 * buffer.c, tar.c (init_volume_number, closeout_volume_number),
4198 create.c (write_long): Declare as void, not int, since they
4199 don't return a value.
4200
42011992-09-22 Michael I Bushnell <mib@wookumz.gnu.ai.mit.edu>
4202
4203 * buffer.c (close_archive): Removed leftover `break' from when
4204 this was a switch.
4205
42061992-09-22 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
4207
4208 * create.c, port.h: indented #pragma directives with 1 space.
4209
42101992-09-18 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4211
4212 * All source files: re indented using GNU indent.
4213
4214 * rtapelib.c (__rmt_read): Only read the amount left in the
4215 buffer; otherwise a broken rmt server (which puts too much
4216 data out) could overwrite past our buffer.
4217
42181992-09-17 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4219
4220 * configure.in: Check for getpwuid and getgrgid.
4221 Reported by J.T. Conklin.
4222
4223 * create.c: Throughout, use struct utimbuf rather than array
4224 of longs.
4225 Reported by J.T. Conklin and Michael Ellis.
4226
4227 * Makefile.in (SRC3, AUX): Move alloca.c to SRC3.
4228 (OBJ3): Add @ALLOCA@.
4229
4230 * Makefile.in (getdate.c): Look in srcdir for getdate.y.
4231
4232 * buffer.c (close_archive): We can't check WTERMSIG
4233 meaningfully unless we already know tha WIFSIGNALED is true.
4234 (There is no guarantee it WTERMSIG will return zero when
4235 WIFSIGNALED is false.)
4236 * port.c (rmdir, mkdir): Check WIFSIGNALED rather than
4237 WTERMSIG.
4238
4239 * Makefile.in (getdate.c): Use $(YACC) instead of `yacc'.
4240
4241
42421992-09-15 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4243
4244 * version.c: Released version 1.11.1.
4245
4246 * Makefile (AUX): Added NEWS.
4247
4248 * Makefile.in (rmt): Added $(LIBS).
4249
4250 * mangle.c (extract_mangle): Null terminate link name for
4251 losing archives missing it.
4252
4253 * configure.in: Added tests for libraries needed on Solaris.
4254
4255 * Makefile.in: added target and rule for getdate.c: getdate.y;
4256 some makes don't have one built in.
4257
42581992-09-14 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4259
4260 * tar.c (options, main): Advise use of --help rather than
4261 +help.
4262 Reported by J.T. Conklin.
4263
4264 * create.c (write_long): Using hstat here is a Bad Idea, and
4265 totally unnecessary at that.
4266
4267 * list.c (read_header): Compute both signed and normal
4268 checksums.
4269 Reported by Robert E. Brown.
4270
4271 * diffarch.c, buffer.c: Declare valloc as void* rather than
4272 char*.
4273 Reported by Robert E. Brown.
4274
4275 * Makefile.in: Don't install info files.
4276
4277 * port.h: Undefine index and rindex if necessary; some
4278 string.h's define them for us.
4279
4280 * tar.c (addname): Missing braces after if.
4281 * gnu.c (read_dir_file): Missing braces after if.
4282
4283 * names.c: Add include of <stdio.h>,
4284
4285 * create.c (start_header): Set current_file_name so that
4286 print_header, used for verbose create, works properly.
4287 (dump_file): Set current_link_name when setting up symlink
4288 and hardlink records.
4289 Reported by Robert Crowe.
4290
4291 * configure.in: Define BSD in the presence of /sdmach or
4292 /../../mach.
4293 Reported by Robert E. Brown.
4294
4295 * configure.in: Check for malloc was scrambled.
4296
42971992-09-11 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4298
4299 * fnmatch.[ch]: New files.
4300 * wildmat.c: File removed.
4301 * tar.c: Include fnmatch.h and use fnmatch instead of wildmat.
4302 * Makefile.in, makefile.pc: Replace wildmat.o(bj) with fnmatch.
4303
43041992-09-10 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4305
4306 * buffer.c, tar.c: Remove redundant decls of getenv, rindex.
4307
4308 * Makefile.in: Add uninstall target.
4309 Define libdir instead of hardcoding /etc for installing rmt.
4310
43111992-09-10 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4312
4313 * list.c (read_header): On second thought, that doesn't work
4314 either, so just store the names in malloced areas. Sigh.
4315
4316 * NEWS: New file.
4317 * README: Removed things that belong in NEWS; point to it.
4318
4319 * list.c (read_header): current_file_name and
4320 current_link_name need to be set to the arrays in head rather
4321 than header; header is the actual read buffer and will change.
4322
4323 * extract.c (extract_archive):
4324 * buffer.c (new_volume): `#' directives need to start in
4325 column 1.
4326 Reported by J.T. Conklin.
4327
4328
43291992-09-09 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4330
4331 * version.c: Release of version 1.11.
4332
4333 * Makefile.in (AUX): Add getpagesize.h.
4334 (AUX): Comment out manuals.
4335 (all): Comment out dependency on tar.info.
4336
4337 * Makefile, configure.in: Arrange to use local malloc on HP-UX.
4338
4339 * port.h Use the canonical Autoconf chunk for alloca instead
4340 of just looking for gcc.
4341
43421992-09-09 Noah Friedman <friedman@nutrimat.gnu.ai.mit.edu>
4343
4344 * port.h: If compiling with gcc, use __builtin_alloca.
4345
43461992-09-08 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4347
4348 * extract.c: Removed long name support from here.
4349 * list.c (read_header): Understand and skip longname/longlink
4350 headers here. Names for current file are stored in new global
4351 variables. All source files except create.c changed to refer
4352 to current_file_name and current_link_name instead of fields
4353 directly from the current header.
4354
43551992-09-03 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4356
4357 * create.c (write_long): New function.
4358 (dump_file): When writing link records or symlink records, use
4359 new write_long function instead of mangling when the link
4360 target is too long.
4361 (start_header): Use write_long instead of mangling for long
4362 names.
4363 * extract.c (saverec): Recognize LF_LONGNAME and LF_LONGLINK.
4364 (saverec): Throughout, use longname and longlink if they are set.
4365
43661992-09-02 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4367
4368 * mangle.c: This is now deprecated; retain extract_mangle for
4369 backward compatibility.
4370
4371 * list.c (print_header): Prevent printing 0 when the gid or uid is
4372 null.
4373 Reported by Chris Arthur.
4374
4375 * list.c (decode_header): Use the gid field when the gid is empty,
4376 and similarly for uid.
4377 Reported by Chris Arthur.
4378
4379 * extract.c: saved_dir_info, saved_dir_info_head: new type and
4380 var.
4381 (extract_archive): When extracting directories, now save info
4382 in saved_dir_info_head.
4383 (restore_saved_dir_info): New function.
4384 * list.c (read_and): Call restore_saved_dir_info at the end of
4385 the run.
4386 Reported by Chris Arthur.
4387
43881992-08-31 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4389
4390 * create.c (create_archive): If there are no names specified,
4391 write nothing on the archive instead of dumping ".".
4392
4393 * buffer.c (open_archive): Useful error message.
4394
4395 * tar.c, tar.h: Recognize f_atime_preserve.
4396 * create.c (dump_file): Implement f_atime_preserve.
4397
4398 * rmt.h (_remdev): Don't require /dev/ to be in remote archive
4399 names; obey new force-local flag.
4400 * tar.c, tar.h: Implement new force-local flag.
4401 Reported by Roland Schemers III.
4402
4403 * tar.c (describe): same-owner and same-order were confused.
4404
4405 * create.c (dump_file): Check for toplevel had sense reversed.
4406
4407 * buffer.c (new_archive): Don't free old_name...when these
4408 come from the command line, they aren't malloced, and it isn't
4409 important to save this trivial amount of memory.
4410
4411 * tar.h: replace ar_file with ar_files, n_ar_files,
4412 cur_ar_files.
4413 * buffer.c (open_archive): multi-volume compressed archives
4414 never worked; give an appropriate error. Change open of
4415 ar_file to open of ar_files[0].
4416 (writeerror, readerror, flush_archive): use
4417 ar_files[cur_ar_file] instead of ar_file.
4418 (new_archive): Necessary changes to support ar_files.
4419 * tar.c (options): handle multiple tape drive arguments.
4420
44211992-08-28 Michael I Bushnell <mib@wookumz.gnu.ai.mit.edu>
4422
4423 * list.c (decode_header), create.c (start_header), tar.h (TMAGIC):
4424 Undo djm's changes below; tar does not support the final
4425 Posix.1 format; it's bad to make it look like it does.
4426
44271992-07-19 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4428
4429 * port.h: Try to prevent redefining major.
4430 * port.c [minix]: Implies HAVE_BZERO. Fix a typo.
4431
4432 * list.c (decode_header): Recognize the final POSIX.1 magic as
4433 well as the early draft magic for ustar.
4434 * create.c (start_header): Create a final POSIX.1 magic string
4435 instead of an early draft string for ustar.
4436 * tar.h (TMAGIC): Remove the trailing blanks.
4437
4438 * rmt.c, rtapelib.c: Use POSIX and STDC headers if available.
4439 * rmt.h: Declare the external functions defined in rtapelib.c.
4440
44411992-07-14 David J. MacKenzie <djm@apple-gunkies.gnu.ai.mit.edu>
4442
4443 * pathmax.h: New file.
4444 * port.h: Include it.
4445 * create.c (create_archive): Allocate PATH_MAX instead of
4446 NAME_MAX for temporary buffer so we don't have to figure out
4447 what NAME_MAX is (portably).
4448
44491992-07-10 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4450
4451 * gnu.c (collect_and_sort_names): write_dir_file has no argument.
4452
44531992-07-06 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4454
4455 * port.c (rename): If unlinking the source at the end fails,
4456 unlink the destination instead to avoid leaving a mess.
4457
44581992-07-03 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4459
4460 * buffer.c, diffarch.c, update.c, rtapelib.c [HAVE_SYS_MTIO_H]:
4461 Instead of NO_MTIO.
4462
4463 * port.c, tar.h [HAVE_FOO]: Instead of FOO_MISSING.
4464
44651992-06-23 David J. MacKenzie <djm@goldman.gnu.ai.mit.edu>
4466
4467 * rmt.c: Add #ifdefs to work on ISC.
4468
44691992-05-20 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4470
4471 * port.h: Define major, minor, makedev if the system doesn't.
4472
44731992-05-13 Michael I Bushnell <mib@apple-gunkies.gnu.ai.mit.edu>
4474
4475 * gnu.c (add_dir_name): Store legitimate value into
4476 dir_contents when get_dir_contents returns NULL.
4477
44781992-05-07 Michael I Bushnell <mib@apple-gunkies.gnu.ai.mit.edu>
4479
4480 * gnu.c (add_dir_name): Check for return of NULL from
4481 get_dir_contents; see djm's change of Fri Jul 26 01:12:58 1991.
4482
44831992-05-04 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4484
4485 * tar.h: Make comments for option names say -- instead of +.
4486
44871992-04-29 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4488
4489 * tar.c, tar.t: Added +volno-file option.
4490 buffer.c (init_volume_number, closeout_volume_number): New functions.
4491 tar.c (main): Call new functions in the right place.
4492
4493 * buffer.c (fl_write, fl_read): Mod to allow losing tape
4494 drives which use short counts to indicate end of tape
4495 correctly handle the multi-tape stuff. The read half won't
4496 co-exist with f_reblock; there's no way to fix that, of
4497 course.
4498
4499 * tar.c, tar.h: Added new option +show-omitted-dirs.
4500 list.c (read_and): Implemented show-omitted-dirs.
4501 Reported by Karl Berry.
4502
4503 * tar.c, tar.h: Added new option +checkpoint.
4504 buffer.c (fl_read, fl_write): Implemented +checkpoint lazily.
4505
4506 * create.c (dump_file): Added toplevel argument; some devices
4507 can be negative, so the old method was bogus. All callers
4508 changed.
4509 Reported by Max Hailperin.
4510
4511 * tar.c, tar.h: Added new option +ignore-failed-read.
4512 create.c (dump_file): Implemented +ignore-failed-read.
4513 Reported by Bob Mende Pie.
4514
4515 * create.c (finish_sparse_file): Commented out debugging printf.
4516
4517 * tar.c, tar.h: Added new option +remove-files to delete files
4518 after they are added to the archive.
4519 create.c (dump_file): Implemented +remove-files for
4520 everything but directories. I don't think they need it.
4521
45221992-04-28 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4523
4524 * create.c: (dump_file): save_name needs to be set equal to p,
4525 not something inside the header, because the header changes at
4526 the first buffer flush.
4527
45281992-04-24 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4529
4530 * create.c: Djm incorrectly moved the include of port.h to
4531 precede the include of sys/file.h; restored.
4532
4533 * tar.c (main): Cases CMD_EXTRACT and CMD_LIST: declare error
4534 string with const.
4535
4536 * gnu.c (collect_and_sort_names): Leave if around
4537 write_dir_file in place.
4538
45391992-04-22 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4540
4541 * rtapelib.c: SIGTYPE -> RETSIGTYPE.
4542
45431992-03-09 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4544
4545 * rtapelib.c: Reformat and make comments more complete.
4546 Rename a few variables for clarity.
4547
45481992-03-05 David J. MacKenzie <djm@nutrimat.gnu.ai.mit.edu>
4549
4550 * tar.c (describe): Document long options as starting with --.
4551
45521992-01-23 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4553
4554 * tar.c (options): Check get_date return value for error indication.
4555
45561991-12-24 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4557
4558 * tar.c, gnu.c, extract.c, create.c, port.h, rmt.h [HAVE_UNISTD_H,
4559 _POSIX_VERSION]: Instead of POSIX ifdefs.
4560
45611991-12-20 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4562
4563 * testpad.c (main): flush stderr so perror and fprintf
4564 cooperate right.
4565
45661991-12-18 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4567
4568 * port.h [MAJOR_IN_MKDEV, MAJOR_IN_SYSMACROS]: To find where to
4569 get major, minor and makedev.
4570 * create.c, list.c, update.c: Don't check USG to include
4571 sys/sysmacros.h.
4572
45731991-12-12 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4574
4575 * mangle.c (extract_mangle): Correctly null terminate name of
4576 link target.
4577
45781991-11-21 Michael I Bushnell <mib@nutrimat>
4579
4580 * create.c (dump_file, at start of ISREG output loop): use
4581 filename from header instead of real name to make sure that we
4582 get the mangled version and not one that is too long and
4583 overflows buffers.
4584
45851991-11-16 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4586
4587 * tar.h: Use new criteria for STDC version of msg.
4588
45891991-11-02 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4590
4591 * create.c, gnu.c, tar.c [USG]: Use DIRENT instead of NDIR to select
4592 between dirent.h and ndir.h.
4593
4594 * port.c [FOO_MISSING]: Instead of WANT_FOO, to make sharing code
4595 and configure script with other utilities easier.
4596 [VPRINTF_MISSING, DOPRNT_MISSING]: Instead of FOO_MSG, to select
4597 error reporting routines.
4598
45991991-08-29 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4600
4601 * tar.c (long_options). Fixed info-script long option.
4602 Reported by Eric Norum.
4603
46041991-08-26 David J. MacKenzie <djm@pogo.gnu.ai.mit.edu>
4605
4606 * configure, Makefile.in: Only put $< in Makefiles if VPATH
4607 is being used, because older makes don't understand it.
4608
46091991-08-19 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4610
4611 * create.c: Indent '#pragma alloca' so non-ANSI compilers
4612 don't choke on it.
4613
46141991-08-14 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4615
4616 * list.c (UGSWIDTH): Increase from 11 (sort of like Unix tar) to
4617 18, so that with normal user and group names of <= 8 chars,
4618 the columns never shift in a tar -t listing.
4619
46201991-08-02 David J. MacKenzie <djm@apple-gunkies>
4621
4622 * Makefile.in (dist): Include texinfo.tex and tar.info*.
4623 (install): Install tar.info*.
4624 * configure: Set INSTALLDATA.
4625
4626 * configure: Create config.status. Remove it and Makefile if
4627 interrupted while creating them.
4628
4629 * configure: Check for +srcdir etc. arg and look for
4630 Makefile.in in that directory. Set VPATH if srcdir is not `.'.
4631 * Makefile.in: Add `prefix'.
4632 (tar.info): New target.
4633
46341991-07-30 David J. MacKenzie <djm@apple-gunkies>
4635
4636 * configure [FTIME_MISSING]: Instead of NEED_TZSET.
4637
46381991-07-29 David J. MacKenzie <djm@wombat.gnu.ai.mit.edu>
4639
4640 * port.c [F_CHSIZE]: Additional version.
4641
46421991-07-27 David J. MacKenzie <djm@wombat.gnu.ai.mit.edu>
4643
4644 * rmt.h: Clean up ifdefs.
4645
4646 * makefile.pc: Fix typo.
4647 * port.h [__MSDOS__]: Instead of MSDOS.
4648 [__MSDOS__]: Define off_t. Include io.h and not sys/param.h.
4649 [__TURBOC__]: Use void * and don't define const.
4650
46511991-07-26 David J. MacKenzie <djm@bleen>
4652
4653 * buffer.c: Rename `eof' to `hit_eof' to avoid conflict with an
4654 MSDOS function.
4655 * gnu.c (get_dir_contents): Return NULL, not "\0\0\0\0", on error.
4656 * diffarch.c (diff_archive): Open files in binary mode.
4657 Don't use or free a non-malloc'd return value from get_dir_contents.
4658 * msd_dir.c [__TURBOC__]: Include stdlib.h.
4659 * rmt.h: lseek returns off_t, not long.
4660
4661 * tar.c (describe): -X is +exclude-from, not +exclude.
4662 (names_notfound): Free memory only if amiga, not !unix.
4663
4664 * tar.h, tar.c: Add +null option to make -T read
4665 null-terminated filenames (such as those produced by GNU find
4666 -print0), and disable -C option.
4667 This guarantees that odd filenames will get archived.
4668 * tar.c (read_name_from_file): New function.
4669 (name_next): Call it instead of fgets.
4670 From David J. MacKenzie.
4671
46721991-07-24 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4673
4674 * create.c [_AIX]: Declare alloca.
4675
4676 * buffer.c (open_archive): Check for successful open before,
4677 not after, fstatting the fd.
4678
46791991-07-23 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4680
4681 * configure: Only define BSD42 if sys/file.h exists.
4682 If alloca is missing and /usr/ucblib exists (SVR4), use it
4683 instead of -lPW.
4684
4685 * port.h [!__STDC__]: #define const.
4686 * gnu.c (dirent_cmp): Fix args to agree with ANSI C prototype.
4687 * create.c: Declare ck_realloc.
4688 * gnu.c, diffarch.c: Move check for symlinks to after port.h include.
4689
46901991-07-20 David J. MacKenzie <djm@apple-gunkies>
4691
4692 * msd_dir.[ch]: Use POSIX-style `struct dirent' instead of
4693 `struct direct'.
4694 * create.c, gnu.c, tar.c: Adjust callers.
4695
46961991-07-18 David J. MacKenzie <djm@bleen>
4697
4698 * port.c (ck_malloc, ck_realloc): Return PTR, not char *.
4699 * gnu.c, create.c, tar.c: Fix decls.
4700
4701 * port.c: Don't use the preprocessor to guess missing
4702 functions on Unix; let configure do it.
4703 [WANT_GETWD] (getwd): Function removed; not needed because
4704 getcwd is used if needed.
4705 * gnu.c, tar.c [POSIX]: Use getcwd.
4706
4707 * rtapelib.c: Use SIGTYPE instead of testing SIGNAL_VOID.
4708 Default to void (more common these days) instead of int.
4709
4710 * tar.c, gnu.c, mangle.c: Remove VOIDSTAR defn. Use PTR instead.
4711 * port.h: Define PTR.
4712
4713 * gnu.c, tar.c [__MSDOS__ || USG]: Remove incorrect getcwd decl.
4714 [!POSIX]: Put correct one in port.h.
4715
4716 * tar.c (describe): Print on stdout instead of stderr; it's
4717 not so much a usage message (since you have to ask for it
4718 explicitly) as on-line help, and you really need to be able to
4719 page it because it's more than a screen long.
4720
4721 * Make #ifdefs for sys/file.h or fcntl.h, directory header,
4722 sys/mtio.h consistent between files. Use NO_MTIO instead of
4723 tricks with USG and HAVE_MTIO and NO_RMTIOCTL.
4724 * Move decls of ANSI C and POSIX functions to port.h and
4725 use standard headers to declare them if available
4726 [STDC_HEADERS or POSIX].
4727 * Add many missing function declarations and return types.
4728 * Some places used __MSDOS__, some MSDOS; standardize on __MSDOS__.
4729 * Change S_IF macros to S_IS for POSIX.
4730 * port.h: Define appropriate S_IS macros if missing.
4731 * port.h [POSIX]: Rename macros for testing exit status to conform to
4732 POSIX; use the system's versions if available.
4733 * Use POSIX PATH_MAX and NAME_MAX instead of MAXPATHLEN and MAXNAMLEN.
4734 * port.h: Define PATH_MAX and NAME_MAX.
4735 * create.c, gnu.c, tar.c: Use ck_malloc and free instead of
4736 auto arrays of size PATH_MAX or NAME_MAX, since with pathconf
4737 they might not be constants.
4738 * Move all definitions of O_* to port.h to reduce redundancy.
4739 * Make all source files that now need to include port.h do so.
4740 * port.c: Remove #undefs of WANT_* so you can use -DWANT_*
4741 when compiling, instead of having to edit port.c.
4742 [WANT_DUMB_GET_DATE] (get_date): Function removed.
4743 Even systems without bison can get bison output and compile it.
4744 [WANT_STRING] (index, rindex, bcopy, bzero, bcmp): Functions
4745 removed; the translation is now done by macros in port.h.
4746 * wildmat.c (wildmat): Use POSIX.2 '!' instead of '^' to negate
4747 character classes.
4748
47491991-07-15 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4750
4751 * testpad.c (main): Return type void.
4752
4753 * port.c [WANT_STRING]: Don't include memory.h if NO_MEMORY_H.
4754
4755 * create.c (dump_file) [AIX]: Fix typo, `allocate' for `alloca'.
4756 * gnu.c (collect_and_sort_names): Move misplaced brace out of #ifdef.
4757 Reported by Minh Tran-Le.
4758
4759 * configure: Also look in sys/signal.h for signal decl.
4760
47611991-07-10 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4762
4763 * Rename rtape_server.c to rmt.c and rtape_lib.c to rtapelib.c.
4764
4765 * configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL).
4766
47671991-07-09 David J. MacKenzie <djm@wookumz.gnu.ai.mit.edu>
4768
4769 * Most files: Refer to GPL version 2.
4770 * COPYING: Use version 2.
4771
4772 * port.c [__TURBOC__] (utime): New function.
4773
4774 * xmalloc: New function (just calls ck_malloc), for alloca.c
4775 and bison.simple (in getdate.y output).
4776
4777 * Makefile.in (AUX): Include alloca.c and tcexparg.c, a
4778 command line globber for Turbo C.
4779
47801991-07-08 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4781
4782 * testpad.c: Open and write to testpad.h instead of stdout,
4783 because some MS-DOS makes (Borland's at least) can't do
4784 redirection in commands.
4785 * Makefile.in: Don't redirect testpad output.
4786
47871991-07-08 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
4788
4789 * buffer.c (fl_read): Missing \n in printf.
4790
47911991-07-08 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4792
4793 * create.c, extract.c, gnu.c, diffarch.c, tar.c: Comment out
4794 unused variables.
4795
4796 * tar.c (options): Cast get_date arg to VOIDSTAR instead of
4797 `struct timeb *', since on some non-BSD systems the latter is
4798 undefined.
4799
48001991-07-06 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4801
4802 * Replace Makefile with configure, Makefile.in, and makefile.pc.
4803 Update README with current compilation instructions.
4804
4805 * port.c [WANT_RENAME] (rename): New function.
4806
48071991-07-03 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4808
4809 * testpad.c (main): Avoid warning from some compilers on array
4810 address.
4811
4812 * rtape_server.c (sys_errlist): Should be declared extern.
4813 Reported by Stuart Kemp.
4814
4815
48161991-07-01 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4817
4818 * Release of version 1.10; appropriate changes to README.
4819
4820 * create.c: Removed printf's about sparse files.
4821
48221991-06-21 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4823
4824 * list.c (skip_extended_headers): Userec was being called in
4825 the wrong place.
4826
48271991-06-20 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
4828
4829 * tar.h [STDC_MSG]: Use ANSI prototypes for msg and msg_perror,
4830 even if BSD42 is also.
4831
4832 * Makefile: Replace DESTDIR with bindir.
4833 (install): Don't install tar.texinfo. There's no standard
4834 place for texinfo files, and /usr/local/man is inappropriate.
4835 Add TAGS, distclean, and realclean targets and SHELL= line.
4836
4837 * version.c: Move old change history to bottom of ChangeLog.
4838
48391991-06-12 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4840
4841 * rtape_lib.c (__rmt_write) [SIGNAL_VOID]: Instead of USG.
4842
48431991-06-05 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4844
4845 * tar.c (name_match, addname): Ugly hack to handle -C without
4846 any files specified.
4847 tar.h (struct name): New field for ugly hack.
4848
48491991-06-03 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4850
4851 * testpad.c: New file to determine if we need special padding
4852 in struct header in tar.h.
4853
4854 * tar.h (struct header): include padding if necessary, include
4855 testpad.h.
4856
4857 * Makefile: rules to create testpad.h, etc.
4858
48591991-05-22 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
4860
4861 * tar.c (options): -L takes an argument.
4862
4863 * rtape_lib.c (__rmt_open): add /usr/bin/nsh to the list of
4864 remote shell programs.
4865
4866 * create.c: define MAXPATHLEN if we don't get it from a system
4867 header file.
4868
4869 * create.c (deal_with_sparse): return a real return value if
4870 we can't open the file.
4871
4872 * tar.c (long_options): +newer takes an argument.
4873 (describe): fix printing in various trivial ways
4874
48751991-05-21 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4876
4877 * tar.c (long_options): +get and +concatentate don't require arguments
4878
48791991-05-20 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4880
4881 * create.c (write_eot): Don't try and write an EOF if we are
4882 already at one.
4883
4884 * port.c (strstr): Looking for null string should return zero.
4885
48861991-05-19 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4887
4888 * tar.c (options): -l doesn't take an argument
4889
4890 * Makefile: Minor fix for SGI 4D defines.
4891 Reported by Andrew Torda.
4892
4893 * rtape_server.c (main.c): For 386/AIX. I'm suspicious about this
4894 one.
4895 * create.c (dump_file): For hidden files on AIX.
4896 gnu.c (collect_and_sort_name, get_dir_contents): AIX hidden file mod.
4897 Reported by Minh Tran-Le.
4898
4899 * tar.c: (name_next): Allow -C inside a file list given to -T.
4900 Reported by David Taylor.
4901
4902 * Makefile: Comment describing presence of USE_REXEC.
4903
4904 * extract.c (extract_archive, case LF_SPARSE): zero check for
4905 last element on numbytes needs to look at value after
4906 converted from octal.
4907
4908 * port.c [HAVE_STRSTR]: Check it, instead of always demanding strstr.
4909 Makefile: Comment describing presence of HAVE_STRSTR option.
4910
49111991-05-19 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
4912
4913 * port.c (get_date): Renamed from getdate, to avoid SVR4 conflict.
4914 * tar.c: Call get_date instead of getdate.
4915
49161991-05-10 Noah Friedman <friedman@nutrimat>
4917
4918 * tar.c: added "\n\" to the end of some documentation strings
4919 where they were left off.
4920
49211991-05-09 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4922
4923 * Makefile: added level-0, level-1, and backup-specs to AUX.
4924 * version.c: changed to 1.10 beta.
4925 * README: updated for 1.10 beta release.
4926
49271991-04-02 Michael I Bushnell <mib@godwin>
4928
4929 * create.c (dump_file): HPUX's st_blocks is in 1024 byte units
4930 instead of 512 like the rest of the world, so I special cased
4931 it.
4932 * tar.c: Undo Noah's changes.
4933
49341991-04-01 Noah Friedman <friedman@wookumz.gnu.ai.mit.edu>
4935
4936 (This ought to be temporary until things are fixed properly. )
4937
4938 * tar.c: (struct option long_options): flag for "sparse" zero if
4939 compiling under hpux.
4940 tar.c: (functon options): case 'S' is a no-op if compiling under
4941 hpux.
4942
49431991-03-30 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4944
4945 * tar.h: new variable tape_length.
4946
4947 * tar.c (options): add new option +tape-length / -L.
4948
4949 * buffer.c (fl_write): Turn #ifdef TEST code for limited tape
4950 length on always, for tape-length option.
4951
4952 * create.c (dump_file): avoid apollo lossage where S_IFIFO == S_IFSOCK.
4953
4954 * buffer.c: include regex.h
4955 * buffer.c (fl_read, open_archive): Use regex routines for
4956 volume header match.
4957 * xmalloc.c: removed file; wasn't necessary.
4958 * tar.c: (main) use ck_malloc instead of xmalloc.
4959
49601991-03-28 Noah Friedman <friedman@goldman>
4961
4962 * regex.c, regex.o: New links.
4963 * tar.c: include regex.h.
4964 * Makefile (OBJ2): Add regex.o.
4965 (regex.o, tar.o): Depend on regex.h
4966 (SRC2, AUX): Add the new files.
4967
49681991-03-23 Noah Friedman <friedman@wookumz.gnu.ai.mit.edu>
4969
4970 * Makefile: added default flags and options for compiling under
4971 hpux.
4972
4973 * Added files alloca.c and xmalloc.c.
4974
49751991-03-23 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
4976
4977 * port.c [HPUX]: Define WANT_VALLOC.
4978
49791991-03-15 David J. MacKenzie <djm@geech.ai.mit.edu>
4980
4981 * rtape_lib.c [USG && !HAVE_MTIO]: Define NO_RMTIOCTL automatically.
4982 (_rmt_rexec): Temporarily re-open stdin and stdout to
4983 /dev/tty, to guarantee that rexec() can prompt and read the
4984 login name and password from the user.
4985 * Makefile: Mention -DUSE_REXEC.
4986 Reported by Pascal Meheut.
4987
49881991-03-08 Michael I Bushnell <mib@wookumz.ai.mit.edu>
4989
4990 * tar.h, Makefile [HAVE_SIZE_T]: Might be useful for some people.
4991
4992 * gnu.c: lstat->stat define where appropriate
4993
4994 * buffer.c (fl_write): keep track of amount written for +totals.
4995 * tar.c, tar.h: set flag f_totals from +totals option.
4996 * tar.h (f_totals, tot_written): new variables.
4997 * tar.c (main): print total written with CMD_CREATE.
4998
4999 * tar.c (main): return appropriate exit status
5000
50011991-01-17 David J. MacKenzie <djm@apple-gunkies>
5002
5003 * port.c: Remove a spurious `+' between functions (a remnant
5004 of a context diff, apparently).
5005
50061991-01-09 Michael I Bushnell <mib@pogo.ai.mit.edu>
5007
5008 * create.c (where_is_data): Rewritten to be better, and then
5009 #ifdef-ed out.
5010 (deal_with_sparse): Severly pruned. Now we write or don't
5011 write only complete blocks, not worrying about partial blocks.
5012 This simplifies calculations, removes bugs, and elides the
5013 second scan through the block. The first was zero_record, the
5014 second was where_is_data.
5015
50161991-01-07 Michael I Bushnell <mib@wookumz.ai.mit.edu>
5017
5018 * create.c (deal_with_sparse): Second computation (for short
5019 reads) of numbytes increment had subtraction backwards.
5020 Need to handle calling where_is_data better when we did a
5021 short read (it might go past the end of the read), also, set
5022 sparsearray[...].offset in this case too.
5023
50241991-01-04 Jay Fenlason <hack@ai.mit.edu>
5025
5026 * buffer.c: Return a special error code if the archive
5027 you're trying to read starts with a different label than
5028 the one specified on the command line.
5029
50301991-01-02 Jay Fenlason <hack@ai.mit.edu>
5031
5032 * gnu.c: Prepend the current directory to the gnu_dumpfile, so that
5033 -C's won't affect where the output goes. (sigh.)
5034
50351990-12-18 Jay Fenlason <hack@ai.mit.edu>
5036
5037 * gnu.c: Don't complain if the gnudumpfile we're reading info
5038 from doesn't exist.
5039
5040 * create.c: Write out gnudumpfile after finishing writing the archive.
5041
5042 * tar.c: Add +exclude FNAME, and make +exclude-from do what +exclude
5043 used to.
5044 * Make +version an operation, not an option.
5045 * Add +confirmation alias for +interactive.
5046
50471990-12-04 Jay Fenlason <hack@ai.mit.edu>
5048
5049 * tar.c (check_exclude): Don't let MUMBLE match MUMBLE.c or
5050 fooMUMBLE but only foo/MUMBLE.
5051
5052 * mangle.c: New file.
5053 * create.c, extract.c: According changes.
5054
5055 * extract.c: Don't complain when extracting an already existing link.
5056 Don't complain when extracting a directory iff it already exists.
5057 Don't ad u+wx to directories when running as root.
5058 Reported by Chip Salzenberg.
5059
5060 * gnu.c: Make +listed-incremental work.
5061 Reported by Chip Salzenberg.
5062
5063 * port.c: Add the F_FREESP emulation of the ftruncate syscall.
5064
50651990-11-21 Jay Fenlason <hack@ai.mit.edu>
5066
5067 Remove excess \n from lots of msg() calls.
5068
50691990-11-19 Jay Fenlason <hack@ai.mit.edu>
5070
5071 * tar.c: Rename +volume to +label.
5072
50731990-11-16 David J. MacKenzie <djm@apple-gunkies>
5074
5075 * tar.c (describe): Include the default values for -b and -f
5076 (as set in the Makefile) in the message.
5077
50781990-11-15 Jay Fenlason <hack@ai.mit.edu>
5079
5080 * extract.c (extract_archive): Do the utime() call before the
5081 chmod() call, 'cuz some versons of utime() trash the file's mode
5082 bits.
5083
5084 * list.c (read_and): Call do_something on volume headers and
5085 multivol files even if they don't match the names we're looking
5086 for, etc.
5087
50881990-11-06 Jay Fenlason <hack@ai.mit.edu>
5089
5090 * port.c (un-quote-string): Don't try to write a null if there's
5091 already one there.
5092
50931990-11-01 Jay Fenlason <hack@ai.mit.edu>
5094
5095 * buffer.c (new_volume): fflush(msg_file) before reading for
5096 confirmation on new volume. On EOF or error, print error msg and
5097 abort.
5098
50991990-10-29 Jay Fenlason <hack@ai.mit.edu>
5100
5101 * getdate.y: Use new version of getdate().
5102
5103 * tar.c (name_add): Use sizeof(char *) instead of sizeof(int)
5104
5105 * README: Give the correct return address.
5106
51071990-10-25 Jay Fenlason <hack@ai.mit.edu>
5108
5109 rtape_lib.c [NO_RMTIOCTL]: Instead of RMTIOCTL, so it is on by default.
5110
5111 rmt.h [NO_REMOTE]: Add _isrmt() #define.
5112
5113 gnu.c: Add forward reference for add_dir_name().
5114
5115
51161990-10-16 Jay Fenlason <hack@ai.mit.edu>
5117
5118 Version 1.09 --- New -G file implementation of gnu-dump stuff.
5119
5120 * tar.c (name_add): Get the calls to ck_realloc and ck_malloc right.
5121
51221990-10-11 Jay Fenlason <hack@ai.mit.edu>
5123
5124 * gnu.c: Fix A couple of typos.
5125
51261990-09-19 David J. MacKenzie <djm@apple-gunkies>
5127
5128 * getdate.y [USG && !DAYLIGHT_MISSING] (ftime): Use `daylight'.
5129
51301990-09-17 Jay Fenlason <hack@ai.mit.edu>
5131
5132 * gnu.c (gnu_restore): Don't use a passed char* for the
5133 file name, use skipcrud+head->header.name, just like everything
5134 else does. This means that gnu_restore will still work with
5135 small buffers, etc.
5136
51371990-09-13 Jay Fenlason <hack@ai.mit.edu>
5138
5139 * tar.c (add_exclude): Don't bus-error if the exclude file doesn't
5140 end with a newline.
5141
51421990-09-09 David J. MacKenzie <djm@albert.ai.mit.edu>
5143
5144 * Makefile (dist): Remove .fname when done.
5145
51461990-09-06 Jay Fenlason <hack@ai.mti.edu>
5147
5148 * gnu.c (gnu_restore): Rember to skip_file() over the directory
5149 contents, even if we don't have to do anything with them.
5150
5151 * create.c, extract.c, diffarch.c: Free sparsearray after we're
5152 done with it.
5153
51541990-09-04 Jay Fenlason <hack@ai.mit.edu>
5155
5156 * Makefile: Include gnu.c in dist
5157
5158 * gnu.c: Move add_dir above read_dir_file so that cc doesn't
5159 complain about add_dir returning void.
5160
51611990-09-02 David J. MacKenzie <djm@apple-gunkies>
5162
5163 * getdate.y: Declare some more functions and add storage
5164 classes where omitted to shut compiler up.
5165 [USG] (ftime): Don't use extern var `daylight'; appears that
5166 some systems don't have it.
5167
51681990-08-29 David J. MacKenzie <djm@apple-gunkies>
5169
5170 * getdate.y (lookup): In the code that allows `Aug.' to be
5171 recognized as `Aug', don't chop off the final `.' from words
5172 like `a.m.', so they can be recognized.
5173
51741990-08-16 Jay Fenlason <hack@ai.mit.edu>
5175
5176 * buffer.c (open_archive): If -O, write verbosity to stderr
5177 instead of stdout.
5178
51791990-08-10 Jay Fenlason <hack@ai.mit.edu>
5180
5181 * getdate.y: Handle an explicit DST in the input string.
5182 Reported by Per Foreby.
5183
51841990-07-16 Jay Fenlason <hack@ai.mit.edu>
5185
5186 * tar.c: rename -g -G +incremental, +listed-imcremental, etc.
5187
51881990-07-13 Jay Fenlason <hack@ai.mit.edu>
5189
5190 * tar.c: Make +newer and +newer-mtime work according to their names.
5191
5192 * gnu.c: If +newer or +newer-mtime, use the time specified on the
5193 command line.
5194
5195 * buffer.c, create.c: Add test to see if dimwit is trying to
5196 archive the archive.
5197
5198 * tar.c (long_options[]): Re-ordered, so that groups of similar
5199 options are next to each other... I think.
5200
5201 (describe): Modified to more closely reflect reality.
5202
52031990-07-06 Jay Fenlason <hack@ai.mit.edu>
5204
5205 * tar.c: Add compile-time option for SYS V (?) style
5206 tape-drive names /dev/rmt/{n}[lmh]
5207
5208 * tar.c: Fix getopt-style stuff so that -C always works correctly.
5209
5210 * gnu.c, tar.c: Make filename to -G optional.
5211
5212 * {all over}: Replace some fprintf(stderr...) calls with calls
5213 to msg().
5214
5215 * port.c: Make -Dmumble_MSG option on command line override
5216 internal assumptions.
5217
5218 * Makefile: Mention -Dmumble_MSG options
5219
52201990-07-06 David J. MacKenzie <djm@apple-gunkies>
5221
5222 * tar.c (options): Don't change `c' if it is 0, as getopt now
5223 handles that internally.
5224
52251990-07-02 Jay Fenlason <hack@ai.mit.edu>
5226
5227 * gnu.c (new file): Moved all the f_gnudump stuff here where we
5228 can keep track of it easier. Also made -G take a file name where
5229 it stores the inode information about directories so that we can
5230 detect moved directores.
5231
5232 * create.c (dump_file): Changed slightly to work with the new
5233 f_gnudump.
5234
5235 * tar.c: Moved the f_gnudump stuff to gnu.c
5236
5237 * tar.c, extract.c: Added the +do-chown option, which forces tar
5238 to always try to chown the created files to their original owners.
5239
5240 * version.c: New version 1.09
5241
52421990-06-24 David J. MacKenzie <djm@albert.ai.mit.edu>
5243
5244 * create.c: Change ifdefs for directory library header
5245 selection to be like the ones in tar.c.
5246 * Makefile [Xenix]: Link with -ldir to get the dirent.h
5247 directory library.
5248
52491990-06-07 David J. MacKenzie <djm@albert.ai.mit.edu>
5250
5251 * Makefile, buffer.c, diffarch.c [HAVE_MTIO]: Instead of MTIO, as
5252 SCO Xenix defines 'MTIO' for an incompatible tape driver system in
5253 a file included by termio.h.
5254 * tar.h: Don't define size_t for Xenix.
5255
52561990-06-05 Jay Fenlason <hack@ai.mit.edu>
5257
5258 * create.c (dump_file): Only print the
5259 "... is on a different filesystem..." if f_verbose is on.
5260 also add a case for S_IFSOCK and treat it like a FIFO.
5261 (Not sure if that's the right thing to do or not, but it's better
5262 than all those Unknown File Type msgs.)
5263
52641990-05-31 Jay Fenlason <hack@ai.mit.edu>
5265
5266 * port.c [sparc]: Use instead of SPARC since the lowercase version
5267 is defined, and the uppercase one isn't.
5268
52691990-05-22 Jay Fenlason <hack@ai.mit.edu>
5270
5271 * port.c (ck_malloc): if size==0 pretend size=1
5272 (ck_realloc): if(!ptr) call ck_malloc instead.
5273
52741990-05-15 Jay Fenlason <hack@ai.mit.edu>
5275
5276 * diffarch.c (diff_archive): If not f_absolute_paths, and attempt
5277 to open a file listed in the archive fails, try /filename also.
5278 This will allow diff to open the wrong file if both /filename and
5279 filename exist, but there's nothing we can do about that.
5280
52811990-05-11 Jay Fenlason <hack@ai.mit.edu>
5282
5283 * Makefile: Describe new -DMTIO option.
5284
5285 * buffer.c, diffarch.c: Change ifdefs slightly, so that -DMTIO
5286 will include sys/mtio.h even if USG is defined. This is for HPUX
5287 and similar BSD/USG crossovers.
5288
52891990-05-08 Jay Fenlason <hack@ai.mit.edu>
5290
5291 * update.c (update_archive): Call reset_eof() when appropriate.
5292
5293 * buffer.c (reset_eof): New function, that turns of EOF flag, and
5294 re-sets the ar_record and ar_last pointers. This will allow
5295 'tar rf non-existant-file' to not core-dump.
5296
52971990-05-04 David J. MacKenzie <djm@albert.ai.mit.edu>
5298
5299 * tar.c: Recognize the +sparse option. It was documented, but
5300 only the short form (-S) was actually recognized.
5301
53021990-04-17 Jay Fenlason <hack@ai.mit.edu>
5303
5304 * create.c: Don't access location 0 if ->dir_contents is null.
5305
53061990-04-11 Jay Fenlason <hack@ai.mit.edu>
5307
5308 * buffer.c (flush_archive, close_archive, new_volume): Always
5309 check the return value of rmtclose(), and only give a warning msg
5310 if it is <0. Some device drivers (including Sun floppy disk, and
5311 HP streaming tape) return -1 after an IO error (or something like
5312 that.)
5313
53141990-03-23 Jim Kingdon <kingdon@mole.ai.mit.edu>
5315
5316 * tar.c (long_options): Make it so +append +extract +list +update
5317 +catenate and +delete don't take arguments.
5318
53191990-03-12 Jay Fenlason <hack@ai.mit.edu>
5320
5321 * buffer.c (open_archive, fl_write): Set the mtime of the volume
5322 header to the current time.
5323
53241990-03-07 Jay Fenlason <hack@ai.mit.edu>
5325
5326 * buffer.c Fix +compress-block A two character patch from
5327 Juha Sarlin.
5328 Replace #ifdef __GNU__ with #ifdef __STDC__.
5329 (new_volume): If open of new archive fails, ask again, as it
5330 probably is user error.
5331
5332 * tar.c: Replace #ifdef __GNU__ with #ifdef __STDC__
5333
5334 * port.c: Clean up #ifdef and #defines a bit.
5335 (quote_copy_string): Sometimes the malloc'd buffer would be up to
5336 two characters too short.
5337
5338 * extract.c (extract_archive): Don't declare ind static.
5339
5340 * create.c (dump_file): Don't declare index_offset static.
5341
5342 * diffarch.c: Remove diff_name variable, and always use
5343 head->header.name, which will always work, unlike diff_name, which
5344 becomes trash when the next block is read in.
5345
53461990-03-01 Jay Fenlason <hack@wookumz.ai.mit.edu>
5347
5348 * Makefile: Mention the -NO_REMOTE option.
5349 * port.c [i386]: Fix typo, and define WANT_FTRUNCATE.
5350
53511990-02-26 Jim Kingdon <kingdon@pogo.ai.mit.edu>
5352
5353 * getdate.y: Declare yylex and yyerror as static.
5354 #define yyparse to getdate_yyparse.
5355
53561990-02-25 David J. MacKenzie <djm@albert.ai.mit.edu>
5357
5358 * tar.c: Remove +old option, since it is a valid abbreviation of
5359 +old-archive, which does the same thing.
5360 (describe): A few small cleanups in message.
5361
53621990-02-05 Jay Fenlason <hack@wookumz>
5363
5364 * port.c [sparc]: Define LOSING_MSG, since doprnt_msg doesn't work.
5365 [WANT_GETWD]: Fix typo.
5366
5367
53681990-01-26 Jay Fenlason <hack@wookumz>
5369
5370 Version 1.08 --- Sparse file support added. Also various other
5371 features.
5372
5373 * diffarch.c (compare_chunk): Include correct arguments in
5374 a call to fprintf() for an error msg.
5375 (compare_chunks, compare_dir): First argument is a long, not an int.
5376
5377 * tar.c (options): Use tar variable (argv[0]) as the name to print
5378 in an error msg, instead of a constant "tar".
5379 (confirm): Use external variable char TTY_NAME[] for name of file
5380 to open for confirmation input.
5381
5382 * buffer.c (new_volume): Ditto.
5383
5384 * port.c: Add declaration for TTY_NAME[].
5385
5386 * rmt.h: Add long declarations for lseek() and __rmt_lseek();
5387
53881990-01-23 Jay Fenlason <hack@wookumz>
5389
5390 * tar.c, create.c: Create the +newer-mtime option, which is like
5391 +newer, but only looks for files whose mtime is newer than the
5392 given date.
5393
5394 * rtape_lib.c [USG]: Make *both* instances of signal-handler stuff
5395 use void (*foo)().
5396
53971990-01-11 Jay Fenlason <hack@wookumz>
5398
5399 * getdate.y : Parse European dates of the form YYMMDD.
5400 In ftime(): Init timezone by calling localtime(), and remember that
5401 timezone is in seconds, but we want timeb->timezone to be in minutes.
5402 Reported by Jörgen Haegg.
5403
5404 * rtape_lib.c (__rmt_open): Also look for /usr/bsd/rsh.
5405 Declare signal handler as returning void instead of int if USG is
5406 defined.
5407
5408 * port.c: Declare WANT_GETWD for SGI 4-D IRIS.
5409
5410 * Makefile: Include defines for SGI 4D version.
5411 Reported by Mike Muuss.
5412
5413 * buffer.c (fl_read): Work properly on broken Ultrix systems where
5414 read() returns -1 with errno==ENOSPC on end of tape. Correctly go
5415 on to the next volume if f_multivol.
5416
5417 * list.c (list_archive, print_header): Flush msg_file after
5418 printing messages.
5419
5420 * port.c: Delete unused references to alloca().
5421 Don't crash if malloc() returns zero in quote_copy_string.
5422 Flush stderr in msg() and msg_perror().
5423
5424 * tar.c: Flush msg_file after printing confirmation msg.
5425
54261990-01-10 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5427
5428 * tar.c (main): Change -help option and references to it to +help,
5429 and remove suggestion to run info (which is unreleased, so not
5430 likely to be of any help).
5431
54321990-01-09 Jay Fenlason <hack @wookumz>
5433
5434 * create.c (dump_file): Close file descriptor if start_header()
5435 fails.
5436 (dump_file): Change test for `./'-ness to not think that `.' {any
5437 character} is a `./'.
5438 Reported by Piercarlo Grandi.
5439
5440 * diffarch.c (diff_init): Print correct number of bytes in error
5441 message.
5442
54431990-01-09 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5444
5445 * Makefile: Add comment at top noting that two source files also
5446 contain #defines that might need to be changed by hand.
5447
5448 * create.c, diffarch.c, extract.c: Change L_SET to 0 in lseek
5449 calls, because only BSD defines it.
5450 * create.c (dump_file) [BSD42]: Make sparse file checking code
5451 conditional because it uses st_blocks, which the other systems lack.
5452
54531990-01-02 Jay Fenlason <hack@gnu>
5454
5455 * port.c (quote_copy_string): Fix so it doesn't scramble memory if
5456 the last character is non-printable.
5457 Reported by Kian-Tat Lim.
5458
54591989-12-19 Jim Kingdon <kingdon@pogo>
5460
5461 * port.c [BSD42]: Define DOPRNT_MSG.
5462 tar.h [BSD42]: Do not prototype msg{,_perror}.
5463
54641989-12-08 Jay Fenlason <hack@gnu>
5465
5466 * create.c (dump_file): Remove typo in msg.
5467
54681989-12-01 David J. MacKenzie <djm@trix>
5469
5470 * Makefile: Remove comments referring to certain systems lacking
5471 getopt, since it is now provided always and needed by all systems.
5472
5473 * port.c: Remove copy of getopt.c, as it is now linked in
5474 separately to always get the current version.
5475
5476 * tar.c: Rename +cat-tars option to +catenate or +concatenate,
5477 and +local-filesystem to +one-file-system (preferred by rms
5478 and used in GNU cp for the same purpose).
5479 (describe): Reflect changes.
5480
54811989-11-28 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5482
5483 * port.c: Move declaration of alloca into #else /* sparc */
5484 so it will compile on sparcs.
5485
54861989-11-27 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5487
5488 * tar.c (options): Remove -version option (replaced by +version).
5489 (describe): Mention long options.
5490
54911989-11-25 David J. MacKenzie <djm@hobbes.ai.mit.edu>
5492
5493 * getoldopt.c (getoldopt): Make `opt_index' argument a pointer to
5494 an int, not char.
5495
5496 * tar.c: Modify long options per rms's suggestions:
5497 Make preserve-permissions an alias for same-permissions.
5498 Make preserve-order an alias for same-order.
5499 Define preserve to mean both of those combined.
5500 Make old an alias for old-archive.
5501 Make portability an alias for old-archive, also.
5502 Rename sym-links to dereference.
5503 Rename gnudump to incremental.
5504 Rename filename to file.
5505 Make compare an alias for diff. Leave diff but prefer compare.
5506 Rename blocking-factor to block-size.
5507 Rename chdir to directory.
5508 Make uncompress an alias for compress.
5509 Rename confirm to interactive.
5510 Make get an alias for extract.
5511 Rename volume-header to volume.
5512
5513 Also make +version an alias for -version.
5514
5515 (options): Shorten code that interprets long options by using
5516 the equivalent short options' code. This also makes it tons
5517 easier to change the long options.
5518
5519 (describe): Make usage message more internally consistent
5520 stylistically.
5521
55221989-11-20 hack@ai.mit.edu
5523
5524 * list.c (read_and): Call check_exclude() to see if the files
5525 should be skipped on extract or list.
5526
55271989-11-09 Jim Kingdon <kingdon@hobbes.ai.mit.edu>
5528
5529 * buffer.c (fl_read): Fix typos in error message
5530 "tar EOF not on block boundary".
5531
55321989-10-23 <hack@ai.mit.edu>
5533
5534 * tar.c (long_options[]): Add an option for blocked compression.
5535
55361989-10-19 <hack@ai.mit.edu>
5537
5538 * buffer.c (writeerror): Print a more useful error msg.
5539
55401989-09-27 <hack@ai.mit.edu>
5541
5542 * tar.c (main): Mention "tar -help" if the luser types a non-workable
5543 set of options.
5544
55451989-09-11 <hack@ai.mit.edu>
5546
5547 * tar.c (options): Have -F correctly set info_script.
5548
55491989-08-29 <hack@ai.mit.edu>
5550
5551 * Makefile Include ChangeLog in tar.tar and tar.tar.Z
5552
55531989-08-28 <hack@ai.mit.edu>
5554
5555 * tar.c (options) Made -F imply -M.
5556 Also remind tar that the -f option takes an argument!
5557
5558 * Modified -F option to make it do what (I think) it
5559 should. e.g, if you say -F, tar won't send a msg to
5560 msg_file and wait for a <return> It'll just run the program
5561 it was given, and when the prog returns, the new tape had
5562 *better* be ready...
5563
5564 * buffer.c (open_archive): Give error message and abort if
5565 the luser didn't give an archive name.
5566
55671989-08-25 Joy Kendall <jak@hobbes>
5568
5569 * Added code to make a new option to run a specified script at
5570 the end of each tape in a multi-volume backup. Changed: tar.c:
5571 made new switch, -F, and new long-named option, "info-script".
5572 Code is where you would expect.
5573 * tar.h: added flag f_run_script_at_end, and an extern char *
5574 called info_script, which optarg gets set to.
5575 * buffer.c (new_volume): if f_run_script_at_end is set, we give
5576 info_script to system(), otherwise we do what we've always done.
5577
55781989-08-24 Joy Kendall <jak@spiff>
5579(These changes made over the course of 6/89 - 8/89)
5580
5581 * diffarch.c: diff_archive: Added switches for LF_SPARSE in the
5582 case statements that needed it. Also, skip any extended headers
5583 if we need to when we skip over a file. (need to change the bit
5584 about, if the size doesn't agree AND the file is NOT sparse,
5585 then there's a discrepancy, because I added another field to
5586 the header which should be able to deal with the sizes): If
5587 the file is sparse, call the added routine "diff_sparse_files"
5588 to compare. Also added routine "fill_in_sparse_array".
5589
5590 * extract.c: extract_archive: added the switch LF_SPARSE to the
5591 case statement as needed, and code to treat the sparse file.
5592 At label "again_file", modified opening the file to see if we
5593 should have O_APPEND be one of the modes. Added code at label
5594 "extract_file" to call the new routine "extract_sparse_file"
5595 when we have an LF_SPARSE flag.
5596
5597 Note: really should erase the commented-out code in there,
5598 because it's confusing.
5599
5600 * update.c: made sure that if a file needed to be "skipped"
5601 over, it would check to see if the linkflag was sparse, and if
5602 so, would then make sure to skip over any "extended headers"
5603 that might come after the header itself. Do so by calling
5604 "skip_extended_headers".
5605
5606 * create.c: create_archive: added code to detect a sparse file
5607 when in the long case statement. Added ways to detect extended
5608 headers, and label "extend" (ack! should get rid of that, is
5609 atrocious). Call the new routine "finish_sparse_file" if the
5610 linkflag is LF_SPARSE to write the info to the tape. Also added
5611 routines "init_sparsearray", "deal_with_sparse", "clear_buffer",
5612 "where_is_data", "zero_record", and "find_new_file_size".
5613
5614 * tar.h: Added the #define's SPARSE_EXT_HDR and SPARSE_IN_HDR.
5615 Added the struct sparse and the struct sp_array. Added the
5616 linkflag LF_SPARSE. Changed the tar header in several ways:
5617 - added an array of struct sparse's SPARSE_IN_HDR long
5618 - added a char flag isextended
5619 - added a char string realsize to store the true size of a sparse file
5620 Added another choice to the union record called a struct
5621 extended_header, which is an array of 21 struct sparse's and a
5622 char isextended flag. Added flag f_sparse_file to list of flags.
5623
5624 * tar.c: added long-named options to make tar compatible with
5625 getopt_long, changed Makefile.
5626
56271989-03-03 David MacKenzie (edf at rocky2.rockefeller.edu)
5628(I'm not completely sure all these have been integrated -- FP.)
5629
5630 * buffer.c [USG]: ifdef'd out #include <sys/file.h>.
5631 (close_archive): SysV doesn't have ftruncate, so substituted
5632 fmtwrite (just copied the code for MS-DOS).
5633 * create.c: Unos lacks <sys/sysmacros.h> so provided a substitute.
5634 (start_header): Only strip leading paths if f_relative_paths is true.
5635 * extract.c:
5636 (extract_archive): Only strip leading paths if
5637 f_relative_paths is true. Because the Unos filesystem has
5638 only one timestamp, moved the utime call to after the chown
5639 and chmod calls.
5640 * getdate.y: Don't define ftime if Unos.
5641 * list.c: Defined size_t for Unos. [USG]: Don't include <sys/file.h>.
5642 Define <sys/sysmacros> stuff manually for Unos.
5643 (decode_header): Add braces around switch cases; some compilers
5644 require them.
5645 (print_header): Changed UGSWIDTH from 11 to 25 because the smaller
5646 value made tape listings of files owned by more than one user
5647 gradually get wider, making them hard to read.
5648 * port.c: Don't include <sys/file.h> if SysV. Define
5649 size_t for Unos.
5650 (mkdir): Add code to support Unos makedir sys call.
5651 (getopt): Use malloc instead of alloca, because tar doesn't
5652 use alloca anywhere else and many systems lack it. A few other
5653 changes from the current version of getopt.c incorporated.
5654 * rtape_lib.c: Undefine RMTIOCTL. Doesn't seem to be needed,
5655 and can't compile on Unos/SysV with it defined. Might need to be
5656 ifdef'd.
5657 * tar.c: Alias addname to add_name and rmdir to deldir on Unos
5658 due to C library weirdness.
5659 (options): Recognize new -P option to set f_relative paths.
5660 (describe): Clean up error message and add -P description.
5661 * tar.h: Add variable, f_relative_paths, to cause tar to strip
5662 leading `/' characters in pathnames during create and extract.
5663 * tar.texinfo: Fixed a couple of typos, detected by texi2roff.
5664 * update.c: Simulate <sys/sysmacros.h> for Unos.
5665
5666
5667Previous releases by Jay Fenlason (hack@ai.mit.edu)
5668
5669 * Version 1.07 --- New version to go on beta tape with GCC 1.35.
5670 Better USG support. Also support for __builtin_alloca if we're
5671 compiling with GCC.
5672
5673 * diffarch.c: Include the correct header files so MTIOCTOP
5674 is defined.
5675 * tar.c: Don't print the verbose list of options unless
5676 given -help. The list of options is *way* too long.
5677
5678 * Version 1.06 --- [__STDC__]: Use STDC_MSG.
5679 ENXIO meand end-of-volume in archive (for the UNIX PC)
5680 Added break after volume-header case (line 440) extract.c
5681 Added patch to rtape_lib.c (reported by Arnold Robbins).
5682 Added f_absolute_paths option.
5683 Deleted refereces to UN*X manual sections (dump(8), etc)
5684 Fixed to not core-dump on illegal options
5685 Modified msg_perror to call perror("") instead of perror(0)
5686 patch so -X - works
5687 Fixed tar.c so 'tar cf - -C dir' doesn't core-dump
5688 tar.c (name_match): Fixed to chdir() to the appropriate
5689 directory if the matching name's change_dir is set. This
5690 makes tar xv -C foo {files} work.
5691
5692 * Version 1.05 --- A fix to make confirm() work when the archive is
5693 on stdin; include 'extern FILE *msg_file;' in pr_mkdir().
5694 * tar.h [__STDC__]: Fix to work.
5695
5696 Added to port.c: mkdir() ftruncate(): Removed: lstat()
5697 Fixed -G to work with -X
5698 Another fix to tar.texinfo
5699 Changed tar.c to say argv[0]":you must specify exactly ...
5700 buffer.c: modified child_open() to keep tar from hanging when
5701 it is done reading/writing a compressed archive
5702 added fflush(msg_file) before printing error messages
5703 create.c: fixed to make link_names non-absolute
5704
5705 * Version 1.04 --- Added functions msg() and msg_perror(): Modified
5706 all the files to call them. Also checked that all (I hope) calls
5707 to msg_perror() have a valid errno value.
5708 (modified anno() to leave errno alone), etc.
5709 Re-fixed the -X option. This time for sure...
5710 re-modified the msg stuff. flushed anno() completely
5711 Modified the directory stuff so it should work on sysV boxes
5712 added ftime() to getdate.y
5713 Fixed un_quote_string() so it won't wedge on \" Also fixed
5714 \ddd (like \123, etc)
5715 More fixes to tar.texinfo
5716
5717 * Version 1.03 --- Fixed buffer.c so 'tar tzf NON_EXISTENT_FILE'
5718 returns an error message instead of hanging forever.
5719 More fixes to tar.texinfo.
5720
5721 * Version 1.02 --- Fixed tar.c so 'tar -h' and 'tar -v' don't cause
5722 core dump. Also fixed the 'usage' message to be more up-to-date.
5723 * diffarch.c [!MTIOCTOP]: Fixed so verify should compile.
5724
5725 * Version 1.01 --- Fixed typoes in tar.texinfo.
5726 Fixed a bug in the #define for rmtcreat().
5727 Fixed the -X option to not call realloc() of 0.
5728
5729 * Version 1.00 --- version.c added. -version option added.
5730 Installed new version of the remote-tape library.
5731 Added -help option.
5732
5733
5734----- tests/ChangeLog -----
5735
57361997-04-25 François Pinard <pinard@iro.umontreal.ca>
5737
5738 * Release 1.12.
5739
5740 * gzip.sh, ignfail.sh: Adjust to new delayed error exit message.
5741
5742 * Makefile.am (BUILT_SOURCES): Define as preset, so preset is
5743 regenerated if configuration changes.
5744
5745 * Makefile.am (TESTS): Nevertheless include delete01.sh.
5746 (POSTPONED_TESTS): Adjusted.
5747 Reported by Andreas Schwab.
5748
5749 * delete02.sh: Mention f - explicitly, do not assume it, in case
5750 $TAPE is defined or the default archive has been overridden.
5751 Reported by Andreas Schwab.
5752
57531997-04-24 François Pinard <pinard@iro.umontreal.ca>
5754
5755 * after: Unredirect stdout and stderr before removing the files.
5756 If redirections are to NFS files, removing them while they are
5757 still opened may have strange effects, failing almost all tests.
5758 Reported by Kaveh R. Ghazi.
5759
57601997-04-22 François Pinard <pinard@iro.umontreal.ca>
5761
5762 * Prerelease 1.11q.
5763
5764 * extrac03.sh: New file.
5765 * Makefile.am (TESTS): Adjusted.
5766 Reported by Marc Boucher.
5767
5768 * preset.in (LC_MESSAGES): Clear value before tests.
5769 Reported by Sven Verdoolaege.
5770
5771 * Makefile.am (INCLUDES): Adjust so config.h gets found.
5772
5773 * genfile.c (usage): Corrected.
5774
5775 * delete01.sh: New name for delete.sh.
5776 * delete02.sh: New file.
5777 * Makefile.am (TESTS): Adjusted.
5778 Reported by Vince Del Vecchio.
5779
5780 * Makefile.am (POSTPONED_TESTS): To contain the --delete tests.
5781 (TESTS): Adjusted.
5782 (EXTRA_DIST): Include $(POSTPONED_TESTS). The purpose is getting
5783 the tests distributed, but not executed. These flaky tests are to
5784 be addressed only after 1.12 is released.
5785
57861997-04-19 François Pinard <pinard@iro.umontreal.ca>
5787
5788 * Makefile.am (AUTOMAKE_OPTIONS): Declare ../src/ansi2knr.
5789 * (DEFS): New, for defining LOCALEDIR.
5790 * (genfile.o): Deleted, will be implied from DEFS above.
5791 Reported by Bruno Haible and Kaveh R. Ghazi.
5792
57931997-04-17 François Pinard <pinard@iro.umontreal.ca>
5794
5795 * Prerelease 1.11p.
5796
5797 * genfile.c (usage): Add a program description.
5798 (main): Output --version according to recent GNU standards.
5799
58001997-04-15 François Pinard <pinard@iro.umontreal.ca>
5801
5802 * ignfail.sh: Ensure the test does not fail if run as super-user.
5803 Reported by John David Anglin.
5804
58051997-04-12 François Pinard <pinard@iro.umontreal.ca>
5806
5807 * genfile.c (pattern): Remove trailing comma for last enum item.
5808 Reported by Bruno Haible.
5809
58101997-04-11 François Pinard <pinard@iro.umontreal.ca>
5811
5812 * Prerelease 1.11o.
5813
58141997-03-29 François Pinard <pinard@iro.umontreal.ca>
5815
5816 * ignfail.sh: New file.
5817 * Makefile.am (TESTS): Adjusted.
5818 Reported by Ralph Schleicher.
5819
58201997-03-24 François Pinard <pinard@iro.umontreal.ca>
5821
5822 * genfile.c: Implement --pattern=default/zeros.
5823
58241997-02-25 François Pinard <pinard@iro.umontreal.ca>
5825
5826 * old.sh: New file.
5827 * Makefile.am (TESTS): Adjusted.
5828 Reported by Daniel Trinkle.
5829
58301997-01-21 François Pinard <pinard@iro.umontreal.ca>
5831
5832 * extrac01.sh: New name for extract.sh.
5833 * extrac02.sh: New file.
5834 * Makefile.am (TESTS): Adjusted.
5835 Reported by Axel Boldt.
5836
58371996-11-25 François Pinard <pinard@iro.umontreal.ca>
5838
5839 * genfile.c (usage): Typo in message.
5840 Reported by Christian Kirsch.
5841
58421996-11-22 François Pinard <pinard@iro.umontreal.ca>
5843
5844 * incremen.sh: New file.
5845 Reported by Wolfram Wagner.
5846
5847 * append.sh, delete.sh: New files.
5848 * Makefile.am (TESTS): Adjusted.
5849 Reported by Andreas Schwab.
5850
5851 * before: Ensure .. on PATH, so genfile may be found.
5852 * Makefile.am ($(TESTS)): Depend on genfile, waiting for Automake
5853 to be adjusted to do the proper thing for parallel make.
5854
5855 * gzip.sh: New name for childerr.sh.
5856 * extract.sh: New name for direxist.sh.
5857 * volume.sh: New name for volcheck.sh.
5858 * Makefile.am: Adjusted.
5859
5860 * All tests: Use set -e whenever appropriate. Use "" instead of
5861 '' for out and err, so allowing us to use escaped newlines. In
5862 case of multiple output in a single test, ensure separator lines.
5863
58641996-11-06 François Pinard <pinard@iro.umontreal.ca>
5865
5866 * Prerelease 1.11.13.
5867
5868 * childerr.sh, direxist.sh, volcheck.sh: Use sh, not bash.
5869 Reported by John David Anglin.
5870
58711996-09-20 François Pinard <pinard@iro.umontreal.ca>
5872
5873 * volcheck.sh: New.
5874 * Makefile.am (TESTS): Adjusted.
5875
58761996-09-19 François Pinard <pinard@iro.umontreal.ca>
5877
5878 * Prerelease 1.11.12.
5879
5880 * Makefile.am ($(TESTS)): Depend on preset.
5881 * version.sh (PATH): Adjust for multi-line --version output.
5882 * preset.in (LANG, LANGUAGE): Export them, so gzip does not
5883 localise its own output.
5884 (echo_n, echo_c): Define from the result of echo configuration.
5885 * after: Handle echo with newline suppressed.
5886
58871996-09-09 François Pinard <pinard@iro.umontreal.ca>
5888
5889 * childerr.sh, direxist.sh, before, after: New files.
5890 * Makefile.am: Adjusted.
5891
58921996-09-04 François Pinard <pinard@iro.umontreal.ca>
5893
5894 * ChangeLog, Makefile.am, pretest.in, version.sh: New files.
5895 * checktar.sh, genfile.c: New files, moved from src/.
5896
5897 A regression test is an old dream for GNU tar.
5898 Reported by Tom Tromey and Robert Bernstein.
Note: See TracBrowser for help on using the repository browser.