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.
|
---|