This is GNU cpio, a program to manage archives of files.
As of version 2.0, it supports the features of the System V release 4
cpio, including support for tar archives.

This package also includes rmt, the remote tape server (which must
reside in /etc), and mt, a tape drive control program; these two
programs will only be compiled if your system supports remote command
execution, and tape drive control operations, respectively.

See the file INSTALL for compilation and installation instructions for Unix.

For non-Unix systems:

makefile.pc is a makefile for Turbo C 2.0 on MS-DOS.
  Type `make -fmakefile.pc' to use it.

makefile.os2 is a makefile for MS C and GNU C (emx/gcc) on OS/2.
cpio.def is a linker definition file for the MS C OS/2 version.


The main advantages of GNU cpio over Unix versions are:

* It can access tape drives on other hosts using TCP/IP.

* `-o' and `-p' can copy symbolic links either as symbolic links or,
with `-L', as the files they point to.

* `-i' automatically recognizes the archive format and tries to
recover from corrupted archives.

* The output of '-itv' looks like 'ls -l'.

* It accepts long-named options as well as traditional
single-character options.

A few features of other versions of cpio are missing from GNU cpio, including:

* The `-6' option to support Sixth Edition Unix cpio archives with `-i'.

* An option to limit volume size, like afio -s.


GNU cpio supports the POSIX.1 "ustar" tar format.  GNU tar versions
1.10 and earlier support an early draft of that format, which has a
slightly different magic number in the tar header.  GNU cpio knows to
recognize those nonstandard GNU tar "ustar" archives.  The following
patch to GNU tar 1.10 makes GNU tar recognize standard "ustar"
archives, such as GNU cpio produces.  Without this patch, GNU tar
thinks that standard "ustar" archives are old-format tar archives and
can not use the extra information that "ustar" format contains.

--- list.c~     Fri Jun 21 23:05:14 1991
+++ list.c      Sun Jul 19 19:48:03 1992
@@ -356,7 +356,7 @@
                st->st_ctime = from_oct(1+12, header->header.ctime);
        }

-       if (0==strcmp(header->header.magic, TMAGIC)) {
+       if (0==strncmp(header->header.magic, TMAGIC, 5)) {
                /* Unix Standard tar archive */
                *stdp = 1;
                if (wantug) {

Mail suggestions and bug reports for GNU cpio to
bug-gnu-utils@prep.ai.mit.edu.
