README 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. GNU `tar' 1.12.lfs.6 is an unofficial port of GNU `tar' 1.12 to Large
  2. File Summit (LFS) environments like Solaris 2.6 that rely on integer
  3. system types longer than `long'. Ordinary GNU `tar' 1.12 cannot handle
  4. files larger than 2 GB when compiled in such environments. This port
  5. addresses that problem, and fixes some other well-known bugs in GNU tar 1.12.
  6. Please send bug reports specific to this unofficial version of GNU `tar'
  7. to <[email protected]>.
  8. This is not intended to be a forked release for GNU tar; it's
  9. just an interim experimental release, mostly intended for
  10. Large File Summit hosts like Solaris 2.6. The patches of this
  11. release have all been submitted via the usual channels and
  12. they should no longer be needed once the next official release
  13. of GNU tar is out.
  14. Please glance through *all* sections of this
  15. `README' file before starting configuration. Also make sure you read files
  16. `ABOUT-NLS' and `INSTALL' if you are not familiar with them already.
  17. If you got the `tar' distribution in `shar' format, timestamps ought to be
  18. properly restored, do not ignore such complaints at `unshar' time.
  19. GNU `tar' saves many files together into a single tape or disk
  20. archive, and can restore individual files from the archive. It includes
  21. multivolume support, the ability to archive sparse files, automatic archive
  22. compression/decompression, remote archives and special features that allow
  23. `tar' to be used for incremental and full backups. This distribution
  24. also includes `rmt', the remote tape server. The `mt' tape drive control
  25. program is in the GNU `cpio' distribution.
  26. GNU `tar' is derived from John Gilmore's public domain `tar'.
  27. See file `ABOUT-NLS' for how to customize this program to your language.
  28. See file `BACKLOG' for a summary of pending mail and articles.
  29. See file `COPYING' for copying conditions.
  30. See file `INSTALL' for compilation and installation instructions.
  31. See file `PORTS' for various ports of GNU tar to non-Unix systems.
  32. See file `NEWS' for a list of major changes in the current release.
  33. See file `THANKS' for a list of contributors.
  34. Besides those configure options documented in files `INSTALL' and
  35. `ABOUT-NLS', a few extra options may be accepted after `./configure':
  36. * `--with-included-malloc' or `--without-included-malloc' may override
  37. the automatic choice made by `configure' about using included GNU malloc.
  38. * `--with-dmalloc' is a debugging option for looking at memory management
  39. problems, it prerequires Gray Watson's package, which is available as
  40. `ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz'.
  41. The default archive device is now `stdin' on read and `stdout' on write.
  42. The installer can still override this by presetting `DEFAULT_ARCHIVE'
  43. in the environment before configuring (the behavior of `-[0-7]' or
  44. `-[0-7]lmh' options in `tar' are then derived automatically). Similarly,
  45. `DEFAULT_BLOCKING' can be preset to something else than 20.
  46. For comprehensive modifications to GNU tar, you might need tools beyond
  47. those used in simple installations. Fully install GNU m4 1.4 first,
  48. and only then, Autoconf 2.12 with officious patches held in `AC-PATCHES'.
  49. Install Perl, then Automake 1.1n with officious patches in `AM-PATCHES'.
  50. You might need Bison 1.25 with officious patches in `BI-PATCHES' (but yacc
  51. and byacc may be OK for you), and GNU tar itself. All are available on
  52. GNU archive sites, like in ftp://prep.ai.mit.edu/pub/gnu/, but Automake
  53. is still ftp://ftp.cygnus.com/pub/tromey/automake-1.1n.tar.gz.
  54. Send bug reports to `[email protected]'. (Beware, old-timers: it is
  55. `@gnu', not `@prep'; and not `bug-gnu-utils' anymore.) A bug report is
  56. an adequate description of the problem: your input, what you expected,
  57. what you got, and why this is wrong. Diffs are welcome, but they only
  58. describe a solution, from which the problem might be uneasy to infer.
  59. If needed, submit actual data files with your report. Small data files
  60. are preferred. Big files may sometimes be necessary, but do not send them
  61. to the report address; rather take special arrangement with the maintainer.
  62. Your feedback will help us to make a better and more portable package.
  63. Consider documentation errors as bugs, and report them as such. If you
  64. develop anything pertaining to `tar' or have suggestions, let us know
  65. and share your findings by writing at `[email protected]'.
  66. .--------------------.
  67. | Installation hints |
  68. `--------------------'
  69. Here are a few hints which might help installing `tar' on some systems.
  70. * Static linking.
  71. Some platform will, by default, prepare a smaller `tar' executable
  72. which depends on shared libraries. Since GNU `tar' may be used for
  73. system-level backups and disaster recovery, installers might prefer to
  74. force static linking, making a bigger `tar' executable maybe, but able to
  75. work standalone, in situations where shared libraries are not available.
  76. The way to achieve static linking varies between systems. Set LDFLAGS
  77. to a value from the table below, before configuration (see `INSTALL').
  78. Platform Compiler LDFLAGS
  79. (any) Gnu C -static
  80. AIX (vendor) "-bnso -bI:/lib/syscalls.exp"
  81. HPUX (vendor) -Wl,-a,archive
  82. IRIX (vendor) -non_shared
  83. OSF (vendor) -non_shared
  84. SCO 3.2v5 (vendor) -dn
  85. Solaris (vendor) -Bstatic
  86. SunOS (vendor) -Bstatic
  87. * Failed `incremen.sh'.
  88. In an NFS environment, lack of synchronisation between machine clocks
  89. might create difficulties to any tool comparing dates and file timestamps,
  90. like `tar' in incremental dumps. This has been a recurrent problem in
  91. GNU Makefiles for the last few years. We would like a general solution.
  92. * BSD compatibility matters.
  93. Set LIBS to `-lbsd' before configuration (see `INSTALL') if the linker
  94. complains about undefined `valloc' (AIX) or `bsd_ioctl' (Slackware).
  95. Also set CPPFLAGS to `-I/usr/include/bsd/sys' before configuration to
  96. solve dirent problems (NeXT), or to `-I/usr/include/bsd' if <sgtty.h>
  97. is not found (Slackware).
  98. * `union wait' problems.
  99. Configuration of `union wait' does not always take the best decision.
  100. If you have this problem, edit file `config.cache' after configuration,
  101. find the line about `tar_cv_header_union_wait', change `yes' by `no'
  102. or vice-versa, execute `./config.status', then launch `make'.
  103. * `%lld' unsupported in `printf'.
  104. GNU C has `long long', but the underneath C library might not support
  105. the `%lld' format. If you have this problem, edit file `config.cache'
  106. after configuration, find the line about `ac_cv_sizeof_long_long, change
  107. `8' by `0', execute `./config.status', then launch `make'.
  108. * FreeBSD users -- `configure' fails.
  109. It has been reported that `configure' does not run on FreeBSD 2.1.7,
  110. because of a buggy `sh'. It works using `bash', however.
  111. * ISC users -- `S_*' symbols undefined.
  112. On ISC 4.1mu, POSIX environment, set CFLAGS to `-posix' and CPPFLAGS to
  113. `-D_SYSV3' before configuration (see `INSTALL'). This will trigger the
  114. definition of a few `S_' prefixed symbols from <sys/stat.h>.
  115. * Ultrix users -- broken `make'.
  116. It seems that Ultrix make does not correctly handle shell commands
  117. having logical connectives in them. Use `s5make' if you have it, try
  118. `PROG_ENV=SYSTEM_FIVE make' (works on Ultrix 4.4), or install GNU Make.
  119. .------------------.
  120. | Special topics. |
  121. `------------------'
  122. Here are a few special matters about GNU `tar', not related to build
  123. matters. See previous section for such.
  124. * File attributes.
  125. About *security*, it is probable that future releases of `tar' will have
  126. some behaviour changed. There are many pending suggestions to choose from.
  127. Today, extracting an archive not being `root', `tar' will restore suid/sgid
  128. bits on files but owned by the extracting user. `root' automatically gets
  129. a lot of special priviledges, `-p' might later become required to get them.
  130. GNU `tar' does not properly restore symlink attributes. Various systems
  131. implement flavours of symbolic links showing different behaviour and
  132. properties. We did not successfully sorted all these out yet. Currently,
  133. the `lchown' call will be used if available, but that's all.
  134. * POSIX compliance.
  135. GNU `tar' implements an early draft of the POSIX 1003.1 `ustar' standard
  136. which is different from the final standard. This will be progressively
  137. corrected over the incoming few years. Don't be mislead by the mere
  138. existence of the --posix option. Later releases will become able to
  139. read truly POSIX archives, and also to produce them under option. (Also,
  140. if you look at the internals, don't take the GNU extensions you see for
  141. granted, as they are planned to change.) GNU tar 2.0 will produce POSIX
  142. archives by default, but there is a long way before we get there.
  143. * What's next?
  144. The emphasis from 1.11.2 to 1.12 has been on solving the main portability,
  145. execution or usability bugs. This was accompanied all over with an
  146. internal cleanup in the sources, and the reassembly of a `tar' manual.
  147. The `BACKLOG' file shows an approximative priorisation of the many pending
  148. problems and suggestions. Besides pending problems and all other matters
  149. listed above, the cleanup is planned to continue and extend to the general
  150. organisation of the code, preparing a long time in advance for a possible
  151. merge of the `cpio' and `tar' distributions, into some common `paxutils'.
  152. We also want to address some long-awaited performance issues (for example:
  153. double buffering) or enhancements (for example: per-file compression).