]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - contrib/cpio/ChangeLog
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / contrib / cpio / ChangeLog
1 2004-12-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
2
3         Released version 2.6. Sources up to this point are tagged
4         release_2_6.
5
6         * configure.ac: Raised version number to 2.6
7         * NEWS: Likewise
8         * bootstrap (update_po): Give -r to wget. Always remove index.html
9         Ignore alloca-opt module (it duplicates alloca)
10
11 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12
13         * src/main.c (enum cpio_options): Bugfix: Initialize first enum
14         value to 256.
15         * bootstrap: Add unlocked-io
16         * headers/argp.h: Removed
17         * headers/getopt.h: Removed
18         * headers/Makefile.am: Updated
19
20 2004-10-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21
22         * src/copyout.c: Add trailing slash to directory names in
23         ustar format.
24         * src/makepath.c: Removed redeclaration of error().
25         * src/tar.c: Fixed deviations from POSIX.1-1988:
26         Properly split long file names. Fill in octal fields with zeros,
27         not spaces. Save only protection modes, not the whole mode.
28         
29         * NEWS: Updated
30
31 2004-09-08  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
32
33         * NEWS: Updated
34         * TODO: Updated
35         * bootstrap: Install po files by default
36         * po/LINGUAS: Removed. File is generated automatically
37         * po/.cvsignore: Updated
38         * src/copyin.c: Implemented --to-stdout option
39         * src/copyout.c: Display the annoying 'truncating inode number'
40         message only if the user wishes it.
41         * src/extern.h: Added new globals.
42         * src/global.c: Likewise.
43
44         * src/main.c: Added support for --to-stdout and --warning options
45         * src/tar.c (read_in_tar_header): Use warn_junk_bytes()
46         * src/util.c (create_all_directories): Use dir_name.
47
48         * configure.ac: Added support for the test suite
49         * Makefile.am: Likewise
50
51         * tests: New directory
52         * tests/.cvsignore: New file
53         * tests/Makefile.am: New file
54         * tests/testsuite.at: New file
55         * tests/inout.at: New file
56         * tests/version.at: New file
57         * tests/atlocal.in: New file
58         
59 2004-09-07  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60
61         * src/main.c (process_args): Bugfix. Allow extra arguments
62         in copy_in mode.
63         * src/util.c (write_nuls_to_file): Use buffered I/O. All
64         callers changed. Thanks Matthew Braithwaite <mab@cnet.com>
65         for noticing.
66         Bugfix: extra_bytes was mistakenly used instead of blocks.
67         * THANKS: Added Matthew Braithwaite.
68
69 2004-09-06  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70
71         Started merging with tar into paxutils. Sources before
72         this point are tagged alpha-2_50_90.
73         
74         * bootstrap: New file
75         * autogen.sh: Removed
76         * Makefile.am: Updated
77         * NEWS: Updated
78         * README-alpha: Updated
79         * configure.ac: Updated
80         * doc/cpio.1: Updated
81         * po/POTFILES.in: Updated
82
83         * src/Makefile.am: Updated
84         * src/error.c: Removed
85         * src/dirname.c: Likewise
86         * src/xmalloc.c: Likewise
87         * src/stripslash.c: Likewise
88         * src/xstrdup.c
89         * src/gettext.h: Likewise
90         * src/system.h: Likewise
91         * src/rmt.h: Likewise
92         * src/getopt.c: Likewise
93         * src/getopt1.c: Likewise
94         * src/bcopy.c: Likewise
95         * src/fnmatch.c: Likewise
96         * src/mkdir.c: Likewise
97         * src/strdup.c: Likewise
98         * src/argp-ba.c: Likewise
99         * src/argp-eexst.c: Likewise
100         * src/argp-fmtstream.c: Likewise
101         * src/argp-fs-xinl.c: Likewise
102         * src/argp-help.c: Likewise
103         * src/argp-parse.c: Likewise
104         * src/argp-pv.c: Likewise
105         * src/argp-pvh.c: Likewise
106         * src/argp-xinl.c: Likewise
107         * src/pin.c: Likewise
108         * src/alloca.c: Likewise
109         * src/argmatch.c: Likewise
110         * src/rmt.c: Likewise
111         * src/rtapelib.c: Likewise
112         * src/strerror.c: Likewise
113         
114         * src/copyin.c: Switched to ANSI C (sigh)
115         * src/copyout.c: Likewise
116         * src/copypass.c: Likewise
117         * src/defer.c: Likewise
118         * src/defer.h: Likewise
119         * src/dstring.c: Likewise
120         * src/dstring.h: Likewise
121         * src/extern.h: Likewise
122         * src/filemode.c: Likewise
123         * src/global.c: Likewise
124         * src/idcache.c: Likewise
125         * src/main.c: Likewise
126         * src/makepath.c: Likewise
127         * src/mt.c: Likewise
128         * src/tar.c: Likewise
129         * src/userspec.c: Likewise
130         * src/util.c: Likewise
131
132         * lib: New directory
133         * lib/Makefile.tmpl: New file
134         * lib/bcopy.c: Moved from ../src
135         * lib/mkdir.c: Likewise.
136         * lib/strdup.c: Likewise.
137         * lib/strerror.c: Likewise.
138         
139 2004-08-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
140
141         * Makefile.am: Added headers to SUBDIRS.
142         * configure.ac: Check for AC_SYS_LARGEFILE.
143         Use AC_CONFIG_LINKS to provide for fnmatch.h and getopt.h on
144         the systems where these are missing
145         Check for argp and replace it if necessary.
146         * src/Makefile.am: Updated
147         * src/fnmatch.h: Moved to headers/
148         * src/getopt.h: Likewise.
149         * src/main.c: Option parsing rewritten using argp. Improved
150         option consistency checking.
151         * src/rmt.c: Include getopt.h
152
153         * src/argp-ba.c: New file
154         * src/argp-eexst.c: New file
155         * src/argp-fmtstream.c: New file
156         * src/argp-fs-xinl.c: New file
157         * src/argp-help.c: New file
158         * src/argp-parse.c: New file
159         * src/argp-pv.c: New file
160         * src/argp-pvh.c: New file
161         * src/argp-xinl.c: New file
162         * src/pin.c: New file
163
164         * headers: New directory
165         * headers/Makefile.am: New file
166         * headers/getopt.h: New file
167         * headers/argp.h: New file
168         * headers/fnmatch.h: New file
169         * headers/.cvsignore: New file
170         
171 2004-03-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
172
173         * src/util.c (copy_files_disk_to_disk): Bugfix. If a file
174         grew n bytes in copy-pass mode, these n bytes got prepended
175         to the contents of all subsequent files. Fix provided by
176         Holger Fleischmann <holger_fleischmann@mra.man.de>
177         * THANKS: Added Holger Fleischmann.
178
179 2004-02-27  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
180
181         * src/makepath.c: Remove unneded typedefs
182         
183         * src/copyin.c: Remove __MSDOS__ conditionals
184         * src/copyout.c: Likewise
185         * src/copypass.c: Likewise
186         * src/main.c: Likewise
187         * src/tar.c: Likewise
188         * src/util.c: Likewise
189         
190 2004-02-27  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
191         
192         Changed from flat to deep package layout. Added the framework
193         for NLS support.
194         
195         * .cvsignore: Updated
196         * Makefile.am: Updated
197         * configure.ac: Updated
198         * NEWS: Updated
199         * README-alpha: Updated
200         * THANKS: Updated
201
202         * autogen.sh: New file
203         
204         * alloca.c: Moved to src
205         * argmatch.c: Likewise
206         * bcopy.c: Likewise
207         * dstring.h: Likewise
208         * copyin.c: Likewise
209         * copyout.c: Likewise
210         * copypass.c: Likewise
211         * cpio.h: Likewise
212         * cpiohdr.h: Likewise
213         * defer.c: Likewise
214         * defer.h: Likewise
215         * dirname.c: Likewise
216         * dstring.c: Likewise
217         * dstring.h: Likewise
218         * error.c: Likewise
219         * extern.h: Likewise
220         * filemode.c: Likewise
221         * filetypes.h: Likewise
222         * fnmatch.c: Likewise
223         * fnmatch.h: Likewise
224         * getopt.c: Likewise
225         * getopt.h: Likewise
226         * getopt1.c: Likewise
227         * global.c: Likewise
228         * idcache.c: Likewise
229         * main.c: Likewise
230         * makepath.c: Likewise
231         * mkdir.c: Likewise
232         * mt.c: Likewise
233         * rmt.c: Likewise
234         * rmt.h: Likewise
235         * rtapelib.c: Likewise
236         * safe-stat.h: Likewise
237         * strdup.c: Likewise
238         * strerror.c: Likewise
239         * stripslash.c: Likewise
240         * system.h: Likewise
241         * tar.c: Likewise
242         * tar.h: Likewise
243         * tarhdr.h: Likewise
244         * userspec.c: Likewise
245         * util.c: Likewise
246         * xmalloc.c: Likewise
247         * xstrdup.c: Likewise
248
249         * cpio.1: Moved to doc
250         * cpio.texi: Likewise
251         * mt.1: Likewise
252
253         * src: New directory
254         * src/.cvsignore: New file
255         * src/Makefile.am: Likewise
256         * src/alloca.c: Likewise
257         * src/argmatch.c: Likewise
258         * src/bcopy.c: Likewise
259         * src/copyin.c: Likewise
260         * src/copyout.c: Likewise
261         * src/copypass.c: Likewise
262         * src/cpio.h: Likewise
263         * src/cpiohdr.h: Likewise
264         * src/defer.c: Likewise
265         * src/defer.h: Likewise
266         * src/dirname.c: Likewise
267         * src/dstring.c: Likewise
268         * src/dstring.h: Likewise
269         * src/error.c: Likewise
270         * src/extern.h: Likewise
271         * src/filemode.c: Likewise
272         * src/filetypes.h: Likewise
273         * src/fnmatch.c: Likewise
274         * src/fnmatch.h: Likewise
275         * src/getopt.c: Likewise
276         * src/getopt.h: Likewise
277         * src/getopt1.c: Likewise
278         * src/gettext.h: Likewise
279         * src/global.c: Likewise
280         * src/idcache.c: Likewise
281         * src/main.c: Likewise
282         * src/makepath.c: Likewise
283         * src/mkdir.c: Likewise
284         * src/mt.c: Likewise
285         * src/rmt.c: Likewise
286         * src/rmt.h: Likewise
287         * src/rtapelib.c: Likewise
288         * src/safe-stat.h: Likewise
289         * src/strdup.c: Likewise
290         * src/strerror.c: Likewise
291         * src/stripslash.c: Likewise
292         * src/system.h: Likewise
293         * src/tar.c: Likewise
294         * src/tar.h: Likewise
295         * src/tarhdr.h: Likewise
296         * src/userspec.c: Likewise
297         * src/util.c: Likewise
298         * src/xmalloc.c: Likewise
299         * src/xstrdup.c: Likewise
300
301         * doc: New directory
302         * doc/.cvsignore: New file
303         * doc/Makefile.am: New file
304         * doc/cpio.1: New file
305         * doc/cpio.info: New file
306         * doc/cpio.texi: New file
307         * doc/mt.1: New file
308
309         * po: New directory
310         * po/.cvsignore: New file
311         * po/LINGUAS: New file
312         * po/Makevars: New file
313         * po/POTFILES.in: New file
314         
315 2003-11-28  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
316
317         * configure.ac: Added various checks
318         * Makefile.am (rmt_LDADD): Added.
319         * error.c: Updated
320         * rmt.c: Removed useless private_errstring
321         * system.h: Updated
322         * userspec.c: Changed the way of handling declared vs. undeclared
323         system calls.
324         * strerror.c: New file. Borrowed from GNU Radius.
325
326         * copyin.c: Removed kludgy declaration of delayed_seek_count.
327         * copypass.c: Likewise
328         * extern.h: Declare delayed_seek_count.
329         * mkdir.c: Fixed handling of undeclared errno
330         * mt.c: Likewise
331         * util.c: Likewise
332         * rtapelib.c: Likewise
333         
334 2003-11-28  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
335
336         * TODO: New file
337
338         * README-alpha: New file
339         * Makefile.am: Require at least version 1.7.1
340         * configure.ac: Check for locale.h
341         * main.c (main): Call setlocale. Thanks
342         Mitsuru Chinen <mchinen@yamato.ibm.com> for the patch.
343         * THANKS: Updated
344         
345 2003-11-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
346
347         * configure.ac: Added to the repository
348         * Makefile.am: Likewise
349         * NEWS: Likewise
350         * README: Likewise
351         * AUTHORS: Likewise
352         * .cvsignore: Likewise
353         
354         * configure.in: Removed
355         * Makefile.in: Removed
356         * makefile.pc: Removed
357         * configure: Removed
358         
359         * alloca.c: Added to the repository
360         * argmatch.c: Likewise
361         * bcopy.c: Likewise
362         * cpio.h: Likewise
363         * cpiohdr.h: Likewise
364         * defer.c: Likewise
365         * defer.h: Likewise
366         * dirname.c: Likewise
367         * dstring.c: Likewise
368         * dstring.h: Likewise
369         * error.c: Likewise
370         * filemode.c: Likewise
371         * filetypes.h: Likewise
372         * fnmatch.c: Likewise
373         * fnmatch.h: Likewise
374         * getopt.c: Likewise
375         * getopt.h: Likewise
376         * getopt1.c: Likewise
377         * idcache.c: Likewise
378         * mkdir.c: Likewise
379         * rmt.h: Likewise
380         * rtapelib.c: Likewise
381         * safe-stat.h: Likewise
382         * strdup.c: Likewise
383         * stripslash.c: Likewise
384         * tar.c: Likewise
385         * tar.h: Likewise
386         * tarhdr.h: Likewise
387         * xmalloc.c: Likewise
388         * xstrdup.c: Likewise
389         
390         * makepath.c: Updated
391         * mt.c: Likewise.
392         * rmt.c: Likewise.
393         * util.c: Likewise.
394         * copyin.c: Likewise.
395         * copyout.c: Likewise.
396         * copypass.c: Likewise.
397         * global.c: Likewise.
398         * main.c: Likewise.
399         
400 Thu Jun 13 20:14:48 2002  John Oleynick  (juo@gnu.org)
401         * copyin.c:  Strip leading / on absolute filenames after
402         comparing to the list of files specified on the command line
403         (instead of before).  Problem reported by Jeff Holt.
404         * Version 2.5 released.
405
406 Thu Jun 13 00:20:30 2002  John Oleynick  (juo@gnu.org)
407         * Makefile.in:  Fixed problem of looking in srcdir for info files.
408         Bug reported by Mike Castle.
409         * cpio.texi:  Fixed typo.  Problem reported by Fabrice Bauzac.
410
411 Sun Jan 13 18:45:02 2002  John Oleynick  (juo@gnu.org)
412         * copyin.c:  Fixed a problem skipping files with multiple links
413         in a newc or CRC format archive.  If the file with the shared copy
414         of the data was skipped, but other links were not skipped, the
415         other links were created as empty files.  Bug reported by 
416         Hendrik-Jan Thomassen.
417
418 Thu Dec  6 20:05:10 2001  John Oleynick  (juo@gnu.org)
419         * mt.c, mt.1:  Merged Debian --rsh-command option and -V fix.
420         * copyout.c, copypass.c, util.c, extern.h:  Modified to warn
421           if a file grows or its mtime is changed while it is being
422           copied.
423
424 Wed Dec  6 00:02:04 2001  John Oleynick  (juo@gnu.org)
425         * Many files:  Updated FSF's address in copyright notices.
426
427 Wed Aug 29 23:57:05 2001  John Oleynick  (juo@gnu.org)
428         * Many files:  Numerous fixes from Debian, Red Hat and SuSE
429         GNU/Linux distributions.
430
431 Tue Jan 16 19:03:05 1996  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
432         * util.c: An I/O error reading a file would cause the last byte
433         of the next file to be corrupted in the archive.  Thanks to a
434         buggy NT NFS server for pointing out this problem.
435         * Version 2.4.2 released.
436
437 Tue Jan  9 23:19:37 1996  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
438         * copyout.c: missed 1 part of last bug fix.
439
440 Mon Jan  8 16:49:01 1996  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
441         * copyout.c, copypass.c: Use result of readlink() as length
442         of link name instead of size from lstat().  On some OS's lstat() 
443         doesn't return the true length in size.  Bug reported by
444         Robert Joop (rj@rainbow.IN-berlin.DE).
445
446 Wed Dec 20 10:52:56 1995  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
447         * rmt.c:  Added temporary kludge so make rmt will work on Linux.
448         * configure.in:  Only define HAVE_UTIME_H if utime.h declares
449         struct utimbuf.
450         * Makefile.in:  Change prefix, exec_prefix and bindir to get their
451         values from configure.  Added cpio.info to DISTFILES.
452         * cpio.texi:  Added INFO-DIR-ENTRY.
453         * Version 2.4.1 released.
454
455 Wed Nov 22 19:37:05 1995  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
456         * cpio.texi:  Updated release date and FSF's address.
457         * NEWS: Listed major new features for 2.4.
458         * mt.c, mt.1: Added seek and fsfm commands.
459         * Version 2.4 released.
460
461 Tue Jun 27 19:14:27 1995  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
462         * configure.in: fixed for new autoconf.  Added check to make
463         sure fnmatch() works.
464         * Makefile.in: changed realclean to maintainer-clean.  Added
465         support to handle fnmatch separate from other LIBOBJS.
466         * cpio.texi:  More changes for 2.4.
467
468 Wed Dec 14 16:14:27 1994  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
469         * copypass.h:  When given the -a option, set the access time of
470         the copy to be the access time of the original (instead of the
471         modification time of the original).  Reported by
472         karney@pppl.gov (Charles Karney).
473         * cpio.texi:  Updated with changes for 2.4.
474
475 Wed Nov  3 18:18:07 1994  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
476         * safe-stat.h, Makefile.in:  New file used by mkdir.c.  This will go
477         away when we get the real safe-xstat.[ch]in for mkdir.c.
478         * main.c:  Don't mention [--null] twice in -p's usage message.
479         Changed --no-absolute-paths to --no-absolute-filenames.
480         * cpio.1:  Updated man page with new features.
481         * cpio.texi, texinfo.tex, Makefile.in:  Added texi documentation
482         from Robert Carleton (rbc@gnu.ai.mit.edu).
483
484 Mon Oct  3 00:46:30 1994  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
485         * makefile.pc, system.h:  Changes to compile with Borland C++ 4.0.
486
487 Thu Sep 29 22:15:50 1994  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
488         * makepath.c: Don't #define index if it is already #defined.
489
490         * mt.c:  Check for __hpux defined instead of __hpux__.  Reported
491         by ericb@lsid.hp.com (Eric Backus).
492
493 Thu Sep 29 11:21:31 1994  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
494         * extern.h, util.c, copyout.c, copypass.c, main.c, global.c:
495         Never mind --ignore-disk-input-errors flag, we'll just always
496         do that, like tar.
497
498         * global.c, extern.h, main.c, copyin.c, copyout.c, copypass.c:
499         Added --quiet flag to supress printing number of blocks copied.
500
501         * global.c, extern.h:  If compiled with gcc, make input_bytes
502         and output_bytes `long long' instead of `long'.  We need more
503         than 32 bits to keep track of the number of bytes copied to
504         and from tape drives that hold more than 4Gbytes.
505
506         * util.c, copyin.c, main.c, global.c, extern.h:  Added
507         --only-verify-crc flag to read a CRC format archive and verify
508         its contents' CRCs.
509
510         * copyout.c:  Fixed problem with creating oldc format archives
511         on machines with 16 bit ints.  Reported by mpoole@cix.compulink.co.uk
512         (Martin Poole).
513
514         * mt.c: Need to open tape WR_ONLY for erase command (and probably
515         others?).  Reported by robert@hst.e.technik.uni-kl.de (Robert
516         Vogelgesan).  Accept `eject' as a synonym for `offline'.  Accept
517         `-t' as a synonym for `-f' (to be compatible with HPUX mt, which 
518         only accepts `-t').
519
520 Wed Sep 28 12:01:55 1994  John Oleynick  (juo@wombat.gnu.ai.mit.edu)
521         * extern.h, global.c, main.c, util.c: only write sparse files
522         when given --sparse flag.
523         * extern.h, util.c, copyout.c, copypass.c, main.c, global.c:
524         Added support for --ignore-disk-input-errors flag.
525
526 Wed Aug 24 12:55:38 1994  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
527
528         * configure.in: Replace calls to AC_REMOTE_TAPE and AC_RSH
529         with equivalent code, since those macros are going away.
530
531 Sun Feb 13 00:56:48 1994  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
532         * extern.h, global.c, main.c, util.c:  Added code to 
533         tape_buffered_peek() to properly handle large, corrutped 
534         archives, without overrunning the allocated buffer and
535         dumping core.  Also changed the way the input and output 
536         buffers are allocated in initialize_buffers().
537         
538 Tue Jan 25 01:04:32 1994  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
539         * copyin.c, copyout.c, copypass.c, extern.h, main.c, tar.c, util.c:
540         Redid i/o buffer code.  Previously, the same routines buffered input and
541         output for accessing the archive and the filesystem.  Now there are
542         separate routines for buffering input and output and for buffering the
543         archive and the filesystem.  This simplifies much of the buffer code
544         (e.g., only input from the archive has to check for end of tape and
545         allow the tape to be changed, only output to the filesystem has to
546         handle byte and word swapping, etc.; previously one routine had to
547         handle all of these special cases) This is how the routines got split
548         and renamed (old name -> new name):
549
550                 clear_rest_of_block -> tape_clear_rest_of_block
551                 copy_files -> copy_files_tape_to_disk
552                     "      -> copy_files_disk_to_disk
553                     "      -> copy_files_disk_to_tape
554                 copy_buf_out -> disk_buffered_write
555                     "        -> tape_buffered_write
556                 copy_in_buf -> tape_buffered_read
557                 empty_output_buffer -> tape_empty_output_buffer
558                     "               -> disk_empty_output_buffer
559                 fill_input_buffer -> tape_fill_input_buffer
560                     "             -> disk_fill_input_buffer
561                 pad_output -> tape_pad_output
562                 peek_in_buf -> tape_buffered_peek
563                 skip_padding -> tape_skip_padding
564                 toss_input -> tape_toss_input
565
566         * extern.h, global.c, main.c, util.c:  Added support for
567         writing sparse files.
568
569 Tue Dec 28 23:01:36 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
570         * util.c, system.h, makepath.c, extern.h: don't define chown() 
571         and don't typedef uid_t and gid_t if we are being compiled
572         by DJGPP.
573
574         * copyin.c, extern.h, global.c, main.c:  Added support for
575         --rename-batch-file.
576         
577         * copyin.c, copyout.c, extern.h:  Cleaned up to pass gcc -Wall.
578
579 Wed Dec 22 02:17:44 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
580
581         * makepath.c, copypass.c, copyin.c:  If cpio was creating a
582         directory that contained `.' in the pathname (e.g. `foo/./bar'),
583         it would complain that it could not create `.', since it already
584         exists.  From schwab@issan.informatik.uni-dortmund.de (Andreas
585         Schwab).
586
587         * mt.c:  Added "eject" as a synonym for "offline".
588
589         * util.c:  Slight modification to when we lseek with
590         BROKEN_LONG_TAPE_DRIVER (do it every 1Gb, instead 
591         of every 2Gb).
592
593         * copyin.c, global.c, extern.h:  Added --no-absolute-paths option, 
594         to ignore absolute paths in archives.
595
596 Tue Dec 21 01:30:59 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
597
598         * util.c:  Fix for copying new_media_message_after_number.  From
599         Christian.Kuehnke@arbi.informatik.uni-oldenburg.de (Christian
600         Kuehnke).
601
602 Thu Jul 29 20:35:57 1993  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
603
604         * Makefile.in (config.status): Run config.status --recheck, not
605         configure, to get the right args passed.
606
607 Mon Jul 19 23:01:00 1993  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
608
609         * Makefile.in (libdir): Use standard GNU value --
610         $(exec_prefix)/lib, not /etc.
611         (.c.o): Put CFLAGS last.
612
613 Thu Jul  8 19:43:39 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
614
615         * Makefile.in: Add rules for remaking Makefile, configure,
616         config.status. 
617
618 Mon Jul  5 14:54:08 1993  John Oleynick  (juo@spiff.gnu.ai.mit.edu)
619
620         * cpio.1:  Updated man page for 2.3.
621         * Makefile.in:  Create distribution with .gz extension, instead of .z.
622
623 Tue Jun 29 18:54:37 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
624
625         * Makefile.in: Added installdirs target (using mkinstalldirs).
626         * Added mkinstalldirs script.
627         * main.c, mt.c:  Added --help option.  Changed usage() to
628         take a stream and exit value (so --help can print on stdout
629         and return a 0 exit status).
630         * extern.h:  Removed usage()'s prototype (it was out of date,
631         and only used in main.c).
632
633 Thu May  6 00:22:22 1993  John Oleynick  (juo@hal.gnu.ai.mit.edu)
634
635         * cpio.1:  Added hpbin and hpodc.
636
637 Tue May  4 00:32:29 1993  John Oleynick  (juo@hal.gnu.ai.mit.edu)
638
639         * copyin.c (process_copy_in), copypass.c (process_copy_pass):  When
640         deleting an existing file, if the file is a directory, use rmdir()
641         instead of unlink().
642
643 Thu Apr 29 14:43:56 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
644
645         * tar.c (read_in_tar_header):  Clear non-protection bits from
646         mode, in case tar has left some device bits in there.
647
648 Wed Apr 28 10:36:53 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
649
650         * util.c: Added code to try and work around broken tape drivers
651         that have problems with tapes > 2Gb.
652
653         * copyout.c (process_copy_out): Pass file_hdr to 
654         writeout_other_defers() and add_link_defer() by reference, 
655         not by value.
656
657         * copyin.c (process_copy_in): Pass file_hdr to defer_copyin()
658         and create_defered_links() by reference, not by value.
659
660         * defer.c: include <sys/types.h> (to build on BSD 4.3 on HP300)
661
662 Fri Apr 16 18:01:17 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
663
664         * mt.c, util.c: Include <sys/mtio.h> if HAVE_SYS_MTIO_H is 
665         defined, not HAVE_MTIO_H.
666
667 Wed Apr 14 17:37:46 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
668
669         * util.c: Include <sys/io/trioctl.h> if HAVE_SYS_IO_TRIOCTL_H
670         is defined.
671
672         * mt.c: Only include <sys/mtio.h> if HAVE_SYS_MTIO_H is defined.
673
674 Fri Apr  2 13:09:11 1993  John Oleynick  (juo@goldman.gnu.ai.mit.edu)
675
676         * configure.in: Added fnmatch to AC_REPLACE_FUNCS.  Added
677         sys/io/trioctl.h to AC_HAVE_HEADERS.
678
679         * Makefile.in: Removed fnmatch.o from OBJS.
680
681         * copyin.c: Only include "fnmatch.h" if FNM_PATHNAME isn't
682         defined yet.
683
684         * mt.c: Include <sys/io/trioctl.h> if HAVE_SYS_IO_TRIOCTL_H is
685         defined.
686
687 Mon Mar 29 17:04:06 1993  John Oleynick  (juo@hal.gnu.ai.mit.edu)
688
689         * Many changes for supporting HPUX Context Dependent Files;
690         also some bug fixes to fix problems with multiply (hard) linked
691         device files; minor changes to support HPUX format archives
692         (slightly broken?) System V.4 posix tar archives and HPUX
693         posix tar archives.
694
695         * Makefile.in: New files defer.o, defer,c and defer.h; added
696         -DSYMLINK_USES_UMASK and -DHPUX_CDF comments; changed dist rule
697         to use gzip with tar, instead of compress.
698
699         * copyin.c: changes for new arf_hpbinary and arf_hpascii formats;
700         HPUX CDF's; DEBUG_CPIO; fixes to properly handle multiple
701         links in newc and crc format archives (new routines defer_copyin(),
702         create_defered_links(), create_final_defers()); move most
703         multiple (hard) link code to new routines link_name() and
704         link_to_maj_min_ino(); use new macro UMASKED_SYMLINK instead of
705         symlink().
706
707         * copyout.c: fixes to properly handle multiple links in newc
708         and crc format archives (new routines last_link(), 
709         count_defered_links_to_dev_ino(), add_link_defer(),
710         writeout_other_defers(), writeout_final_defers(),
711         writeout_defered_file()); support for new arf_hpbinary and
712         arf_hpascii formats; support for HPUX CDF's.
713
714         * copypass.c: move most multiple link code to new routines
715         link_name() and link_to_maj_min_ino(); use new macro UMASKED_SYMLINK
716         instead of symlink(); support for HPUX CDF's.
717
718         * extern.h: added arf_hpascii and arf_hpbinary archive enum types;
719         added debug_flag.
720
721         * global.c: added debug_flag.
722
723         * main.c: added debug_flag; support for hpodc and hpbin formats.
724
725         * makepath.c: split from standard makpath.c to add support
726         for HPUX CDF's.
727
728         * mt.c: added !defined(__osf__) (from Andrew Marquis
729         <amarquis@genome.wi.mit.edu>).
730
731         * system.h: new macro UMASKED_SYMLINK
732
733         * tar.c: minor changes to read (slightly broken?) System V.4 posix 
734         tar archives and HPUX posix tar archives.
735
736         * util.c: HPUX CDF support (including new routines
737         add_cdf_double_slashes() and islasparentcdf()); new routine
738         umasked_symlink().
739
740 Sun Mar 14 23:00:14 1993  Jim Meyering  (meyering@comco.com)
741
742         * copypass.c (process_copy_pass): Use <=, not just <, when comparing
743         mtimes.  From Pieter Bowman <bowman@math.utah.edu>.
744
745 Fri Jan 15 14:35:37 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
746
747         * copyin.c: Move include of fnmatch.h to get right FNM* macros.
748
749 Tue Nov 24 08:45:32 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
750
751         * Version 2.2.
752
753         * copyout.c (process_copy_out): Add parens for gcc -Wall.
754         From Jim Meyering.
755
756         * system.h: Use HAVE_FCNTL_H, not USG.
757
758         * dstring.c, mt.c, system.h: Use HAVE_STRING_H, not USG.
759
760 Fri Nov 20 22:47:18 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
761
762         * copyin.c (read_in_binary): Copy the dev and ino that are
763         already in `file_hdr' into `short_hdr'.
764         From dao@abars.att.com (David A Oshinsky).
765
766         * system.h [!_POSIX_VERSION]: Declare lseek as off_t, not long.
767         From Karl Berry.
768
769 Wed Oct 14 13:53:41 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
770
771         * Version 2.1.
772
773 Tue Oct 13 22:51:34 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
774
775         * main.c: Add --swap equivalent to -b.
776
777         * mt.c: Add f_force_local variable and -V --version option.
778
779 Fri Oct  2 18:42:27 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
780
781         * main.c (long_opts, usage): Add --force-local option.
782
783 Thu Oct  1 23:23:43 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
784
785         * main.c (process_args) [__MSDOS__]: Don't call geteuid.
786
787         * copyin.c (read_in_{old,new}_ascii): Use `l' for sscanf into longs.
788         * copyout.c (write_out_header): Ditto for sprintf.
789         * global.c, extern.h: Make input_size and output_size long.
790
791 Thu Sep 10 23:39:30 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
792
793         * global.c, extern.h: Add new var f_force_local to work with
794         rmt.h change from tar.
795
796 Sun Aug 23 00:18:20 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
797
798         * Version 2.0.
799
800         * tar.c (otoa): Compute value in an unsigned long, not an int.
801         * copyout.c (write_out_header) [__MSDOS__]: Don't use dev_t.
802
803         * main.c (process_args): By default, don't chown for non-root users.
804
805 Sat Aug 22 14:17:54 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
806
807         * global.c, extern.h: Use uid_t and gid_t.
808
809         * main.c (main) [__EMX__]: Expand wildcards.
810         * system.h [__EMX__]: Alias some error names.  From Kai Uwe Rommel.
811
812         * extern.h [__STDC__]: Use prototypes.
813
814         * copyin.c (process_copy_in), copyout.c (process_copy_out),
815         copypass.c (process_copy_pass): Open all files with O_BINARY.
816         Add cast to chmod call.
817         * util.c: Add cast to bcopy calls.  Make hash_insert static.
818         From Kai Uwe Rommel.
819
820 Thu Aug 20 22:03:49 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
821
822         * util.c (peek_in_buf): Don't print "end of file" before
823         getting the next reel of medium.
824
825         * copyin.c (read_in_old_ascii): Allocate space for NUL terminator.
826         Print newline for dot line when done, even if appending.
827
828 Thu Jul 23 16:34:53 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
829
830         * tar.c (write_out_tar_header, read_in_tar_header)
831         [__MSDOS__]: Don't try to get user and group names.
832         * extern.h: Don't declare the functions to do it (need uid_t).
833
834         * main.c [__MSDOS__]: Ignore the -R option.
835
836         * system.h: Define makedev if defining major and minor.
837
838         * copyin.c, copyout.c [__MSDOS__]: setmode on archive_des, not
839         0 and 1.
840
841 Sat Jul 18 14:30:55 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
842
843         * tar.c, stripslash.c, userspec.c, cpiohdr.h, tar.h, tarhdr.h,
844         system.h: New files.
845         * Move portability stuff from various files to system.h.
846         * cpio.h: Rename header structure and members, and add
847         new structure for SVR4 format.
848         * copyin.c, copyout.c: Use the new structure internally, the
849         old one only for I/O in the old formats.
850         * copyin.c (read_in_header): Recognize the new archive formats.
851         (read_in_new_ascii, read_pattern_file, skip_padding): New functions.
852         (swab_array): Do the swapping using char pointers instead of
853         bitwise arithmetic.
854         (process_copy_in): Handle byte and halfword swapping and new formats.
855         Ok if a directory we want to make already exists, but set its perms.
856         Do chmod after chown to fix any set[ug]id bits.
857         Use `struct utimbuf' instead of a long array.
858         * copyout.c (write_out_header): Handle new formats.
859         (process_copy_out): Use `struct utimbuf'.
860         Handle appending and new formats.
861         Remove any leading `./' from filenames.
862         (read_for_checksum, clear_rest_of_block, pad_output): New functions.
863         * copypass.c (process_copy_pass): Use `struct utimbuf'.
864         Ok if a directory we want to make already exists, but set its perms.
865         Do chmod after chown to fix any set[ug]id bits.
866         Don't change perms of `.'.
867         * extern.h, global.c: Replace the separate format flags with
868         one variable.  Add new variables for the new options.
869         * main.c: Add new options -A --append, -H --format, -C --io-size,
870         -M --message, --no-preserve-owner, -R --owner, -E --pattern-file,
871         -V --dot, -s --swap-bytes, -S --swap-halfwords, -b, -I, -k, -O.
872         (usage): Document them.
873         (process_args): Recognize them.  Use open_archive.
874         (initialize_buffers): Allow room for tar archives and double buffers.
875         * util.c (empty_output_buffer_swap): New function.
876         (empty_output_buffer): Call it if swapping current file.
877         Check additional end of media indicators.
878         (swahw_array, peek_in_buf, prepare_append, open_archive,
879         set_new_media_message): New functions.
880         (fill_input_buffer): Don't print error message if end of media.
881         (toss_input): Don't seek, always read.
882         (copy_files): Update crc if needed.
883         (find_inode_file, add_inode): Check major and minor numbers as
884         well as dev.
885         (get_next_reel): Prompt user if archive name is unknown.
886         Print fancy messages.
887         Close the archive and reopen it.
888
889         Above primarily from John Oleynick <juo@klinzhai.rutgers.edu>.
890
891         * util.c (find_inode_file): Use modulus when computing initial
892         loop index.
893         (add_inode): Zero out new entry.
894         From scott@sctc.com (Scott Hammond).
895
896         * cpio.h, copyin.c, copyout.c: Rename `struct cpio_header'
897         members from h_foo to c_foo.
898
899 Wed May 20 00:09:26 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
900
901         * copyin.c:  If we include a header file specifically to get
902         major et al., assume we have them.
903
904 Mon Mar  9 19:29:20 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
905
906         * mt.c (main): rmtclose the tape file descriptor.
907
908         * main.c (main): rmtclose the archive, if not in copy-pass mode.
909
910         * util.c (create_all_directories): Don't print a message when
911         creating a directory, for UNIX compat.
912
913         * copyin.c (process_copy_in), copypass.c (process_copy_pass):
914         Skip file if it has the same timestamp as existing file, not just
915         if it is older than existing file, for UNIX compat.
916
917 Tue Mar  3 12:06:58 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
918
919         * main.c, mt.c (usage): Document long options as starting with
920         -- instead of +.
921
922         * extern.h: Only declare lseek if not _POSIX_VERSION.
923
924 Tue Dec 24 00:19:45 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
925
926         * copyin.c: Use MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS instead
927         of USG and _POSIX_VERSION to find major and minor macros.
928
929         * mt.c: Use unistd.h and stdlib.h if available.
930
931         * copyin.c, copyout.c, copypass.c, util.c, extern.h: Change
932         POSIX ifdefs to HAVE_UNISTD_H and _POSIX_VERSION.
933
934 Sun Aug 25 06:31:08 1991  David J. MacKenzie  (djm at apple-gunkies)
935
936         * Version 1.5.
937
938         * bcopy.c: New file (moved from util.c).
939
940         * mt.c (print_status): Not all hpux machines have mt_fileno
941         and mt_blkno; rather than trying to track HP's product line,
942         just assume none of them have them.
943
944         * util.c (copy_buf_out, copy_in_buf): Use more efficient
945         copying technique for a big speedup.
946
947 Fri Aug  2 04:06:45 1991  David J. MacKenzie  (djm at apple-gunkies)
948
949         * configure: Support +srcdir.  Create config.status.
950         Remove it and Makefile if interrupted while creating them.
951
952 Thu Jul 18 09:43:40 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
953
954         * Many files: use __MSDOS__ instead of MSDOS.
955
956         * util.c, configure: Use NO_MTIO instead of HAVE_MTIO, to keep
957         up with tar and rtapelib.c.
958
959 Mon Jul 15 13:45:30 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
960
961         * configure: Also look in sys/signal.h for signal decl.
962
963 Thu Jul 11 01:50:32 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
964
965         * Version 1.4.
966
967         * configure: Remove /etc and /usr/etc from PATH to avoid
968         finding /etc/install.
969
970 Wed Jul 10 01:40:07 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
971
972         * makefile.pc: Rewrite for Turbo C 2.0.
973         * util.c [__TURBOC__] (utime): New function.
974         * alloca.c, tcexparg.c: New files.
975
976         * extern.h [STDC_HEADERS]: Don't declare malloc and realloc.
977
978         * main.c [MSDOS]: Make binary mode the default.
979         * copyin.c, copyout.c: Make stdin or stdout binary mode as
980         appropriate (so cpio archives don't get corrupted).
981
982         * Many files: Use <string.h> if STDC_HEADERS as well as if USG.
983
984         * configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL),
985         $(INSTALLTEXT) -> $(INSTALLDATA).
986
987 Mon Jul  8 23:18:28 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
988
989         * configure: For some library functions that might be missing,
990         conditionally add the .o files to Makefile instead of
991         defining func_MISSING.
992         * mkdir.c: Renamed from mkrmdir.c.
993
994 Sat Jul  6 02:27:22 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
995
996         * configure: echo messages to stdout, not stderr.
997         Use a test program to see if alloca needs -lPW.
998
999 Thu Jun 27 16:15:15 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
1000
1001         * copyin.c (process_copy_in), copyout.c (process_copy_out),
1002         copypass.c (process_copy_pass): Check close return value for
1003         delayed error notification because of NFS.
1004
1005 Thu Jun 20 02:43:33 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
1006
1007         * configure: Include $DEFS when compiling test programs.
1008
1009         * util.c: Only declare getpwuid and getgrgid if not POSIX.
1010
1011         * Version 1.3.
1012
1013         * copyin.c: Use time_t, not long, for time values.
1014
1015         * mt.c (print_status): Special cases for HP-UX and Ultrix.
1016
1017         * util.c: Compile bcopy if USG or STDC_HEADERS, not BCOPY_MISSING.
1018
1019 Tue Jun 11 16:40:02 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
1020
1021         * copyin.c: Don't include sys/sysmacros.h if _POSIX_SOURCE.
1022
1023         * copyin.c, copyout.c, copypass.c: Don't include sys/file.h if POSIX.
1024
1025         * util.c: Include sys/types.h before, not after, pwd.h and grp.h.
1026
1027         * configure: New shell script to aid configuration and create
1028         Makefile from Makefile.in.
1029
1030         * copyin.c (process_copy_in): Use POSIX.2 fnmatch instead of
1031         glob_match. 
1032
1033 Mon Jun 10 22:11:19 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
1034
1035         * global.c, extern.h: New variable, name_end.
1036         * main.c (process_args, usage): Add -0 +null option to set it.
1037         * copypass.c (process_copy_pass), copyout.c (process_copy_out): 
1038         Use it.
1039
1040         * dstring.c (ds_fgetstr): New function made from ds_fgets.
1041         (ds_fgets, ds_fgetname): Implement as front ends to ds_fgetstr.
1042
1043 Sun Jun  2 15:45:24 1991  David J. MacKenzie  (djm at wheat-chex)
1044
1045         * most files: use GPL version 2.
1046
1047 Sat May 18 11:39:22 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
1048
1049         * copyin.c, copypass.c: Take out #ifdef MSDOS around chown.
1050         * util.c [MSDOS]: Provide dummy chown.
1051
1052 Fri May 17 21:29:05 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
1053
1054         * Version 1.2.
1055
1056         * makefile.pc, cpio.cs: Update for new source and object files.
1057
1058 Fri Mar 15 05:48:36 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
1059
1060         * global.c, extern.h: New variable `archive_desc'.
1061         * main.c (process_args): Set it.
1062         * copyout.c (process_copy_out), copyin.c (process_copy_in):
1063         Use it.
1064
1065         * copyout.c (process_copy_out), copyin.c (process_copy_in):
1066         Remote tapes are special and not seekable; don't fstat them.
1067
1068         * main.c (main, usage): Add -F, +file option.  Use rmtopen.
1069         (main): Exit after printing version number.
1070         * util.c (empty_output_buffer): Use rmtwrite instead of write.
1071         (fill_input_buffer): Use rmtread instead of read.
1072         (tape_offline): Use rmtioctl instead of ioctl.
1073         Test HAVE_MTIO instead of MTIO_MISSING, for tar compatibility.
1074
1075 Thu Mar 14 17:49:57 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
1076
1077         * util.c (create_all_directories): Use make_path to do the work.
1078
1079 Sat Jan 12 15:32:15 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
1080
1081         * copyin.c, copyout.c, copypass.c, util.c: Only declare
1082         `errno' if not MSDOS.  Some Unix errno.h do, some don't . . . .
1083
1084         * global.c, extern.h: Make `input_size' and `output_size'
1085         unsigned, for 16 bit machines.
1086
1087         * copyin.c (print_name_with_quoting): All non-ctrl chars are
1088         printable on MS-DOS.
1089
1090         * util.c (empty_output_buffer): Never make sparse files;
1091         can create unrunnable executables.
1092         * copyin.c, copyout.c, copypass.c: Callers changed.
1093         * util.c (finish_output_file): Function removed.
1094
1095 Tue Nov  6 15:47:16 1990  David J. MacKenzie  (djm at apple-gunkies)
1096
1097         * copyin.c, util.c, extern.h: Rename copystring to xstrdup.
1098
1099 Mon Oct 29 02:24:41 1990  David J. MacKenzie  (djm at apple-gunkies)
1100
1101         * util.c (empty_output_buffer): Only make sparse files if
1102         NO_SPARSE_FILES is undefined, to accomodate dumb kernels.
1103
1104 Wed Jul 25 18:48:35 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1105
1106         * util.c (getuser, getgroup): Make uid and gid unsigned short,
1107         not int.
1108
1109 Sat Jul 21 00:44:44 1990  David J. MacKenzie  (djm at apple-gunkies)
1110
1111         * copyin.c, copyout.c, copypass.c, util.c, cpio.h: Add ifdefs
1112         for MSDOS.
1113
1114 Sun Jul 15 23:51:48 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1115
1116         * copyin.c, copyout.c, copypass.c, global.c, extern.h, util.c:
1117         Use longs where appropriate, for 16 bit machines.
1118
1119 Sun Jul  8 22:58:06 1990  David J. MacKenzie  (djm at apple-gunkies)
1120
1121         * main.c (process_args, usage): Change -b option to -O (old), to
1122         allow adding byte swapping later.
1123
1124 Sat Jul  7 14:48:35 1990  David J. MacKenzie  (dave at edfmd)
1125
1126         * Version 1.1.
1127
1128         * cpio.h: Make `mtime' and `filesize' unsigned long.
1129         * copyin.c (read_in_binary), copyout.c (write_out_header):
1130         High short-word of `mtime' and `filesize' always comes first.
1131
1132         * (read_in_ascii, read_in_binary): New functions, from code in
1133         read_in_header. 
1134         (read_in_header): Search for valid magic number, then fill in
1135         rest of header using read_in_ascii and read_in_binary.
1136         * global.c, extern.h: New variable, `binary_flag'.
1137         * main.c (process_args): Recognize new -b +binary option.
1138         * util.c [BCOPY_MISSING] (bcopy): New function.
1139
1140 Wed Jul  4 00:40:58 1990  David J. MacKenzie  (djm at apple-gunkies)
1141
1142         * main.c (process_args): Add local pointers to functions to
1143         work around a pcc bug found on a Convex.
1144
1145         * copyin.c (process_copy_in), util.c (toss_input,
1146         create_all_directories, add_inode): Don't use `index' as a
1147         variable name. 
1148
1149 Tue Jul  3 02:33:36 1990  David J. MacKenzie  (djm at apple-gunkies)
1150
1151         * version 1.0.
1152
1153 Mon Jul  2 23:18:56 1990  David J. MacKenzie  (djm at twiddle)
1154
1155         * copyin.c (process_copy_in), copyout.c (process_copy_out),
1156         copypass.c (process_copy_pass): Print "1 block", not "1 blocks".
1157
1158         * copyin.c (process_copy_in), copypass.c (process_copy_pass):
1159         Unlink existing dest. file unless either it is newer and
1160         not unconditional, or it is a directory.
1161
1162 Mon Jul  2 03:57:41 1990  David J. MacKenzie  (dave at edfmd)
1163
1164         * util.c (xrealloc): New function.
1165         * dstring.c (ds_resize): Use xrealloc instead of free and
1166         xmalloc.  Never shrink the string.
1167
1168         * copypass.c (process_copy_pass): More efficient
1169         string handling while constructing output filename.
1170
1171         * global.c, extern.h, main.c, cpio.h: Change from an enum,
1172         `copy_command', to a pointer to a void function, `copy_function'.
1173
1174         * cpio.h (struct cpio_header): Make most fields unsigned.
1175         Rename h_filesize to h_filesizes and h_mtime to h_mtimes, and
1176         add new `long' fields with the old names at the end of the
1177         structure.
1178         * copyin.c (read_in_header): Set the long fields from the
1179         short arrays, making sure longs are aligned properly.
1180         (process_copy_in, long_format): Use the long fields.
1181         * copyout.c (write_out_header): Set the short arrays from the
1182         long fields, making sure longs are aligned properly.
1183         (process_copy_out): Use the long fields.
1184
1185         * global.c, extern.h: New variable `output_is_seekable'.
1186         * util.c (empty_output_buffer): If output_is_seekable, use
1187         lseek to write blocks of zeros.
1188         (finish_output_file): New function.
1189         * copyin.c (process_copy_in), copyout.c (process_copy_out),
1190         copypass.c (process_copy_pass): Set `output_is_seekable'
1191         correctly and call finish_output_file.
1192         * main.c (initialize_buffers): Allocate space for sentinel in
1193         `output_buffer'. 
1194
1195         * global.c, extern.h: New variable `numeric_uid'.
1196         * main.c (process_args): Accept -n +numeric-uid-gid option, like ls.
1197         * copyin.c (long_format): Use numeric_uid.
1198
1199         * copyin.c (process_copy_in), copyout.c (process_copy_out),
1200         copypass.c (process_copy_pass): Don't (for verbose) print the
1201         names of files that are not copied because of errors.  Try to
1202         create missing directories for all file types.  Free temporary
1203         buffers on error.
1204
1205 Sat Jun 30 14:28:45 1990  David J. MacKenzie  (djm at apple-gunkies)
1206
1207         * version.c: New file.
1208         * main.c: Add -V, +version option.
1209         * Makefile [dist]: Extract version number from version.c.
1210
1211 Sat Jun 30 12:44:47 1990  David J. MacKenzie  (dave at edfmd)
1212
1213         * global.c, extern.h, copyin.c, copyout.c, util.c: Rename
1214         `{input,output}_is_regular' to `{input,output}_is_special' and
1215         reverse the truth value. 
1216
1217         * global.c, extern.h: New variable `input_is_seekable' to
1218         control whether to skip data with lseek or read. 
1219         * copyin.c (process_copy_in): Set it.
1220         * util.c (toss_input): Use it.
1221
1222         * global.c, extern.h: New variable `xstat' that selects stat
1223         or lstat for input files.
1224         * main.c (process_args): New option -L, +dereference to set
1225         xstat to stat instead of lstat.
1226         (usage): Document it.
1227         * copyout.c (process_copy_out), copypass.c
1228         (process_copy_pass): Use *xstat on input file.
1229
1230 Sat Jun 30 01:53:12 1990  David J. MacKenzie  (dave at edfmd)
1231
1232         * dstring.c (ds_init): Return void because return value was
1233         never used. 
1234         (ds_resize): Ditto, and free old value instead of new one.
1235
1236         * util.c (empty_output_buffer, fill_input_buffer,
1237         copy_out_buf, copy_in_buf, toss_input, copy_files): Return
1238         void instead of an error value and make errors fatal
1239         immediately instead of several levels up, to prevent printing
1240         of multiple error messages by different levels of functions.
1241
1242         * copyin.c (read_in_header): Return void, because the error
1243         handling all happens at lower levels.
1244         (print_name_with_quoting): New function.
1245         (long_format): Call print_name_with_quoting.  Take additional
1246         arg for name of linked-to file, and print it if nonzero.
1247         (process_copy_in): For verbose listing of symlinks, read in
1248         the linkname and pass it to long_format.
1249
1250         * extern.h: Declare some more functions.
1251
1252 Thu Jun 28 16:07:15 1990  David J. MacKenzie  (dave at edfmd)
1253
1254         * copypass.c (process_copy_pass): Warn about unknown file types.
1255
1256         * copyout.c (process_copy_out): Check fstat return for error.
1257         Record filesize of 0 for special files.  Warn about unknown
1258         file types.
1259
1260         * copyin.c (process_copy_in): Warn about unknown file types.
1261         (read_in_header): Warn about byte-reversed binary headers.
1262
1263 Sat Jun 23 22:50:45 1990  David J. MacKenzie  (dave at edfmd)
1264
1265         * main.c (main): Set umask to 0 so permissions of created
1266         files are preserved. 
1267
1268         * copyin.c, copyout.c, copypass.c, util.c: Pass file
1269         descriptors as ints, not pointers to ints. 
1270         Cast file timestamps and sizes to long *, not int *, for 16
1271         bit machines.
1272         Use lstat instead of stat, if available.
1273         Handle FIFO's, sockets, and symlinks, if supported by O.S.
1274
1275         * copyin.c (process_copy_in), copyout.c (process_copy_out):
1276         Don't consider FIFO'S, sockets, etc. to be possible tape drives.
1277
1278         * util.c (create_all_directories): Fix incorrect loop
1279         termination check.  Only copy string if it contains slashes.
1280         Don't check whether directory "" exists.
1281         (tape_offline): Code moved from get_next_reel.
1282         (get_next_reel): Print message before taking tape offline.
1283         Read a line of arbitrary length.
1284
1285         * copyout.c, copyin.c, copypass.c: Always use utime, not utimes.
1286
1287         * copyin.c (swab_short): New macro.
1288         (swab_array): New function.
1289         (read_in_header): In binary mode, if a byte-swapped header is
1290         read, swap the bytes back.
1291         (process_copy_in, process_copy_pass): Don't stat each file to
1292         create unless !unconditional_flag.  Create device files correctly.
1293         Don't temporarily allow files being created to be read by
1294         other users.  Don't unnecessarily chmod special files.
1295
1296 Thu May 31 20:51:43 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1297
1298         * copyin.c (long_format): Use mode_string to format
1299         file protections instead of doing it ourselves.
1300         (protections): Function removed.
1301
1302 Sat Apr 14 02:31:01 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1303
1304         * cpio.h (struct cpio_header): Make inode, mode, uid, gid
1305         fields unsigned. 
1306
1307         * util.c (getgroup): New function.
1308         * copyin.c (long_format): Print group name of files.
1309         Print file size, etc. as unsigned integers, not signed.
1310
1311         * main.c (process_args): If -t is given and neither -i, -o, or
1312         -p is given, assume -i.
1313
1314         * Add -f, +nonmatching option.
1315         * main.c: Rename +out to +create, +in to +extract,
1316         +modification-time to +preserve-modification-time,
1317         +pass to +pass-through.
1318
1319         * copyin.c (process_copy_in), copypass.c (process_copy_pass):
1320         Don't complain in chown fails because the user doesn't have
1321         permission. 
1322
1323 Fri Apr 13 13:53:20 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1324
1325         * Add ifdefs for USG/Xenix.
1326         * util.c (cpio_error): Function removed.
1327         * Use error instead of cpio_error, so system error messages
1328         will be included.
1329         * cpio.h: Rename 'hdr_struct' to 'struct cpio_header'.
1330         * Move definition of xmalloc from dstring.c to util.c.
1331         * global.c, extern.c: Add global `program_name'.
1332         * main.c (main): Set program_name.
1333         (process_args): Rename +reset-atime to +reset-access-time,
1334         +table to +list.
1335         Have +block-size take an argument.
1336
1337 Thu Apr 12 13:33:32 1990  David J. MacKenzie  (djm at rice-chex)
1338
1339         * util.c (find_inode_file): Make inode an int, not a short.
1340
1341         * Make functions that don't return a value have type void.
1342         Add some casts to function calls.
1343
1344 Wed Apr 11 14:55:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1345
1346         * main.c (process_args): -i, -o, and -p don't take arguments.
1347
1348         * main.c (process_args): Get the non-option args from the
1349         correct elements of argv.
1350
1351 Tue Apr 10 00:20:26 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1352
1353         * Indent source code and update copyrights.
1354
1355         * cpio.c (usage): Change `collection' to `archive' in message.
1356
1357 Thu Dec 28 03:03:55 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
1358
1359         * dstring.c (xmalloc): Don't return a null pointer if size is 0,
1360         on the assumption that trying to allocate 0 bytes is a bug that
1361         should be trapped.
1362
1363 Wed Dec 20 03:24:48 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
1364
1365         * All files: Change from GNU CPIO General Public License to
1366         GNU General Public License.
1367
1368 Mon Dec 18 13:18:36 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
1369
1370         * Makefile: Add clean target and defines for CC and LDFLAGS.
1371         Add dist target and SRCS, DISTFILES macros.  Add tags and TAGS targets.
1372         * dstring.c (ds_fgets): Read characters into an int, not char.
1373         (xmalloc): New function.
1374         (out_of_memory): Function removed.
1375         Global: use xmalloc instead of malloc and out_of_memory.
1376         * extern.h, global.c: Make flag variables ints instead of chars for
1377         compatibility with getopt_long.
1378         * extern.h: Declare more functions.
1379         * main.c (usage): Put the whole usage message into a single string
1380         and fix errors.
1381         * util.c (create_all_directories): Remove unused variable.
1382         (get_next_reel): Ditto.
1383         * dstring.h: Declare function.
1384
1385 Sat Dec  2 13:22:37 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
1386
1387         * main.c: Change +copy-pass option to +pass, +copy-in to +in,
1388         +copy-out to +out, and +mkdir to +make-directories, and add null
1389         option to terminate table.
1390         (process_args): Use the same code to handle long and short named 
1391         options.
1392         (usage): Mention long options in message.
1393 \f
1394 Local Variables:
1395 mode: change-log
1396 version-control: never
1397 End: