-Here is GNU `tar' 1.12. Please glance through *all* sections of this
+README for GNU tar
+See the end of file for copying conditions.
+
+* Introduction
+
+Please glance through *all* sections of this
`README' file before starting configuration. Also make sure you read files
`ABOUT-NLS' and `INSTALL' if you are not familiar with them already.
-If you got the `tar' distribution in `shar' format, timestamps ought to be
-properly restored, do not ignore such complaints at `unshar' time.
+If you got the `tar' distribution in `shar' format, time stamps ought to be
+properly restored; do not ignore such complaints at `unshar' time.
GNU `tar' saves many files together into a single tape or disk
archive, and can restore individual files from the archive. It includes
GNU `tar' is derived from John Gilmore's public domain `tar'.
See file `ABOUT-NLS' for how to customize this program to your language.
-See file `BACKLOG' for a summary of pending mail and articles.
See file `COPYING' for copying conditions.
See file `INSTALL' for compilation and installation instructions.
See file `PORTS' for various ports of GNU tar to non-Unix systems.
See file `THANKS' for a list of contributors.
Besides those configure options documented in files `INSTALL' and
-`ABOUT-NLS', a few extra options may be accepted after `./configure':
+`ABOUT-NLS', an extra option may be accepted after `./configure':
+
+* Install
+
+** Selecting the default archive format.
-* `--with-included-malloc' or `--without-included-malloc' may override
-the automatic choice made by `configure' about using included GNU malloc.
+The default archive format is GNU, this can be overridden by
+presetting DEFAULT_ARCHIVE_FORMAT while configuring. The allowed
+values are GNU, V7, OLDGNU, USTAR and POSIX.
-* `--with-dmalloc' is a debugging option for looking at memory management
-problems, it prerequires Gray Watson's package, which is available as
-`ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz'.
+** Selecting the default archive device
The default archive device is now `stdin' on read and `stdout' on write.
The installer can still override this by presetting `DEFAULT_ARCHIVE'
`-[0-7]lmh' options in `tar' are then derived automatically). Similarly,
`DEFAULT_BLOCKING' can be preset to something else than 20.
-For comprehensive modifications to GNU tar, you might need tools beyond
-those used in simple installations. Fully install GNU m4 1.4 first,
-and only then, Autoconf 2.12 with officious patches held in `AC-PATCHES'.
-Install Perl, then Automake 1.1n with officious patches in `AM-PATCHES'.
-You might need Bison 1.25 with officious patches in `BI-PATCHES' (but yacc
-and byacc may be OK for you), and GNU tar itself. All are available on
-GNU archive sites, like in ftp://prep.ai.mit.edu/pub/gnu/, but Automake
-is still ftp://ftp.cygnus.com/pub/tromey/automake-1.1n.tar.gz.
-
-Send bug reports to `tar-bugs@gnu.ai.mit.edu'. (Beware, old-timers: it is
-`@gnu', not `@prep'; and not `bug-gnu-utils' anymore.) A bug report is
-an adequate description of the problem: your input, what you expected,
-what you got, and why this is wrong. Diffs are welcome, but they only
-describe a solution, from which the problem might be uneasy to infer.
-If needed, submit actual data files with your report. Small data files
-are preferred. Big files may sometimes be necessary, but do not send them
-to the report address; rather take special arrangement with the maintainer.
+** Selecting full pathname of the "rmt" binary.
-Your feedback will help us to make a better and more portable package.
-Consider documentation errors as bugs, and report them as such. If you
-develop anything pertaining to `tar' or have suggestions, let us know
-and share your findings by writing at `tar-forum@iro.umontreal.ca'.
+Previous versions of tar always looked for "rmt" binary in the
+directory "/etc/rmt". However, the "rmt" program included
+in the distribution was installed under "$prefix/libexec/rmt".
+To fix this discrepancy, tar now looks for "$prefix/libexec/rmt".
+If you do not want this behavior, specify full path name of
+"rmt" binary using DEFAULT_RMT_DIR variable, e.g.:
+
+./configure DEFAULT_RMT_DIR=/etc
+
+If you already have a copy of "rmt" installed and wish to use it
+instead of the version supplied with the distribution, use --with-rmt
+option:
+
+./configure --with-rmt=/etc/rmt
-.--------------------.
-| Installation hints |
-`--------------------'
+This will also disable building the included version of rmt.
+
+** Installing backup scripts.
+
+This version of tar is shipped with the shell scripts for producing
+incremental backups (dumps) and restoring filesystems from them.
+The name of the backup script is "backup". The name of the
+restore script is "restore". They are installed in "$prefix/sbin"
+directory.
+
+Use option --enable-backup-scripts to compile and install these
+scripts.
+
+** `--disable-largefile' omits support for large files, even if the
+operating system supports large files. Typically, large files are
+those larger than 2 GB on a 32-bit host.
+
+* Installation hints
Here are a few hints which might help installing `tar' on some systems.
-* Static linking.
+** gzip and bzip2.
+
+GNU tar uses the gzip and bzip2 programs to read and write compressed
+archives. If you don't have these programs already, you need to
+install them. Their sources can be found at:
+
+ftp://ftp.gnu.org/gnu/gzip/
+http://sourceware.cygnus.com/bzip2/
+
+If you see the following symptoms:
+
+ $ tar -xzf file.tar.gz
+ gzip: stdin: decompression OK, trailing garbage ignored
+ tar: Child returned status 2
+
+then you have encountered a gzip incompatibility that should be fixed
+in gzip test version 1.3, which as of this writing is available at
+<ftp://alpha.gnu.org/gnu/gzip/>. You can work around the
+incompatibility by using a shell command like
+ `gzip -d <file.tar.gz | tar -xzf -'.
+
+** Solaris issues.
+
+GNU tar exercises many features that can cause problems with older GCC
+versions. In particular, GCC 2.8.1 (sparc, -O1 or -O2) is known to
+miscompile GNU tar. No compiler-related problems have been reported
+when using GCC 2.95.2 or later.
+
+Recent versions of Solaris tar sport a new -E option to generate
+extended headers in an undocumented format. GNU tar does not
+understand these headers.
+
+** Static linking.
Some platform will, by default, prepare a smaller `tar' executable
which depends on shared libraries. Since GNU `tar' may be used for
Platform Compiler LDFLAGS
(any) Gnu C -static
- AIX (vendor) "-bnso -bI:/lib/syscalls.exp"
+ AIX (vendor) -bnso -bI:/lib/syscalls.exp
HPUX (vendor) -Wl,-a,archive
IRIX (vendor) -non_shared
OSF (vendor) -non_shared
Solaris (vendor) -Bstatic
SunOS (vendor) -Bstatic
-* Failed `incremen.sh'.
+** Failed tests `ignfail.sh' or `incremen.sh'.
-In an NFS environment, lack of synchronisation between machine clocks
-might create difficulties to any tool comparing dates and file timestamps,
-like `tar' in incremental dumps. This has been a recurrent problem in
-GNU Makefiles for the last few years. We would like a general solution.
+In an NFS environment, lack of synchronization between machine clocks
+might create difficulties to any tool comparing dates and file time stamps,
+like `tar' in incremental dumps. This has been a recurrent problem with
+GNU Make for the last few years. We would like a general solution.
-* BSD compatibility matters.
+** BSD compatibility matters.
Set LIBS to `-lbsd' before configuration (see `INSTALL') if the linker
-complains about undefined `valloc' (AIX) or `bsd_ioctl' (Slackware).
-Also set CPPFLAGS to `-I/usr/include/bsd/sys' before configuration to
-solve dirent problems (NeXT), or to `-I/usr/include/bsd' if <sgtty.h>
-is not found (Slackware).
-
-* `union wait' problems.
+complains about `bsd_ioctl' (Slackware). Also set CPPFLAGS to
+`-I/usr/include/bsd' if <sgtty.h> is not found (Slackware).
-Configuration of `union wait' does not always take the best decision.
-If you have this problem, edit file `config.cache' after configuration,
-find the line about `tar_cv_header_union_wait', change `yes' by `no'
-or vice-versa, execute `./config.status', then launch `make'.
+** OPENStep 4.2 swap files
-* `%lld' unsupported in `printf'.
+Tar cannot read the file /private/vm/swapfile.front (even as root).
+This file is not a real file, but some kind of uncompressed view of
+the real compressed swap file; there is no reason to back it up, so
+the simplest workaround is to avoid tarring this file.
-GNU C has `long long', but the underneath C library might not support
-the `%lld' format. If you have this problem, edit file `config.cache'
-after configuration, find the line about `ac_cv_sizeof_long_long, change
-`8' by `0', execute `./config.status', then launch `make'.
-
-* FreeBSD users -- `configure' fails.
-
-It has been reported that `configure' does not run on FreeBSD 2.1.7,
-because of a buggy `sh'. It works using `bash', however.
-
-* ISC users -- `S_*' symbols undefined.
-
-On ISC 4.1mu, POSIX environment, set CFLAGS to `-posix' and CPPFLAGS to
-`-D_SYSV3' before configuration (see `INSTALL'). This will trigger the
-definition of a few `S_' prefixed symbols from <sys/stat.h>.
-
-* Ultrix users -- broken `make'.
-
-It seems that Ultrix make does not correctly handle shell commands
-having logical connectives in them. Use `s5make' if you have it, try
-`PROG_ENV=SYSTEM_FIVE make' (works on Ultrix 4.4), or install GNU Make.
-
-.------------------.
-| Special topics. |
-`------------------'
+* Special topics
Here are a few special matters about GNU `tar', not related to build
matters. See previous section for such.
-* File attributes.
+** File attributes.
About *security*, it is probable that future releases of `tar' will have
-some behaviour changed. There are many pending suggestions to choose from.
+some behavior changed. There are many pending suggestions to choose from.
Today, extracting an archive not being `root', `tar' will restore suid/sgid
bits on files but owned by the extracting user. `root' automatically gets
-a lot of special priviledges, `-p' might later become required to get them.
+a lot of special privileges, `-p' might later become required to get them.
GNU `tar' does not properly restore symlink attributes. Various systems
-implement flavours of symbolic links showing different behaviour and
+implement flavors of symbolic links showing different behavior and
properties. We did not successfully sorted all these out yet. Currently,
the `lchown' call will be used if available, but that's all.
-* POSIX compliance.
+** POSIX compliance.
+
+GNU `tar' is able to create archive in the following formats:
-GNU `tar' implements an early draft of the POSIX 1003.1 `ustar' standard
-which is different from the final standard. This will be progressively
-corrected over the incoming few years. Don't be mislead by the mere
-existence of the --posix option. Later releases will become able to
-read truly POSIX archives, and also to produce them under option. (Also,
-if you look at the internals, don't take the GNU extensions you see for
-granted, as they are planned to change.) GNU tar 2.0 will produce POSIX
-archives by default, but there is a long way before we get there.
+ *** The format of UNIX version 7
+ *** POSIX.1-1988 format, also known as "ustar format"
+ *** POSIX.1-2001 format, also known as "pax format"
+ *** Old GNU format (described below)
+
+In addition to those, GNU `tar' is also able to read archives
+produced by `star' archiver.
+
+A so called `Old GNU' format is based on an early draft of the
+POSIX 1003.1 `ustar' standard which is different from the final
+standard. It defines its extensions (such as incremental backups
+and handling of the long file names) in a way incompatible with
+any existing tar archive format, therefore the use of old GNU
+format is strongly discouraged.
+
+Please read the file NEWS for more information about POSIX compliance
+and new `tar' features.
* What's next?
-The emphasis from 1.11.2 to 1.12 has been on solving the main portability,
-execution or usability bugs. This was accompanied all over with an
-internal cleanup in the sources, and the reassembly of a `tar' manual.
-
-The `BACKLOG' file shows an approximative priorisation of the many pending
-problems and suggestions. Besides pending problems and all other matters
-listed above, the cleanup is planned to continue and extend to the general
-organisation of the code, preparing a long time in advance for a possible
-merge of the `cpio' and `tar' distributions, into some common `paxutils'.
-We also want to address some long-awaited performance issues (for example:
-double buffering) or enhancements (for example: per-file compression).
+GNU tar will be merged into GNU paxutils: a project containing
+several utilities related to creating and handling archives in
+various formats. The project will include tar, cpio and pax
+utilities.
+
+* Bug reporting.
+
+Send bug reports to <bug-tar@gnu.org>. A bug report should contain
+an adequate description of the problem, your input, what you expected,
+what you got, and why this is wrong. Diffs are welcome, but they only
+describe a solution, from which the problem might be uneasy to infer.
+If needed, submit actual data files with your report. Small data files
+are preferred. Big files may sometimes be necessary, but do not send them
+to the report address; rather take special arrangement with the maintainer.
+
+Your feedback will help us to make a better and more portable package.
+Consider documentation errors as bugs, and report them as such. If you
+develop anything pertaining to `tar' or have suggestions, let us know
+and share your findings by writing to <bug-tar@gnu.org>.
+
+\f
+* Copying
+
+ Copyright (C) 1990, 1991, 1992, 1994, 1997, 1998, 1999, 2000,
+ 2001, 2003, 2004, 2007 Free Software Foundation, Inc.
+
+ This file is part of GNU tar.
+
+ GNU tar is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GNU tar is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with tar; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+\f
+Local Variables:
+mode: outline
+paragraph-separate: "[ \f]*$"
+version-control: never
+End:
+