| 1 | This is GNU cpio, a program to manage archives of files. | 
|---|
| 2 | As of version 2.0, it supports the features of the System V release 4 | 
|---|
| 3 | cpio, including support for tar archives. | 
|---|
| 4 |  | 
|---|
| 5 | This package also includes rmt, the remote tape server, and mt, a tape | 
|---|
| 6 | drive control program; these two programs will only be compiled if | 
|---|
| 7 | your system supports remote command execution, and tape drive control | 
|---|
| 8 | operations, respectively. | 
|---|
| 9 |  | 
|---|
| 10 | See the file INSTALL for compilation and installation instructions for Unix. | 
|---|
| 11 |  | 
|---|
| 12 | For non-Unix systems [ Note:  The non-Unix makefiles have not been tested | 
|---|
| 13 | for this release ] | 
|---|
| 14 |  | 
|---|
| 15 | makefile.pc is a makefile for Turbo C or C++ or Borland C++ on MS-DOS. | 
|---|
| 16 |  | 
|---|
| 17 | makefile.os2 is a makefile for MS C and GNU C (emx/gcc) on OS/2. | 
|---|
| 18 | cpio.def is a linker definition file for the MS C OS/2 version. | 
|---|
| 19 |  | 
|---|
| 20 |  | 
|---|
| 21 | The main advantages of GNU cpio over Unix versions are: | 
|---|
| 22 |  | 
|---|
| 23 | * It can access tape drives on other hosts using TCP/IP. | 
|---|
| 24 |  | 
|---|
| 25 | * `-o' and `-p' can copy symbolic links either as symbolic links or, | 
|---|
| 26 | with `-L', as the files they point to. | 
|---|
| 27 |  | 
|---|
| 28 | * `-i' automatically recognizes the archive format and tries to | 
|---|
| 29 | recover from corrupted archives. | 
|---|
| 30 |  | 
|---|
| 31 | * The output of '-itv' looks like 'ls -l'. | 
|---|
| 32 |  | 
|---|
| 33 | * It accepts long-named options as well as traditional | 
|---|
| 34 | single-character options. | 
|---|
| 35 |  | 
|---|
| 36 | A few features of other versions of cpio are missing from GNU cpio, including: | 
|---|
| 37 |  | 
|---|
| 38 | * The `-6' option to support Sixth Edition Unix cpio archives with `-i'. | 
|---|
| 39 |  | 
|---|
| 40 | * An option to limit volume size, like afio -s. | 
|---|
| 41 |  | 
|---|
| 42 |  | 
|---|
| 43 | GNU cpio supports the POSIX.1 "ustar" tar format.  GNU tar supports a | 
|---|
| 44 | somewhat different, early draft of that format.  That draft format has | 
|---|
| 45 | a slightly different magic number in the tar header and doesn't | 
|---|
| 46 | include the path prefix part of the header, which allows storing file | 
|---|
| 47 | names that are longer than 100 characters.  GNU cpio knows to | 
|---|
| 48 | recognize the nonstandard GNU tar "ustar" archives. | 
|---|
| 49 |  | 
|---|
| 50 | The following patch to GNU tar 1.11.1 makes GNU tar recognize standard | 
|---|
| 51 | "ustar" archives, such as GNU cpio produces, except that it won't use | 
|---|
| 52 | the path prefix.  Without this patch, GNU tar thinks that standard | 
|---|
| 53 | "ustar" archives are old-format tar archives and can not use the extra | 
|---|
| 54 | information that "ustar" format contains.  If you use this patch, | 
|---|
| 55 | remember that you will lose the beginnings of paths that are longer | 
|---|
| 56 | than 100 characters.  That's why it's not an official part of GNU tar. | 
|---|
| 57 | (Adding support for the path prefix to GNU tar is not trivial.) | 
|---|
| 58 |  | 
|---|
| 59 | --- list.c.orig Mon Sep 14 17:04:03 1992 | 
|---|
| 60 | +++ list.c      Wed Oct 14 14:02:28 1992 | 
|---|
| 61 | @@ -439,7 +439,7 @@ | 
|---|
| 62 | st->st_ctime = from_oct(1+12, header->header.ctime); | 
|---|
| 63 | } | 
|---|
| 64 |  | 
|---|
| 65 | -       if (0==strcmp(header->header.magic, TMAGIC)) { | 
|---|
| 66 | +       if (0==strncmp(header->header.magic, TMAGIC, 5)) { | 
|---|
| 67 | /* Unix Standard tar archive */ | 
|---|
| 68 | *stdp = 1; | 
|---|
| 69 | if (wantug) { | 
|---|
| 70 |  | 
|---|
| 71 | Mail suggestions and bug reports for GNU cpio to bug-cpio@gnu.org. | 
|---|