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