]> Dogcows Code - chaz/tar/blobdiff - README
Options to control option handling in file lists.
[chaz/tar] / README
diff --git a/README b/README
index 8ce078b74f78ac3c9c750bb25d2a9e886c105cea..ed5d79887a58f7384c5f176ee387b5a8b423b7fa 100644 (file)
--- a/README
+++ b/README
-GNU `tar' 1.12.lfs.3 is an unofficial port of GNU `tar' 1.12 to Large
-File Summit (LFS) environments like Solaris 2.6 that rely on integer
-system types longer than `long'.  Ordinary GNU `tar' 1.12 cannot handle
-files larger than 2 GB when compiled in such environments.  This port
-addresses that problem, and fixes some other well-known bugs in GNU tar 1.12.
-Please send bug reports specific to this unofficial version of GNU `tar'
-to <eggert@twinsun.com>.
-
-This is not intended to be a forked release for GNU tar; it's
-just an interim experimental release, mostly intended for
-Large File Summit hosts like Solaris 2.6.  The patches of this
-release have all been submitted via the usual channels and
-they should no longer be needed once the next official release
-of GNU tar is out.
+README for GNU tar
+See the end of file for copying conditions.
 
 
+* Introduction
 
 Please glance through *all* sections of this
 
 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.
+'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
+GNU 'tar' saves many files together into a single tape or disk
 archive, and can restore individual files from the archive.  It includes
 multivolume support, the ability to archive sparse files, automatic archive
 compression/decompression, remote archives and special features that allow
 archive, and can restore individual files from the archive.  It includes
 multivolume support, the ability to archive sparse files, automatic archive
 compression/decompression, remote archives and special features that allow
-`tar' to be used for incremental and full backups.  This distribution
-also includes `rmt', the remote tape server.  The `mt' tape drive control
-program is in the GNU `cpio' distribution.
-
-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 `NEWS' for a list of major changes in the current release.
-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':
-
-* `--with-included-malloc' or `--without-included-malloc' may override
-the automatic choice made by `configure' about using included GNU malloc.
-
-* `--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'.
-
-The default archive device is now `stdin' on read and `stdout' on write.
-The installer can still override this by presetting `DEFAULT_ARCHIVE'
-in the environment before configuring (the behavior of `-[0-7]' or
-`-[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.
+'tar' to be used for incremental and full backups.  This distribution
+also includes 'rmt', the remote tape server.  The 'mt' tape drive control
+program is in the GNU 'cpio' distribution.
 
 
-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'.
+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 'COPYING' for copying conditions.
+See file 'INSTALL' for compilation and installation instructions.
+See file 'NEWS' for a list of major changes in the current release.
+See file 'THANKS' for a list of contributors.
+
+Besides those configure options documented in files 'INSTALL' and
+'ABOUT-NLS', an extra option may be accepted after './configure':
+
+* Install
+
+** Selecting the default archive format.
+
+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.
+
+** 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'
+in the environment before configuring (the behavior of '-[0-7]' or
+'-[0-7]lmh' options in 'tar' are then derived automatically).  Similarly,
+'DEFAULT_BLOCKING' can be preset to something else than 20.
+
+** Selecting full pathname of the "rmt" binary.
+
+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
+
+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 |
-`--------------------'
+* Installation hints
 
 
-Here are a few hints which might help installing `tar' on some systems.
+Here are a few hints which might help installing 'tar' on some systems.
 
 
-* Static linking.
+** gzip and bzip2.
 
 
-Some platform will, by default, prepare a smaller `tar' executable
-which depends on shared libraries.  Since GNU `tar' may be used for
+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
 system-level backups and disaster recovery, installers might prefer to
 system-level backups and disaster recovery, installers might prefer to
-force static linking, making a bigger `tar' executable maybe, but able to
+force static linking, making a bigger 'tar' executable maybe, but able to
 work standalone, in situations where shared libraries are not available.
 The way to achieve static linking varies between systems.  Set LDFLAGS
 work standalone, in situations where shared libraries are not available.
 The way to achieve static linking varies between systems.  Set LDFLAGS
-to a value from the table below, before configuration (see `INSTALL').
+to a value from the table below, before configuration (see 'INSTALL').
 
        Platform        Compiler        LDFLAGS
 
        (any)           Gnu C           -static
 
        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
        HPUX            (vendor)        -Wl,-a,archive
        IRIX            (vendor)        -non_shared
        OSF             (vendor)        -non_shared
@@ -105,93 +136,118 @@ to a value from the table below, before configuration (see `INSTALL').
        Solaris         (vendor)        -Bstatic
        SunOS           (vendor)        -Bstatic
 
        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).
+Set LIBS to '-lbsd' before configuration (see 'INSTALL') if the linker
+complains about 'bsd_ioctl' (Slackware).  Also set CPPFLAGS to
+'-I/usr/include/bsd' if <sgtty.h> is not found (Slackware).
 
 
-* `union wait' problems.
+** OPENStep 4.2 swap files
 
 
-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'.
+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.
 
 
-* `%lld' unsupported in `printf'.
+* Special topics
 
 
-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'.
+Here are a few special matters about GNU 'tar', not related to build
+matters.  See previous section for such.
 
 
-* FreeBSD users -- `configure' fails.
+** File attributes.
 
 
-It has been reported that `configure' does not run on FreeBSD 2.1.7,
-because of a buggy `sh'.  It works using `bash', however.
+About *security*, it is probable that future releases of 'tar' will have
+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 privileges, '-p' might later become required to get them.
 
 
-* ISC users -- `S_*' symbols undefined.
+GNU 'tar' does not properly restore symlink attributes.  Various systems
+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.
 
 
-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>.
+** POSIX compliance.
 
 
-* Ultrix users -- broken `make'.
+GNU 'tar' is able to create archive in the following formats:
 
 
-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.
+  *** 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)
 
 
-.------------------.
-| Special topics.  |
-`------------------'
+In addition to those, GNU 'tar' is also able to read archives
+produced by 'star' archiver.
 
 
-Here are a few special matters about GNU `tar', not related to build
-matters.  See previous section for such.
+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.
 
 
-* File attributes.
+Please read the file NEWS for more information about POSIX compliance
+and new 'tar' features.
 
 
-About *security*, it is probable that future releases of `tar' will have
-some behaviour 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.
-
-GNU `tar' does not properly restore symlink attributes.  Various systems
-implement flavours of symbolic links showing different behaviour and
-properties.  We did not successfully sorted all these out yet.  Currently,
-the `lchown' call will be used if available, but that's all.
+* What's next?
 
 
-* POSIX compliance.
+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.
 
 
-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.
+* Bug reporting.
 
 
-* What's next?
+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.
 
 
-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).
+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 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2014 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 of the License, 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 this program.  If not, see <http://www.gnu.org/licenses/>.
+
+NOTE ON COPYRIGHT YEARS
+
+In copyright notices where the copyright holder is the Free Software
+Foundation, then where a range of years appears, this is an inclusive
+range that applies to every year in the range.  For example: 2005-2008
+represents the years 2005, 2006, 2007, and 2008.
+\f
+Local Variables:
+mode: outline
+paragraph-separate: "[ \f]*$"
+version-control: never
+End:
This page took 0.03729 seconds and 4 git commands to generate.