From e6a153e25b91d367a53402de9ed4a8496fa5b9f7 Mon Sep 17 00:00:00 2001 From: Juergen Daubert Date: Sun, 22 Oct 2006 19:48:14 +0200 Subject: [PATCH] tar: removed 1.5 patches, updated tar.1 man-page, added rmt.8 man-page --- tar/.footprint | 2 + tar/.md5sum | 3 +- tar/Pkgfile | 5 +- tar/rmt.8 | 223 ++++++++++++++++++++ tar/tar-1.15.1-rootp.patch | 15 -- tar/tar-1.15.1-sparse.patch | 26 --- tar/tar.1 | 404 +++++++++++++++++------------------- 7 files changed, 421 insertions(+), 257 deletions(-) create mode 100644 tar/rmt.8 delete mode 100644 tar/tar-1.15.1-rootp.patch delete mode 100644 tar/tar-1.15.1-sparse.patch diff --git a/tar/.footprint b/tar/.footprint index 27f53ea1..d08b8025 100644 --- a/tar/.footprint +++ b/tar/.footprint @@ -7,3 +7,5 @@ drwxr-xr-x root/root usr/lib/tar/ drwxr-xr-x root/root usr/man/ drwxr-xr-x root/root usr/man/man1/ -rw-r--r-- root/root usr/man/man1/tar.1.gz +drwxr-xr-x root/root usr/man/man8/ +-rw-r--r-- root/root usr/man/man8/rmt.8.gz diff --git a/tar/.md5sum b/tar/.md5sum index 9a505c87..96a6654b 100644 --- a/tar/.md5sum +++ b/tar/.md5sum @@ -1,3 +1,4 @@ +6a56bc4bb64fc9bb48d28e66a30ad937 rmt.8 3127a182050481f5dd5108a40228adbc tar-1.16-rootp.patch d6fe544e834a8f9db6e6c7c2d38ec100 tar-1.16.tar.bz2 -3f32d11defc901c8487566a1cddae663 tar.1 +ee376e4ebc14d72d243b4dd4f2b9553d tar.1 diff --git a/tar/Pkgfile b/tar/Pkgfile index 52a92e7c..05645f10 100644 --- a/tar/Pkgfile +++ b/tar/Pkgfile @@ -6,7 +6,7 @@ name=tar version=1.16 release=1 source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2 \ - $name-$version-rootp.patch tar.1) + $name-$version-rootp.patch tar.1 rmt.8) build() { cd $name-$version @@ -17,5 +17,6 @@ build() { make make DESTDIR=$PKG install rm -rf $PKG/{sbin,share} - install -D -m 644 ../tar.1 $PKG/usr/man/man1/tar.1 + install -D -m 644 $SRC/tar.1 $PKG/usr/man/man1/tar.1 + install -D -m 644 $SRC/rmt.8 $PKG/usr/man/man8/rmt.8 } diff --git a/tar/rmt.8 b/tar/rmt.8 new file mode 100644 index 00000000..ba709c96 --- /dev/null +++ b/tar/rmt.8 @@ -0,0 +1,223 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)rmt.8 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt RMT 8 +.Os BSD 4.2 +.Sh NAME +.Nm rmt +.Nd remote magtape protocol module +.Sh SYNOPSIS +.Nm rmt +.Sh DESCRIPTION +.Nm Rmt +is a program used by tar, cpio, mt, and the remote dump and restore +programs in manipulating a magnetic tape drive through an interprocess +communication connection. +.Nm Rmt +is normally started up with an +.Xr rexec 3 +or +.Xr rcmd 3 +call or the +.Xr rsh 1 +command. +.Pp +The +.Nm rmt +program accepts requests specific to the manipulation of +magnetic tapes, performs the commands, then responds with +a status indication. All responses are in +.Tn ASCII +and in +one of two forms. +Successful commands have responses of: +.Bd -filled -offset indent +.Sm off +.Sy A Ar number No \en +.Sm on +.Ed +.Pp +.Ar Number +is an +.Tn ASCII +representation of a decimal number. +Unsuccessful commands are responded to with: +.Bd -filled -offset indent +.Sm off +.Xo Sy E Ar error-number +.No \en Ar error-message +.No \en +.Xc +.Sm on +.Ed +.Pp +.Ar Error-number +is one of the possible error +numbers described in +.Xr intro 2 +and +.Ar error-message +is the corresponding error string as printed +from a call to +.Xr perror 3 . +The protocol is comprised of the +following commands, which are sent as indicated - no spaces are supplied +between the command and its arguments, or between its arguments, and +.Ql \en +indicates that a newline should be supplied: +.Bl -tag -width Ds +.Sm off +.It Xo Sy \&O Ar device +.No \en Ar mode No \en +.Xc +Open the specified +.Ar device +using the indicated +.Ar mode . +.Ar Device +is a full pathname and +.Ar mode +is an +.Tn ASCII +representation of a decimal +number suitable for passing to +.Xr open 2 . +If a device had already been opened, it is +closed before a new open is performed. +.It Xo Sy C Ar device No \en +.Xc +Close the currently open device. The +.Ar device +specified is ignored. +.It Xo Sy L +.Ar offset No \en +.Ar whence No \en +.Xc +.Sm on +Perform an +.Xr lseek 2 +operation using the specified parameters. +The response value is that returned from the +.Xr lseek +call. +.Sm off +.It Sy W Ar count No \en +.Sm on +Write data onto the open device. +.Nm Rmt +reads +.Ar count +bytes from the connection, aborting if +a premature end-of-file is encountered. +The response value is that returned from +the +.Xr write 2 +call. +.Sm off +.It Sy R Ar count No \en +.Sm on +Read +.Ar count +bytes of data from the open device. +If +.Ar count +exceeds the size of the data buffer (10 kilobytes), it is +truncated to the data buffer size. +.Nm rmt +then performs the requested +.Xr read 2 +and responds with +.Sm off +.Sy A Ar count-read No \en +.Sm on +if the read was +successful; otherwise an error in the +standard format is returned. If the read +was successful, the data read is then sent. +.Sm off +.It Xo Sy I Ar operation +.No \en Ar count No \en +.Xc +.Sm on +Perform a +.Dv MTIOCOP +.Xr ioctl 2 +command using the specified parameters. +The parameters are interpreted as the +.Tn ASCII +representations of the decimal values +to place in the +.Ar mt_op +and +.Ar mt_count +fields of the structure used in the +.Xr ioctl +call. The return value is the +.Ar count +parameter when the operation is successful. +.It Sy S +Return the status of the open device, as +obtained with a +.Dv MTIOCGET +.Xr ioctl +call. If the operation was successful, +an ``ack'' is sent with the size of the +status buffer, then the status buffer is +sent (in binary). +.El +.Sm on +.Pp +Any other command causes +.Nm rmt +to exit. +.Sh DIAGNOSTICS +All responses are of the form described above. +.Sh SEE ALSO +.Xr tar 1 , +.Xr cpio 1 , +.Xr mt 1 , +.Xr rsh 1 , +.Xr rcmd 3 , +.Xr rexec 3 , +.Xr mtio 4 , +.Xr rdump 8 , +.Xr rrestore 8 +.Sh BUGS +People should be discouraged from using this for a remote +file access protocol. +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.2 . diff --git a/tar/tar-1.15.1-rootp.patch b/tar/tar-1.15.1-rootp.patch deleted file mode 100644 index b9232e6b..00000000 --- a/tar/tar-1.15.1-rootp.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- src/extract.c.orig 2005-12-25 23:41:40.820662032 +0100 -+++ src/extract.c 2005-12-25 23:42:56.056224488 +0100 -@@ -112,8 +112,10 @@ void - extr_init (void) - { - we_are_root = geteuid () == 0; -- same_permissions_option += we_are_root; -- same_owner_option += we_are_root; -+ -+ /* Don't keep permissions by default if we are root. */ -+ /* same_permissions_option += we_are_root; */ -+ /* same_owner_option += we_are_root; */ - - /* Save 'root device' to avoid purging mount points. - FIXME: Should the same be done after handling -C option ? */ diff --git a/tar/tar-1.15.1-sparse.patch b/tar/tar-1.15.1-sparse.patch deleted file mode 100644 index f8a36130..00000000 --- a/tar/tar-1.15.1-sparse.patch +++ /dev/null @@ -1,26 +0,0 @@ -Submitted By: Jim Gifford (patches at jg555 dot com) -Date: 2005-03-19 -Initial Package Version: 1.15.1 -Origin: Tar Bug Reports List -Upstream Status: Applied -Description: Fixes large file corruptions using option -S - http://lists.gnu.org/archive/html/bug-tar/2005-03/msg00004.html ---- tar-1.15.1/src/sparse.c.orig 2005-03-20 04:23:34.144506120 +0000 -+++ tar-1.15.1/src/sparse.c 2005-03-20 04:23:56.842055568 +0000 -@@ -1,6 +1,6 @@ - /* Functions for dealing with sparse files - -- Copyright (C) 2003, 2004 Free Software Foundation, Inc. -+ Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the -@@ -182,7 +182,7 @@ - { - static char buffer[BLOCKSIZE]; - size_t count; -- size_t offset = 0; -+ off_t offset = 0; - struct sp_array sp = {0, 0}; - - if (!lseek_or_error (file, 0, SEEK_SET)) diff --git a/tar/tar.1 b/tar/tar.1 index d8c25c0b..a80b8083 100644 --- a/tar/tar.1 +++ b/tar/tar.1 @@ -1,5 +1,5 @@ .\" @(#)tar.1 1.11.1 93/19/22 PJV; -.TH TAR 1 "22 September 1993" +.TH TAR 1 "15 May 2006" .SH NAME tar \- The GNU version of the tar archiving utility .SH SYNOPSIS @@ -7,146 +7,9 @@ tar \- The GNU version of the tar archiving utility [ .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 --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-paths -] -[ -.B --preserve -] -[ -.B -R, --record-number -] -[ -.B --remove-files -] -[ -.B -s, --same-order, --preserve-order -] -[ -.B --same-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 -[0-7][lmh] -] -.TP -.I filename1 [ filename2, ... filenameN ] -.TP -.I directory1 [ directory2, ...directoryN ] +.B A \-\-catenate \-\-concatenate \||\| c \-\-create \||\| d \-\-diff \-\-compare \||\| \-\-delete \||\| r \-\-append \||\| t \-\-list \||\| u \-\-update \||\| x \-\-extract \-\-get +.I [ options ] +.I pathname [ pathname ... ] .SH DESCRIPTION .LP This manual page documents the GNU version of @@ -170,166 +33,281 @@ The final arguments to 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 +.B \-A, \-\-catenate, \-\-concatenate append tar files to an archive .TP -.B -c, --create +.B \-c, \-\-create create a new archive .TP -.B -d, --diff, --compare +.B \-d, \-\-diff, \-\-compare find differences between archive and file system .TP -.B --delete +.B \-\-delete delete from the archive (not for use on mag tapes!) .TP -.B -r, --append +.B \-r, \-\-append append files to the end of an archive .TP -.B -t, --list +.B \-t, \-\-list list the contents of an archive .TP -.B -u, --update +.B \-u, \-\-update only append files that are newer than copy in archive .TP -.B -x, --extract, --get +.B \-x, \-\-extract, \-\-get extract files from an archive .SH "OTHER OPTIONS" .TP -.B --atime-preserve +.B \-\-anchored +force exclusion patterns to match initial subsequences +.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) +.B \-b, \-\-blocking\-factor N +use record size of Nx512 bytes (default N=20) .TP -.B -B, --read-full-blocks +.B \-B, \-\-read\-full\-records reblock as we read (for reading 4.2BSD pipes) +.TP +.B \-\-backup [TYPE] +back up files instead of overwriting (TYPE=numbered, existing, simple) .TP -.B -C, --directory DIR +.B \-C, \-\-directory DIR change to directory DIR .TP -.B --checkpoint -print directory names while reading the archive +.B \-\-checkpoint +print periodic checkpoints .TP -.B -f, --file [HOSTNAME:]F -use archive file or device F (default /dev/rmt0) +.B \-\-exclude=PATTERN +exclude files matching PATTERN .TP -.B --force-local -archive file is local even if has a colon +.B \-f, \-\-file [HOSTNAME:]F +use archive file or device F (default "\-", meaning stdin/stdout) .TP -.B -F, --info-script F --new-volume-script F -run script at end of each tape (implies -M) +.B \-F, \-\-info\-script F, \-\-new\-volume\-script F +run script at end of each tape (implies \-M) .TP -.B -G, --incremental +.B \-\-force\-local +archive file is local even if it has a colon +.TP +.B \-G, \-\-incremental create/list/extract old GNU-format incremental backup .TP -.B -g, --listed-incremental F +.B \-g, \-\-listed\-incremental F create/list/extract new GNU-format incremental backup +.TP +.B \-\-group G +set group to G while adding files .TP -.B -h, --dereference +.B \-h, \-\-dereference don't dump symlinks; dump the files they point to .TP -.B -i, --ignore-zeros +.B \-\-help +print help message +.TP +.B \-i, \-\-ignore\-zeros ignore blocks of zeros in archive (normally mean EOF) .TP -.B --ignore-failed-read +.B \-\-ignore\-case +ignore case when excluding files +.TP +.B \-\-ignore\-failed\-read don't exit with non-zero status on unreadable files .TP -.B -k, --keep-old-files +.B \-j, \-\-bzip2 +filter archive through bzip2, use to decompress .bz2 files. +WARNING: some previous versions of tar used option \-I to +filter through bzip2. When writing scripts, use \-\-bzip2 +instead of \-j so that both older and newer tar versions +will work. +.TP +.B \-k, \-\-keep\-old\-files keep existing files; don't overwrite them from archive .TP -.B -K, --starting-file F +.B \-K, \-\-starting\-file F begin at file F in the archive .TP -.B -l, --one-file-system +.B \-l, \-\-one\-file\-system stay in local file system when creating an archive .TP -.B -L, --tape-length N +.B \-L, \-\-tape\-length N change tapes after writing N*1024 bytes .TP -.B -m, --modification-time +.B \-m, \-\-touch don't extract file modified time .TP -.B -M, --multi-volume +.B \-M, \-\-multi\-volume create/list/extract multi-volume archive .TP -.B -N, --after-date DATE, --newer DATE +.B \-\-mode M +set permissions to M while adding files +.TP +.B \-N, \-\-after\-date DATE, \-\-newer DATE only store files newer than DATE .TP -.B -o, --old-archive, --portability +.B \-\-newer\-mtime DATE +only store files whose contents have changed after DATE +.TP +.B \-\-no\-anchored +allow exclusion patterns to match any substring (the default) +.TP +.B \-\-no\-ignore\-case +match patterns case sensitively (the default) +.TP +.B \-\-no\-recursion +do not recurse into subdirectories +.TP +.B \-\-no\-same\-owner +extract files with owner set to current user (the default for non-root +users) +.TP +.B \-\-no\-same\-permissions +apply umask to extracted files (the default for non-root users) +.TP +.B \-\-no\-wildcards +do not use wildcards when excluding files +.TP +.B \-\-no\-wildcards\-match\-slash +don't let wildcards match "/" when excluding files +.TP +.B \-\-null +for \-T, use "NUL" instead of newline as filename terminator +.TP +.B \-\-numeric\-owner +always use numbers for user/group names +.TP +.B \-o, \-\-old\-archive, \-\-portability write a V7 format archive, rather than ANSI format .TP -.B -O, --to-stdout +.B \-\-owner O +set owner to O while adding files +.TP +.B \-O, \-\-to\-stdout extract files to standard output .TP -.B -p, --same-permissions, --preserve-permissions -extract all protection information +.B \-p, \-\-same\-permissions, \-\-preserve\-permissions +ignore umask when extracting files (the default for root) .TP -.B -P, --absolute-paths +.B \-P, \-\-absolute\-names don't strip leading `/'s from file names .TP -.B --preserve -like -p -s +.B \-\-posix +create POSIX compliant archive .TP -.B -R, --record-number -show record number within archive with each message +.B \-\-preserve +like \-p \-s +.TP +.B \-R, \-\-block\-number +show block number within archive with each message +.TP +.B \-\-record\-size SIZE +use SIZE bytes per record +.TP +.B \-\-recursion +recurse into directories (the default) +.TP +.B \-\-recursive\-unlink +remove existing directories before extracting directories of the same +name .TP -.B --remove-files +.B \-\-remove\-files remove files after adding them to the archive .TP -.B -s, --same-order, --preserve-order +.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 \-S, \-\-sparse +handle sparse files efficiently +.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 +.B \-\-same\-owner +extract files with owner as specified in archive (the default for +root) .TP -.B -S, --sparse -handle sparse files efficiently +.B \-\-show\-omitted\-dirs +mention directories that are being skipped over +.TP +.B \-\-suffix SUFFIX +append SUFFIX to make backup files (default ~) .TP -.B -T, --files-from F -get names to extract or create from file F +.B \-T, \-\-files\-from F +get names to extract or archive from file F .TP -.B --null --T reads null-terminated names, disable -C +.B \-\-totals +display total bytes written after creating an archive .TP -.B --totals -print total bytes written with --create +.B \-U, \-\-unlink\-first +unlink & recreate files instead of overwriting .TP -.B -v, --verbose +.B \-\-use\-compress\-program PROG +filter the archive through PROG (which must accept \-d) +.TP +.B \-v, \-\-verbose verbosely list files processed .TP -.B -V, --label NAME +.B \-V, \-\-label NAME create archive with volume name NAME .TP -.B --version +.B \-\-version print tar program version number .TP -.B -w, --interactive, --confirmation +.B \-\-volno\-file F +keep track of current volume (of a multi-volume archive) in F +.TP +.B \-w, \-\-interactive, \-\-confirmation ask for confirmation for every action .TP -.B -W, --verify +.B \-W, \-\-verify attempt to verify the archive after writing it .TP -.B --exclude FILE -exclude file FILE +.B \-\-wildcards +use wildcards when excluding files (the default) .TP -.B -X, --exclude-from FILE -exclude files listed in FILE +.B \-\-wildcards\-match\-slash +allow wildcards to match "/" (the default) .TP -.B -Z, --compress, --uncompress +.B \-X, \-\-exclude\-from=FILE +exclude files matching patterns listed in FILE +.TP +.B \-Z, \-\-compress, \-\-uncompress filter the archive through compress .TP -.B -z, --gzip, --ungzip +.B \-z, \-\-gzip, \-\-gunzip, \-\-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 -[0-7][lmh] +.B \-[0\-7][lmh] specify drive and density +.SH BUGS +.LP +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 violates the Debian Free Software Guidelines. As +a result, the info documentation for tar is not included in the Debian package. + +If you want to read the complete documentation for GNU tar, please refer to +the online version at . + +This man page was created for the Debian distribution. It does not describe +all of the functionality of tar, and it is often out of date. Patches to +improve the coverage and/or accuracy of this man page are appreciated, and +should be filed as wishlist severity bugs against the Debian tar package, +not submitted to the GNU tar maintainers.