summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core/tar/PKGBUILD37
-rw-r--r--abs/core/tar/tar.1702
-rw-r--r--abs/core/tar/tar.install21
3 files changed, 390 insertions, 370 deletions
diff --git a/abs/core/tar/PKGBUILD b/abs/core/tar/PKGBUILD
index c7c9f74..d4dd25b 100644
--- a/abs/core/tar/PKGBUILD
+++ b/abs/core/tar/PKGBUILD
@@ -1,22 +1,33 @@
-# $Id: PKGBUILD 1082 2008-04-29 16:11:13Z andyrtr $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 98542 2010-11-11 03:48:12Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+
pkgname=tar
-pkgver=1.23
-pkgrel=2
+pkgver=1.25
+pkgrel=1
pkgdesc="Utility used to store, backup, and transport files"
arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/tar/tar.html"
license=('GPL3')
groups=('base')
-url="http://www.gnu.org/software/tar/tar.html"
-depends=('glibc' 'bash')
-source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2 tar.1)
+depends=('glibc' 'sh')
+options=('!emptydirs')
+install=tar.install
+source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2
+ tar.1)
+md5sums=('6e497f861c77bbba2f7da4e10270995b'
+ 'e0538778516a284e3558c454b2576c2f')
build() {
- cd $startdir/src/$pkgname-$pkgver
+ cd ${srcdir}/$pkgname-$pkgver
+
./configure --prefix=/usr --libexecdir=/usr/lib/tar --bindir=/bin
- make || return 1
- make DESTDIR=$startdir/pkg install
- install -D -m644 ../tar.1 $startdir/pkg/usr/share/man/man1/tar.1
+ make
+ make check
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+ make DESTDIR=${pkgdir} install
+ install -Dm644 ${srcdir}/tar.1 ${pkgdir}/usr/share/man/man1/tar.1
}
-md5sums=('41e2ca4b924ec7860e51b43ad06cdb7e'
- 'a5f8c5da7a9465ea1978145f3ef0610c')
diff --git a/abs/core/tar/tar.1 b/abs/core/tar/tar.1
index f7de1ec..872c8dc 100644
--- a/abs/core/tar/tar.1
+++ b/abs/core/tar/tar.1
@@ -1,376 +1,364 @@
-.\" @(#)tar.1 1.11.1 93/19/22 PJV;
-.TH TAR 1 "22 September 1993"
-.SH NAME
-tar \- The GNU version of the tar archiving utility
-.SH SYNOPSIS
-.B tar
-[
-.B \-
-]
-.B A --catenate --concatenate \||\| c --create \||\| d --diff --compare \||\| r --append \||\| t --list \||\| u --update \||\| x -extract --get
-[
-.B --atime-preserve
-]
-[
-.B -b, --block-size N
-]
-[
-.B -B, --read-full-blocks
-]
-[
-.B -C, --directory DIR
-]
-[
-.B --checkpoint
-]
-[
-.B -f, --file [HOSTNAME:]F
-]
-[
-.B --force-local
-]
-[
-.B -F, --info-script F --new-volume-script F
-]
-[
-.B -G, --incremental
-]
-[
-.B -g, --listed-incremental F
-]
-[
-.B -h, --dereference
-]
-[
-.B -i, --ignore-zeros
-]
-[
-.B -j, --bzip2
-]
-[
-.B --ignore-failed-read
-]
-[
-.B -k, --keep-old-files
-]
-[
-.B -K, --starting-file F
-]
-[
-.B -l, --one-file-system
-]
-[
-.B -L, --tape-length N
-]
-[
-.B -m, --modification-time
-]
-[
-.B -M, --multi-volume
-]
-[
-.B -N, --after-date DATE, --newer DATE
-]
-[
-.B -o, --old-archive, --portability
-]
-[
-.B -O, --to-stdout
-]
-[
-.B -p, --same-permissions, --preserve-permissions
-]
-[
-.B -P, --absolute-names
-]
-[
-.B --preserve
-]
-[
-.B -R, --record-number
-]
-[
-.B --remove-files
-]
-[
-.B -s, --same-order, --preserve-order
-]
-[
-.B --same-owner
-]
-[
-.B --numeric-owner
-]
-[
-.B -S, --sparse
-]
-[
-.B -T, --files-from F
-]
-[
-.B --null
-]
-[
-.B --totals
-]
-[
-.B -v, --verbose
-]
-[
-.B -V, --label NAME
-]
-[
-.B --version
-]
-[
-.B -w, --interactive, --confirmation
-]
-[
-.B -W, --verify
-]
-[
-.B --exclude=FILE
-]
-[
-.B -X, --exclude-from FILE
-]
-[
-.B -Z, --compress, --uncompress
-]
-[
-.B -z, --gzip, --ungzip
-]
-[
-.B --use-compress-program PROG
-]
-[
-.B --block-compress
-]
-[
-.B --rsh-command=CMD
-]
-[
-.B -[0-7][lmh]
-]
-.TP
-.I filename1 [ filename2, ... filenameN ]
-.TP
-.I directory1 [ directory2, ...directoryN ]
-.SH DESCRIPTION
-.LP
-This manual page documents the GNU version of
-.B tar
-, an archiving program designed to store and extract files from
-an archive file known as a
-.IR tarfile.
-A
-.IR tarfile
-may be made on a tape drive, however, it is also common
-to write a
-.IR tarfile
-to a normal file.
-The first argument to
-.B tar
-must be one of the options:
-.BR Acdrtux ,
-followed by any optional functions.
-The final arguments to
-.B tar
-are the names of the files or directories which should be archived. The use
-of a directory name always implies that the subdirectories below should be
-included in the archive.
-.SH EXAMPLES
-.TP
-.B tar -xvvf foo.tar
-extract foo.tar
-.TP
-.B tar -xvvzf foo.tar.gz
-extract gzipped foo.tar.gz
-.TP
-.B tar -cvvf foo.tar foo/
-tar contents of folder foo in foo.tar
-.SH "FUNCTION LETTERS"
-.TP
-.B One of the following options must be used:
-.TP
-.B -A, --catenate, --concatenate
+.\" generated by script on Wed Mar 10 17:01:09 2010
+.Dd Mar 10, 2010
+.Dt TAR 1
+.Sh NAME
+.Nm tar
+.Nd The GNU version of the tar archiving utility
+.Sh SYNOPSIS
+.Nm tar
+.Oo Fl Oc Cm A Fl \-catenate \-concatenate Cm \||\| c Fl \-create Cm \||\| d Fl \-diff \-compare Cm \||\| Fl \-delete Cm \||\| r Fl \-append Cm \||\| t Fl \-list Cm \||\| Fl \-test\-label Cm \||\| u Fl \-update Cm \||\| x Fl \-extract \-get
+.Op Ar options
+.Op Ar pathname ...
+.Sh DESCRIPTION
+.Nm Tar
+stores and extracts files from a tape or disk archive.
+.Pp
+The first argument to
+tar
+should be a function; either one of the letters
+.Cm Acdrtux ,
+or one of the long function names.
+A function letter need not be prefixed with ``\-'', and may be combined
+with other single-letter options.
+A long function name must be prefixed with
+.Cm \\-\\- .
+Some options take a parameter; with the single-letter form
+these must be given as separate arguments.
+With the long form, they may be given by appending
+.Cm = Ns Ar value
+to the option.
+.Sh FUNCTION LETTERS
+Main operation mode:
+.Bl -tag -width flag
+.It Fl A , Fl \-catenate , Fl \-concatenate
append tar files to an archive
-.TP
-.B -c, --create
+.It Fl c , Fl \-create
create a new archive
-.TP
-.B -d, --diff, --compare
+.It Fl d , Fl \-diff , Fl \-compare
find differences between archive and file system
-.TP
-.B --delete
-delete from the archive (not for use on mag tapes!)
-.TP
-.B -r, --append
+.It Fl \-delete
+delete from the archive (not on mag tapes!)
+.It Fl r , Fl \-append
append files to the end of an archive
-.TP
-.B -t, --list
+.It Fl t , Fl \-list
list the contents of an archive
-.TP
-.B -u, --update
-only append files that are newer than copy in archive
-.TP
-.B -x, --extract, --get
+.It Fl \-test\-label
+test the archive volume label and exit
+.It Fl u , Fl \-update
+only append files newer than copy in archive
+.It Fl x , Fl \-extract , Fl \-get
extract files from an archive
-.SH "OTHER OPTIONS"
-.TP
-.B --atime-preserve
-don't change access times on dumped files
-.TP
-.B -b, --block-size N
-block size of Nx512 bytes (default N=20)
-.TP
-.B -B, --read-full-blocks
-reblock as we read (for reading 4.2BSD pipes)
-.TP
-.B -C, --directory DIR
+.El
+.Sh OTHER OPTIONS
+Operation modifiers:
+.Bl -tag -width flag
+.It \-[0\-7][lmh]
+specify drive and density
+.It Fl a , Fl \-auto\-compress
+use archive suffix to determine the compression program
+.It Fl \-add\-file Ns \= Ns Ar FILE
+add given FILE to the archive (useful if its name starts with a dash)
+.It Fl \-anchored
+patterns match file name start
+.It Fl \-no\-anchored
+patterns match after any `/' (default for exclusion)
+.It Fl \-atime\-preserve
+preserve access times on dumped files, either by restoring the times
+.It Fl \-no\-auto\-compress
+do not use archive suffix to determine the compression program
+.It Fl b , Fl \-blocking\-factor Ar BLOCKS
+BLOCKS x 512 bytes per record
+.It Fl B , Fl \-read\-full\-records
+reblock as we read (for 4.2BSD pipes)
+.It Fl \-backup
+backup before removal, choose version CONTROL
+.It Fl C , Fl \-directory Ar DIR
change to directory DIR
-.TP
-.B --checkpoint
-print directory names while reading the archive
-.TP
-.B -f, --file [HOSTNAME:]F
-use archive file or device F (default "-", meaning stdin/stdout)
-.TP
-.B --force-local
-archive file is local even if has a colon
-.TP
-.B -F, --info-script F --new-volume-script F
+.It Fl \-check\-device
+check device numbers when creating incremental archives (default)
+.It Fl \-no\-check\-device
+do not check device numbers when creating incremental archives
+.It Fl \-checkpoint
+display progress messages every NUMBERth record (default 10)
+.It Fl \-checkpoint\-action Ns \= Ns Ar ACTION
+execute ACTION on each checkpoint
+.It Fl \-delay\-directory\-restore
+delay setting modification times and permissions of extracted
+.It Fl \-no\-delay\-directory\-restore
+cancel the effect of --delay-directory-restore option
+.It Fl \-exclude Ns \= Ns Ar PATTERN
+exclude files, given as a PATTERN
+.It Fl \-exclude\-backups
+exclude backup and lock files
+.It Fl \-exclude\-caches
+exclude contents of directories containing CACHEDIR.TAG,
+.It Fl \-exclude\-caches\-all
+exclude directories containing CACHEDIR.TAG
+.It Fl \-exclude\-caches\-under
+exclude everything under directories containing CACHEDIR.TAG
+.It Fl \-exclude\-tag Ns \= Ns Ar FILE
+exclude contents of directories containing FILE, except
+.It Fl \-exclude\-tag\-all Ns \= Ns Ar FILE
+exclude directories containing FILE
+.It Fl \-exclude\-tag\-under Ns \= Ns Ar FILE
+exclude everything under directories containing FILE
+.It Fl \-exclude\-vcs
+exclude version control system directories
+.It Fl f , Fl \-file Ar ARCHIVE
+use archive file or device ARCHIVE
+.It Fl F , Fl \-info\-script , Fl \-new\-volume\-script Ar NAME
run script at end of each tape (implies -M)
-.TP
-.B -G, --incremental
-create/list/extract old GNU-format incremental backup
-.TP
-.B -g, --listed-incremental F
-create/list/extract new GNU-format incremental backup
-.TP
-.B -h, --dereference
-don't dump symlinks; dump the files they point to
-.TP
-.B -i, --ignore-zeros
-ignore blocks of zeros in archive (normally mean EOF)
-.TP
-.B -j, --bzip2
-filter archive through bzip2, use to decompress .bz2 files
-.TP
-.B --ignore-failed-read
-don't exit with non-zero status on unreadable files
-.TP
-.B -k, --keep-old-files
-keep existing files; don't overwrite them from archive
-.TP
-.B -K, --starting-file F
-begin at file F in the archive
-.TP
-.B -l, --one-file-system
-stay in local file system when creating an archive
-.TP
-.B -L, --tape-length N
-change tapes after writing N*1024 bytes
-.TP
-.B -m, --modification-time
+.It Fl \-force\-local
+archive file is local even if it has a colon
+.It Fl g , Fl \-listed\-incremental Ar FILE
+handle new GNU-format incremental backup
+.It Fl G , Fl \-incremental
+handle old GNU-format incremental backup
+.It Fl \-group Ns \= Ns Ar NAME
+force NAME as group for added files
+.It Fl h , Fl \-dereference
+follow symlinks; archive and dump the files they point to
+.It Fl H , Fl \-format Ar FORMAT
+create archive of the given formatFORMAT is one of the following:
+.Bl -tag -width flag
+.It Fl \-format=gnu
+GNU tar 1.13.x format
+.It Fl \-format=oldgnu
+GNU format as per tar <= 1.12
+.It Fl \-format=pax
+POSIX 1003.1-2001 (pax) format
+.It Fl \-format=posix
+same as pax
+.It Fl \-format=ustar
+POSIX 1003.1-1988 (ustar) format
+.It Fl \-format=v7
+old V7 tar format
+.El
+.It Fl \-hard\-dereference
+follow hard links; archive and dump the files they refer to
+.It Fl i , Fl \-ignore\-zeros
+ignore zeroed blocks in archive (means EOF)
+.It Fl I , Fl \-use\-compress\-program Ar PROG
+filter through PROG (must accept -d)
+.It Fl \-ignore\-case
+ignore case
+.It Fl \-no\-ignore\-case
+case sensitive matching (default)
+.It Fl \-ignore\-command\-error
+ignore exit codes of children
+.It Fl \-no\-ignore\-command\-error
+treat non-zero exit codes of children as error
+.It Fl \-ignore\-failed\-read
+do not exit with nonzero on unreadable files
+.It Fl \-index\-file Ns \= Ns Ar FILE
+send verbose output to FILE
+.It Fl j , Fl \-bzip2
+
+.It Fl J , Fl \-xz
+
+.It Fl k , Fl \-keep\-old\-files
+don't replace existing files when extracting
+.It Fl K , Fl \-starting\-file Ar MEMBER-NAME
+begin at member MEMBER-NAME in the archive
+.It Fl \-keep\-newer\-files
+don't replace existing files that are newer than their archive copies
+.It Fl l , Fl \-check\-links
+print a message if not all links are dumped
+.It Fl L , Fl \-tape\-length Ar NUMBER
+change tape after writing NUMBER x 1024 bytes
+.It Fl \-level Ns \= Ns Ar NUMBER
+dump level for created listed-incremental archive
+.It Fl \-lzip
+
+.It Fl \-lzma
+
+.It Fl \-lzop
+
+.It Fl m , Fl \-touch
don't extract file modified time
-.TP
-.B -M, --multi-volume
+.It Fl M , Fl \-multi\-volume
create/list/extract multi-volume archive
-.TP
-.B -N, --after-date DATE, --newer DATE
-only store files newer than DATE
-.TP
-.B -o, --old-archive, --portability
-write a V7 format archive, rather than ANSI format
-.TP
-.B -O, --to-stdout
+.It Fl \-mode Ns \= Ns Ar CHANGES
+force (symbolic) mode CHANGES for added files
+.It Fl \-mtime Ns \= Ns Ar DATE-OR-FILE
+set mtime for added files from DATE-OR-FILE
+.It Fl n , Fl \-seek
+archive is seekable
+.It Fl N , Fl \-newer , Fl \-after\-date Ar DATE-OR-FILE
+only store files newer than DATE-OR-FILE
+.It Fl \-newer\-mtime Ns \= Ns Ar DATE
+compare date and time when data changed only
+.It Fl \-null
+-T reads null-terminated names, disable -C
+.It Fl \-no\-null
+disable the effect of the previous --null option
+.It Fl \-numeric\-owner
+always use numbers for user/group names
+.It Fl O , Fl \-to\-stdout
extract files to standard output
-.TP
-.B -p, --same-permissions, --preserve-permissions
-extract all protection information
-.TP
-.B -P, --absolute-paths
+.It Fl \-occurrence
+process only the NUMBERth occurrence of each file in the archive;
+.It Fl \-old\-archive , Fl \-portability
+same as --format=v7
+.It Fl \-one\-file\-system
+stay in local file system when creating archive
+.It Fl \-overwrite
+overwrite existing files when extracting
+.It Fl \-overwrite\-dir
+overwrite metadata of existing directories when extracting (default)
+.It Fl \-no\-overwrite\-dir
+preserve metadata of existing directories
+.It Fl \-owner Ns \= Ns Ar NAME
+force NAME as owner for added files
+.It Fl p , Fl \-preserve\-permissions , Fl \-same\-permissions
+extract information about file permissions (default for superuser)
+.It Fl P , Fl \-absolute\-names
don't strip leading `/'s from file names
-.TP
-.B --preserve
-like -p -s
-.TP
-.B -R, --record-number
-show record number within archive with each message
-.TP
-.B --remove-files
+.It Fl \-pax\-option Ns \= Ns Ar keyword[[:]=value][,keyword[[:]=value]]...
+control pax keywords
+.It Fl \-posix
+same as --format=posix
+.It Fl \-preserve
+same as both -p and -s
+.It Fl \-quote\-chars Ns \= Ns Ar STRING
+additionally quote characters from STRING
+.It Fl \-no\-quote\-chars Ns \= Ns Ar STRING
+disable quoting for characters from STRING
+.It Fl \-quoting\-style Ns \= Ns Ar STYLE
+set name quoting style; see below for valid STYLE values
+.It Fl R , Fl \-block\-number
+show block number within archive with each message
+.It Fl \-record\-size Ns \= Ns Ar NUMBER
+NUMBER of bytes per record, multiple of 512
+.It Fl \-recursion
+recurse into directories (default)
+.It Fl \-no\-recursion
+avoid descending automatically in directories
+.It Fl \-recursive\-unlink
+empty hierarchies prior to extracting directory
+.It Fl \-remove\-files
remove files after adding them to the archive
-.TP
-.B -s, --same-order, --preserve-order
-list of names to extract is sorted to match archive
-.TP
-.B --same-owner
-create extracted files with the same ownership
-.TP
-.B --numeric-owner
-always use numbers for user/group names
-.TP
-.B -S, --sparse
+.It Fl \-restrict
+disable use of some potentially harmful options
+.It Fl \-rmt\-command Ns \= Ns Ar COMMAND
+use given rmt COMMAND instead of rmt
+.It Fl \-rsh\-command Ns \= Ns Ar COMMAND
+use remote COMMAND instead of rsh
+.It Fl s , Fl \-preserve\-order , Fl \-same\-order
+sort names to extract to match archive
+.It Fl S , Fl \-sparse
handle sparse files efficiently
-.TP
-.B -T, --files-from F
-get names to extract or create from file F
-.TP
-.B --null
--T reads null-terminated names, disable -C
-.TP
-.B --totals
-print total bytes written with --create
-.TP
-.B -v, --verbose
+.It Fl \-same\-owner
+try extracting files with the same ownership as exists in the archive (default for superuser)
+.It Fl \-no\-same\-owner
+extract files as yourself (default for ordinary users)
+.It Fl \-no\-same\-permissions
+apply the user's umask when extracting permissions from the archive (default for ordinary users)
+.It Fl \-no\-seek
+archive is not seekable
+.It Fl \-show\-defaults
+show tar defaults
+.It Fl \-show\-omitted\-dirs
+when listing or extracting, list each directory that does not match search criteria
+.It Fl \-show\-transformed\-names , Fl \-show\-stored\-names
+show file or archive names after transformation
+.It Fl \-sparse\-version Ns \= Ns Ar MAJOR[.MINOR]
+set version of the sparse format to use (implies --sparse)
+.It Fl \-strip\-components Ns \= Ns Ar NUMBER
+strip NUMBER leading components from file names on extraction
+.It Fl \-suffix Ns \= Ns Ar STRING
+backup before removal, override usual suffix ('~' unless overridden by environment variable SIMPLE_BACKUP_SUFFIX)
+.It Fl T , Fl \-files\-from Ar FILE
+get names to extract or create from FILE
+.It Fl \-to\-command Ns \= Ns Ar COMMAND
+pipe extracted files to another program
+.It Fl \-totals
+print total bytes after processing the archive;
+.It Fl \-transform , Fl \-xform Ar EXPRESSION
+use sed replace EXPRESSION to transform file names
+.It Fl U , Fl \-unlink\-first
+remove each file prior to extracting over it
+.It Fl \-unquote
+unquote filenames read with -T (default)
+.It Fl \-no\-unquote
+do not unquote filenames read with -T
+.It Fl \-utc
+print file modification dates in UTC
+.It Fl v , Fl \-verbose
verbosely list files processed
-.TP
-.B -V, --label NAME
-create archive with volume name NAME
-.TP
-.B --version
-print tar program version number
-.TP
-.B -w, --interactive, --confirmation
+.It Fl V , Fl \-label Ar TEXT
+create archive with volume name TEXT; at list/extract time, use TEXT as a globbing pattern for volume name
+.It Fl \-volno\-file Ns \= Ns Ar FILE
+use/update the volume number in FILE
+.It Fl w , Fl \-interactive , Fl \-confirmation
ask for confirmation for every action
-.TP
-.B -W, --verify
+.It Fl W , Fl \-verify
attempt to verify the archive after writing it
-.TP
-.B --exclude=FILE
-exclude file FILE
-.TP
-.B -X, --exclude-from FILE
-exclude files listed in FILE
-.TP
-.B -Z, --compress, --uncompress
-filter the archive through compress
-.TP
-.B -z, --gzip, --ungzip
-filter the archive through gzip
-.TP
-.B --use-compress-program PROG
-filter the archive through PROG (which must accept -d)
-.TP
-.B --block-compress
-block the output of compression program for tapes
-.TP
-.B --rsh-command=CMD
-Use remote COMMAND instead of `rsh'. This option exists so that
-people who use something other than the standard `rsh' (e.g., a
-Kerberized `rsh') can access a remote device.
-.TP
-.B -[0-7][lmh]
-specify drive and density
-.SH BUGS
-.LP
-The GNU folks, in general, abhor man pages, and create info documents instead.
-The maintainer of tar falls into this category. This man page is neither
-complete, nor current, and was included in the Debian Linux packaging of tar
-entirely to reduce the frequency with which the lack of a man page gets
-reported as a bug in our defect tracking system.
+.It Fl \-warning Ns \= Ns Ar KEYWORD
+warning control
+.It Fl \-wildcards
+use wildcards (default for exclusion)
+.It Fl \-wildcards\-match\-slash
+wildcards match `/' (default for exclusion)
+.It Fl \-no\-wildcards\-match\-slash
+wildcards do not match `/'
+.It Fl \-no\-wildcards
+verbatim string matching
+.It Fl X , Fl \-exclude\-from Ar FILE
+exclude patterns listed in FILE
+.It Fl z , Fl \-gzip , Fl \-gunzip Fl \-ungzip
-If you really want to understand tar, then you should run info and read the
-tar info pages, or use the info mode in emacs.
+.It Fl Z , Fl \-compress , Fl \-uncompress
+.El
+.Sh ENVIRONMENT
+The behavior of tar is controlled by the following environment variables,
+among others:
+.Bl -tag -width Ds
+.It Ev SIMPLE_BACKUP_SUFFIX
+Backup prefix to use when extracting, if
+.Fl \-suffix
+is not specified.
+The backup suffix defaults to `~' if neither is specified.
+.It Ev TAR_OPTIONS
+Options to prepend to those specified on the command line, separated by
+whitespace. Embedded backslashes may be used to escape whitespace or
+backslashes within an option.
+.It Ev TAPE
+Device or file to use for the archive if
+.Fl \-file
+is not specified.
+If this environment variable is unset, use stdin or stdout instead.
+.El
+.Sh EXAMPLES
+Create archive.tar from files foo and bar.
+.Bd -literal -offset indent -compact
+tar \-cf archive.tar foo bar
+.Ed
+List all files in archive.tar verbosely.
+.Bd -literal -offset indent -compact
+tar \-tvf archive.tar
+.Ed
+Extract all files from archive.tar.
+.Bd -literal -offset indent -compact
+tar \-xf archive.tar
+.Ed
+.Sh SEE ALSO
+.\" libarchive
+.Xr tar 5 ,
+.\" man-pages
+.Xr symlink 7 ,
+.Xr rmt 8
+.Sh HISTORY
+The
+.Nm tar
+command appeared in
+.At v7 .
+.Sh BUGS
+The GNU folks, in general, abhor man pages, and create info documents instead.
+Unfortunately, the info document describing tar is licensed under the GFDL with
+invariant cover texts, which makes it impossible to include any text
+from that document in this man page.
+Most of the text in this document was automatically extracted from the usage
+text in the source.
+It may not completely describe all features of the program.
diff --git a/abs/core/tar/tar.install b/abs/core/tar/tar.install
new file mode 100644
index 0000000..2f36c3c
--- /dev/null
+++ b/abs/core/tar/tar.install
@@ -0,0 +1,21 @@
+infodir=/usr/share/info
+filelist=(tar.info tar.info-1 tar.info-2)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+