]> Dogcows Code - chaz/tar/blobdiff - README
Remove --with-included-malloc.
[chaz/tar] / README
diff --git a/README b/README
index 437321f19cd30cd1b4b3410ace0e8757c7e82070..88a70df36a5fac4285a76b28d42c4e693df29e91 100644 (file)
--- a/README
+++ b/README
-This GNU tar 1.10.  Please send bug reports, etc., to
-bug-gnu-utils@prep.ai.mit.edu.  
+This is an unofficial port of GNU `tar' 1.12 to large
+file environments like Solaris 2.6 and HP-UX 10.20 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.
+
+
+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.
+
+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
+`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-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.13 or later.  Install Perl, then Automake
+1.4 or later.  You might need Bison 1.26 or later, and GNU tar itself.
+All are available on GNU archive sites, like in
+ftp://ftp.gnu.org/pub/gnu/.
+
+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.
+
+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'.
+
+.--------------------.
+| Installation hints |
+`--------------------'
+
+Here are a few hints which might help installing `tar' on some systems.
+
+* 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
+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
+to a value from the table below, before configuration (see `INSTALL').
+
+       Platform        Compiler        LDFLAGS
+
+       (any)           Gnu C           -static
+       AIX             (vendor)        "-bnso -bI:/lib/syscalls.exp"
+       HPUX            (vendor)        -Wl,-a,archive
+       IRIX            (vendor)        -non_shared
+       OSF             (vendor)        -non_shared
+       SCO 3.2v5       (vendor)        -dn
+       Solaris         (vendor)        -Bstatic
+       SunOS           (vendor)        -Bstatic
+
+* Failed `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.
+
+* 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.
+
+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'.
+
+* `%lld' unsupported in `printf'.
+
+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.  |
+`------------------'
+
+Here are a few special matters about GNU `tar', not related to build
+matters.  See previous section for such.
+
+* 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.
+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.
 
-GNU tar is based heavily on John Gilmore's public domain tar, but with
-added features.  The manual is currently being written.  An old
-manual, surely riddled with errors, is in tar.texinfo.  Please don't
-send in bug reports about that manual.  In particular, the mechanism
-for doing incremental dumps has been significantly changed.
+* POSIX compliance.
 
-This distribution also includes rmt, the remote tape server (which
-must reside in /etc).  The mt program is in the GNU cpio distribution.
+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.
 
-To compile tar (and rmt, if your system has the needed features) on
-Unix-like systems:
+* What's next?
 
-1.  Type `./configure'.  This shell script attempts to guess correct
-values for various system-dependent variables used during compilation,
-and creates the file `Makefile'.  This takes a couple of minutes.
-
-If you want to compile in a different directory from the one
-containing the source code, `cd' to that directory and run `configure'
-with the option `--srcdir=DIR', where DIR is the directory that
-contains the source code.  The object files and executables will be
-put in the current directory.  This option only works with versions of
-`make' that support the VPATH variable.  `configure' ignores any other
-arguments you give it.
-
-If your system requires unusual options for compilation or linking
-that `configure' doesn't know about, you can give `configure' initial
-values for variables by setting them in the environment; in
-Bourne-compatible shells, you can do that on the command line like
-this:
-$ CC='gcc -traditional' LIBS=-lposix ./configure
-
-2.  If you want to change the directories where the programs will be
-installed, or the optimization options, edit `Makefile' and change
-those values.  If you have an unusual system that needs special
-compilation options that `configure' doesn't know about, and you
-didn't pass them in the environment when running `configure', you
-should add them to `Makefile' now.  Alternately, teach `configure' how
-to figure out that it is being run on a system where they are needed,
-and mail the diffs to the address listed at the top of this file so we
-can include them in the next release.
-
-3.  Type `make'.
-
-4.  If your system needs to link with -lPW to get alloca, but has
-rename in the C library (so RENAME_MISSING is not used), -lPW might give
-you an incorrect version of rename.  On HP-UX this manifests itself as
-an undefined data symbol called "Error" when linking tar.  If this
-happens, use `ar x' to extract alloca.o from libPW.a and `ar rc' to
-put it in a library liballoca.a, and put that in LIBS instead of -lPW.
-This problem does not occur when using gcc, which has alloca built in.
-
-5.  If the programs compile successfully, type `make install' to
-install them.
-
-6.  After you have installed the programs, you can remove the binaries
-from the source directory by typing `make mostlyclean'.  Type `make
-clean' if you also want to remove `Makefile', for instance if you
-are going to recompile tar next on another type of machine.
-
-makefile.pc is a makefile for Turbo C 2.0 on MS-DOS.
-
-Various people have been having problems using floppies on a NeXT.
-I've gotten conflicting reports about what should be done to solve the
-problems, and we have no way to test it ourselves.
-
-
-User-visible changes since 1.09:
-
-Filename to -G is optional.  -C works right.  
-Names newer and --newer-mtime work right.
-
--g is now --incremental
--G is now --listed-incremental
-
-Sparse files now work correctly.
-
---volume is now called --label.
-
---exclude now takes a filename argument, and --exclude-from does what
---exclude used to do.
-
-Exit status is now correct.
-
---totals keeps track of total I/O and prints it when tar exits.
-
-When using --label with --extract, the label is now a regexp.
-
-New option --tape-length (-L) does multi-volume handling like BSD dump:
-you tell tar how big the tape is and it will prompt at that point
-instead of waiting for a write error.
-
-New backup scripts level-0 and level-1 which might be useful to
-people.  They use a file "backup-specs" for information, and shouldn't
-need local modification.  These are what we use to do all our backups
-at the FSF.
+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).
This page took 0.027615 seconds and 4 git commands to generate.