summaryrefslogtreecommitdiffstats
path: root/tar
diff options
context:
space:
mode:
Diffstat (limited to 'tar')
-rw-r--r--tar/.footprint11
-rw-r--r--tar/.md5sum4
-rw-r--r--tar/Pkgfile21
-rw-r--r--tar/Pkgfile.old23
-rw-r--r--tar/rmt.8223
-rw-r--r--tar/tar-rootp.patch12
-rw-r--r--tar/tar.1325
7 files changed, 619 insertions, 0 deletions
diff --git a/tar/.footprint b/tar/.footprint
new file mode 100644
index 0000000..d08b802
--- /dev/null
+++ b/tar/.footprint
@@ -0,0 +1,11 @@
+drwxr-xr-x root/root bin/
+-rwxr-xr-x root/root bin/tar
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/lib/
+drwxr-xr-x root/root usr/lib/tar/
+-rwxr-xr-x root/root usr/lib/tar/rmt
+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
new file mode 100644
index 0000000..a4f6d26
--- /dev/null
+++ b/tar/.md5sum
@@ -0,0 +1,4 @@
+6a56bc4bb64fc9bb48d28e66a30ad937 rmt.8
+1b3b391087f4baf70ccad8bd92e4db11 tar-1.25.tar.xz
+e4038247fa36a51d2784e163f58f6e38 tar-rootp.patch
+7c2293e8c051ade56db42daf2279e5eb tar.1
diff --git a/tar/Pkgfile b/tar/Pkgfile
new file mode 100644
index 0000000..708857c
--- /dev/null
+++ b/tar/Pkgfile
@@ -0,0 +1,21 @@
+description="GNU tar"
+packager=""
+maintainer="CRUX System Team, core-ports at crux dot nu"
+url="http://www.gnu.org/software/tar/tar.html"
+depends=()
+
+name=tar
+version=1.25
+release=1
+source=(http://ftp.gnu.org/gnu/tar/tar-1.25.tar.xz tar-rootp.patch tar.1 rmt.8)
+build ()
+{
+ cd $name-$version;
+ patch -p1 -i $SRC/$name-rootp.patch;
+ ./configure --prefix= --libexec=/usr/lib/tar --disable-nls FORCE_UNSAFE_CONFIGURE=1;
+ make;
+ make DESTDIR=$PKG install;
+ rm -rf $PKG/{sbin,share};
+ 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/Pkgfile.old b/tar/Pkgfile.old
new file mode 100644
index 0000000..7f3653f
--- /dev/null
+++ b/tar/Pkgfile.old
@@ -0,0 +1,23 @@
+# Description: GNU tar
+# URL: http://www.gnu.org/software/tar/tar.html
+# Maintainer: CRUX System Team, core-ports at crux dot nu
+
+name=tar
+version=1.25
+release=1
+source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz \
+ $name-rootp.patch tar.1 rmt.8)
+
+build() {
+ cd $name-$version
+ patch -p1 -i $SRC/$name-rootp.patch
+ ./configure --prefix= \
+ --libexec=/usr/lib/tar \
+ --disable-nls \
+ FORCE_UNSAFE_CONFIGURE=1
+ make
+ make DESTDIR=$PKG install
+ rm -rf $PKG/{sbin,share}
+ 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 0000000..ba709c9
--- /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-rootp.patch b/tar/tar-rootp.patch
new file mode 100644
index 0000000..1b34c74
--- /dev/null
+++ b/tar/tar-rootp.patch
@@ -0,0 +1,12 @@
+diff -Nru tar-1.18.orig/src/extract.c tar-1.18/src/extract.c
+--- tar-1.18.orig/src/extract.c 2007-07-05 08:19:23.000000000 +0200
++++ tar-1.18/src/extract.c 2007-07-05 08:19:37.000000000 +0200
+@@ -113,8 +113,6 @@
+ extr_init (void)
+ {
+ we_are_root = geteuid () == 0;
+- same_permissions_option += we_are_root;
+- same_owner_option += we_are_root;
+
+ /* Option -p clears the kernel umask, so it does not affect proper
+ restoration of file permissions. New intermediate directories will
diff --git a/tar/tar.1 b/tar/tar.1
new file mode 100644
index 0000000..ad32bbb
--- /dev/null
+++ b/tar/tar.1
@@ -0,0 +1,325 @@
+.\" @(#)tar.1 1.11.1 93/19/22 PJV;
+.TH TAR 1 "15 May 2006"
+.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 \||\| \-\-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
+.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
+append tar files to an archive
+.TP
+.B \-c, \-\-create
+create a new archive
+.TP
+.B \-d, \-\-diff, \-\-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
+append files to the end of an archive
+.TP
+.B \-t, \-\-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
+extract files from an archive
+.SH "OTHER OPTIONS"
+.TP
+.B \-\-allow\-name\-mangling
+re-enable handling of GNUTYPE_NAMES which is now disabled by default
+.TP
+.B \-\-anchored
+force exclusion patterns to match initial subsequences
+.TP
+.B \-\-atime\-preserve
+don't change access times on dumped files
+.TP
+.B \-b, \-\-blocking\-factor N
+use record size of Nx512 bytes (default N=20)
+.TP
+.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
+change to directory DIR
+.TP
+.B \-\-checkpoint
+print periodic checkpoints
+.TP
+.B \-\-exclude=PATTERN
+exclude files matching PATTERN
+.TP
+.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)
+.TP
+.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
+create/list/extract new GNU-format incremental backup
+.TP
+.B \-\-group G
+set group to G while adding files
+.TP
+.B \-h, \-\-dereference
+don't dump symlinks; dump the files they point to
+.TP
+.B \-\-help
+print help message
+.TP
+.B \-i, \-\-ignore\-zeros
+ignore blocks of zeros in archive (normally mean EOF)
+.TP
+.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 \-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
+begin at file F in the archive
+.TP
+.B \-l, \-\-check\-links
+print a message if not all links are dumped
+.TP
+.B \-L, \-\-tape\-length N
+change tapes after writing N*1024 bytes
+.TP
+.B \-m, \-\-touch
+don't extract file modified time
+.TP
+.B \-M, \-\-multi\-volume
+create/list/extract multi-volume archive
+.TP
+.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 \-\-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 \-o, \-\-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 \-\-old\-archive, \-\-portability
+write a V7 format archive, rather than ANSI format. These options are
+deprecated, please use
+.B \-\-format\=v7
+instead.
+.TP
+.B \-\-one\-file\-system
+stay in local file system when creating an archive
+.TP
+.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
+ignore umask when extracting files (the default for root)
+.TP
+.B \-P, \-\-absolute\-names
+don't strip leading `/'s from file names
+.TP
+.B \-\-posix
+create POSIX compliant archive. This option is deprecated,
+please use
+.B \-\-format\=posix
+instead.
+.TP
+.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
+remove files after adding them to the archive
+.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 \-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
+extract files with owner as specified in archive (the default for
+root)
+.TP
+.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 archive from file F
+.TP
+.B \-\-totals
+display total bytes written after creating an archive
+.TP
+.B \-U, \-\-unlink\-first
+unlink & recreate files instead of overwriting
+.TP
+.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
+create archive with volume name NAME
+.TP
+.B \-\-version
+print tar program version number
+.TP
+.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
+attempt to verify the archive after writing it
+.TP
+.B \-\-wildcards
+use wildcards when excluding files (the default)
+.TP
+.B \-\-wildcards\-match\-slash
+allow wildcards to match "/" (the default)
+.TP
+.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, \-\-gunzip, \-\-ungzip
+filter the archive through gzip
+.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.
+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 <http://www.gnu.org/software/tar/manual/index.html>.
+
+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.