From bab4d804668603d12366ee3d0d5e295dbebf39b8 Mon Sep 17 00:00:00 2001 From: "Anthony G. Basile" Date: Thu, 28 Nov 2013 14:28:12 -0500 Subject: app-arch/tar: use if available, fixex bug #489170 --- app-arch/tar/Manifest | 6 + app-arch/tar/files/rmt | 8 + app-arch/tar/files/tar-1.27.1-sys-attr.patch | 126 +++++++++ app-arch/tar/files/tar.1-1.27 | 388 +++++++++++++++++++++++++++ app-arch/tar/metadata.xml | 11 + app-arch/tar/tar-1.27.1-r99.ebuild | 79 ++++++ 6 files changed, 618 insertions(+) create mode 100644 app-arch/tar/Manifest create mode 100644 app-arch/tar/files/rmt create mode 100644 app-arch/tar/files/tar-1.27.1-sys-attr.patch create mode 100644 app-arch/tar/files/tar.1-1.27 create mode 100644 app-arch/tar/metadata.xml create mode 100644 app-arch/tar/tar-1.27.1-r99.ebuild diff --git a/app-arch/tar/Manifest b/app-arch/tar/Manifest new file mode 100644 index 00000000..50d3b821 --- /dev/null +++ b/app-arch/tar/Manifest @@ -0,0 +1,6 @@ +AUX rmt 263 SHA256 c0371cb0243a190b6bb43609c86dfb4cd637882d4ff3ff9651ca7ec8d6b59355 SHA512 2f1a9d3a522fc1f0d5385d1ea4c27da88a1c9357b866340432c6310604c01d3e328e33080ed1e951c0da6f025c3ee2a0c9f170d4b86a1d235ebb56be48fef152 WHIRLPOOL 11869239f2ebbb237f8429d1f13f146fd2414e90edc2475d190f16659d052d3ac949d717939dcfc815a30942855fb26e60b6b506104876ccad32747191b04727 +AUX tar-1.27.1-sys-attr.patch 4457 SHA256 112195503eedcc30d2f5995a34b2dbfa76d97702c7d1b87835a59ae8ff435b1e SHA512 0adf0059bee5e9658eb3a8892fe5edafb9182bee5dc436e5ab25f8ffccbe452b92576434f147364e640ba049c8eb690e9607a7bcc8859b0f052a8eb078c4c709 WHIRLPOOL 5a03175fc2a3775a1b883b74964fdef50b523b434938f79f8ede83f67c36b23838f260703a2012f1160b623e5e27ea5b1375906aaa82e2f30189b35a6531a8d0 +AUX tar.1-1.27 13442 SHA256 fd1410214bad29525c08fc0fe499c8807c4cc648c7d56ba83bf429a2c43fdffd SHA512 4810df7e549713287e74a4de7113f2ba41bd96173829313d123be7ac9d74242d3d39ef17604761fbcc607cdd72ada0bcc26c99de5867cab5c1d0e9410131707b WHIRLPOOL ad8847f9d7f3395d42e9500aed6aa43cef2791e034e54c192a6ecef4953b8ba415dbfe1ddda4b113031c9aeb409e0630bc8b432f17ae28e905afa9b1d2b459a6 +DIST tar-1.27.1.tar.bz2 2573070 SHA256 9b0fb3ce8512059337add0da5f8f0f7d7647f2201f5ece24581d620ea60337c6 SHA512 f14a0a58e574db3aeec0914621aff2f0518b8d8acce81106b8219b36b3fed47349d6cb802c51a836a5e6889529337434d83b3c50cd7fc1801b9b3944eecc695b WHIRLPOOL fd44ee747f44febc9dd4b0e1a532c38a835fcb55967143a1ab29b29dfc27316de76dfa1d23438f1843bb0a7962eb0b59c3ec75041cc0fbe879b02af292ebc6e9 +EBUILD tar-1.27.1-r99.ebuild 2387 SHA256 704470a911daaf9a077a2398ceba7217a7b8221dee9d92965bdb5fb5ee469247 SHA512 e9cb4b4a6efb57f4b7f9799d40a903220e4fc5823857942c3087fbe4274fdaa7ac1c584dffe4b17f648680bdbf09ad9203ef0d744814766261927d2cbe2ec5a9 WHIRLPOOL fe53610e8abd322e5dbdfd36f43053ab6617c72f702f20b4c3def9f09b7ad4a5660491f4d28068594cbe6d426711276b831f0ac9fb81326a0fd59d289c2c314e +MISC metadata.xml 298 SHA256 776c92889812df8f8dc072ae2ac1d7091f1613afc6332eccd0e20a0d90caaf0b SHA512 9e7e0d3343fc95c9164d7b5cd7bf9a8cc21d5bba06af0ce19f693f8e6039415ab472411fba602fb99a1728529774cd85e828311a77c34d1f157cf4fedea59f65 WHIRLPOOL ddeaf15e3d36ed3c9e0ac13b17e49a187d0855255f38bf60a3726bd10ebaddbfc269a2101bbc64d4c8f69491228165016b2d76b15aabbd9bc3a0bd1732ca8f2e diff --git a/app-arch/tar/files/rmt b/app-arch/tar/files/rmt new file mode 100644 index 00000000..15ed6aa9 --- /dev/null +++ b/app-arch/tar/files/rmt @@ -0,0 +1,8 @@ +#!/bin/sh +# +# This is not a mistake. This shell script (/etc/rmt) has been provided +# for compatibility with other Unix-like systems, some of which have +# utilities that expect to find (and execute) rmt in the /etc directory +# on remote systems. +# +exec rmt "$@" diff --git a/app-arch/tar/files/tar-1.27.1-sys-attr.patch b/app-arch/tar/files/tar-1.27.1-sys-attr.patch new file mode 100644 index 00000000..d999fd91 --- /dev/null +++ b/app-arch/tar/files/tar-1.27.1-sys-attr.patch @@ -0,0 +1,126 @@ +From: Anthony G. Basile + +The build system searches for and doesn't bother +looking to see if setxattr(), getxattr() and friends are provided +by the system libc. Worse, on successfully finding +it then proceeds to include it but then links against libc for +the *xattr() functions. + +This patch has the build system look for first and +if it success, links against libc. On failing to find , +it then search for and links against libattr.so. This +can happen, for instance, on a uClibc system where UCLIBC_HAS_XATTR +is not set, but libattr.so is present. Then the *xattr() functions +must be provided by libattr.so. + +X-Gentoo-Bug: 489170 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/489170 + +diff --git a/acinclude.m4 b/acinclude.m4 +index d48c881..18cfd49 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -37,18 +37,40 @@ AC_DEFUN([TAR_HEADERS_ATTR_XATTR_H], + [], [with_xattrs=maybe] + ) + +- AC_CHECK_HEADERS([attr/xattr.h]) +- AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes]) +- if test "$ac_cv_header_attr_xattr_h" = yes; then ++ # First check for ++ AC_CHECK_HEADERS([sys/xattr.h]) ++ AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_sys_xattr_h" = yes]) ++ AM_CONDITIONAL([TAR_LIB_ATTR],[false]) ++ if test "$ac_cv_header_sys_xattr_h" = yes; then + AC_CHECK_FUNCS(getxattr fgetxattr lgetxattr \ + setxattr fsetxattr lsetxattr \ + listxattr flistxattr llistxattr, + # only when functions are present +- AC_DEFINE([HAVE_ATTR_XATTR_H], [1], +- [define to 1 if we have header]) ++ AC_DEFINE([HAVE_SYS_XATTR_H], [1], ++ [define to 1 if we have header]) + if test "$with_xattrs" != no; then + AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.]) + fi + ) + fi ++ ++ # If is not found, then check for ++ if test "$ac_cv_header_sys_xattr_h" != yes; then ++ AC_CHECK_HEADERS([attr/xattr.h]) ++ AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes]) ++ AC_CHECK_LIB([attr],[fgetxattr]) ++ AM_CONDITIONAL([TAR_LIB_ATTR],[test "$ac_cv_lib_attr_fgetxattr" = yes]) ++ if test "$ac_cv_header_attr_xattr_h" = yes; then ++ AC_CHECK_FUNCS(getxattr fgetxattr lgetxattr \ ++ setxattr fsetxattr lsetxattr \ ++ listxattr flistxattr llistxattr, ++ # only when functions are present ++ AC_DEFINE([HAVE_ATTR_XATTR_H], [1], ++ [define to 1 if we have header]) ++ if test "$with_xattrs" != no; then ++ AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.]) ++ fi ++ ) ++ fi ++ fi + ]) +diff --git a/config.h.in b/config.h.in +index 62023cf..c8d7c33 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -973,6 +973,9 @@ + /* Define to 1 if you have the `lgetxattr' function. */ + #undef HAVE_LGETXATTR + ++/* Define to 1 if you have the `attr' library (-lattr). */ ++#undef HAVE_LIBATTR ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_LIBINTL_H + +@@ -1977,6 +1980,9 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_SYS_WAIT_H + ++/* define to 1 if we have header */ ++#undef HAVE_SYS_XATTR_H ++ + /* Define if struct tm has the tm_gmtoff member. */ + #undef HAVE_TM_GMTOFF + +diff --git a/lib/xattr-at.h b/lib/xattr-at.h +index 2981771..1f517d0 100644 +--- a/lib/xattr-at.h ++++ b/lib/xattr-at.h +@@ -20,7 +20,15 @@ + #define XATTRS_AT_H + + #include +-#include ++#if defined(HAVE_SYS_XATTR_H) ++# include ++#elif defined(HAVE_ATTR_XATTR_H) ++# include ++#endif ++ ++#ifndef ENOATTR ++# define ENOATTR ENODATA /* No such attribute */ ++#endif + + /* These are the dir-fd-relative variants of the functions without the + "at" suffix. For example, setxattrat (AT_FDCWD, path, name, value, size, +diff --git a/src/Makefile.am b/src/Makefile.am +index 07c117d..d871256 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -50,4 +50,8 @@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) + + LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV) + ++if TAR_LIB_ATTR ++LIBADD = -lattr ++endif ++ + tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX) diff --git a/app-arch/tar/files/tar.1-1.27 b/app-arch/tar/files/tar.1-1.27 new file mode 100644 index 00000000..700b569a --- /dev/null +++ b/app-arch/tar/files/tar.1-1.27 @@ -0,0 +1,388 @@ +.\" generated by script on Mon Oct 21 08:29:21 2013 +.Dd Oct 21, 2013 +.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 +.It Fl c , Fl \-create +create a new archive +.It Fl d , Fl \-diff , Fl \-compare +find differences between archive and file system +.It Fl \-delete +delete from the archive (not on mag tapes!) +.It Fl r , Fl \-append +append files to the end of an archive +.It Fl t , Fl \-list +list the contents of an archive +.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 +.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 \-acls +Enable the POSIX ACLs support +.It Fl \-no\-acls +Disable the POSIX ACLs support +.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 +.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) +.It Fl \-force\-local +archive file is local even if it has a colon +.It Fl \-full\-time +print file time to its full resolution +.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 when reading the archive +.It Fl \-keep\-directory\-symlink +preserve existing symlinks to directories when extracting +.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 +.It Fl M , Fl \-multi\-volume +create/list/extract multi-volume archive +.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 +.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 +.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 +.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 +member arguments are listed in the same order as the +.It Fl S , Fl \-sparse +handle sparse files efficiently +.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 \-selinux +Enable the SELinux context support +.It Fl \-no\-selinux +Disable the SELinux context support +.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\-snapshot\-field\-ranges +show valid ranges for snapshot-file fields +.It Fl \-show\-transformed\-names , Fl \-show\-stored\-names +show file or archive names after transformation +.It Fl \-skip\-old\-files +don't replace existing files when extracting, silently skip over them +.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 times in UTC +.It Fl v , Fl \-verbose +verbosely list files processed +.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 +.It Fl W , Fl \-verify +attempt to verify the archive after writing it +.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 \-xattrs +Enable extended attributes support +.It Fl \-xattrs\-exclude Ns \= Ns Ar MASK +specify the exclude pattern for xattr keys +.It Fl \-xattrs\-include Ns \= Ns Ar MASK +specify the include pattern for xattr keys +.It Fl \-no\-xattrs +Disable extended attributes support +.It Fl z , Fl \-gzip , Fl \-gunzip Fl \-ungzip + +.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/app-arch/tar/metadata.xml b/app-arch/tar/metadata.xml new file mode 100644 index 00000000..f8de3a93 --- /dev/null +++ b/app-arch/tar/metadata.xml @@ -0,0 +1,11 @@ + + + +base-system + + just install `tar` + + + cpe:/a:gnu:tar + + diff --git a/app-arch/tar/tar-1.27.1-r99.ebuild b/app-arch/tar/tar-1.27.1-r99.ebuild new file mode 100644 index 00000000..c8a8853f --- /dev/null +++ b/app-arch/tar/tar-1.27.1-r99.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/tar-1.27.1.ebuild,v 1.1 2013/11/25 12:20:59 polynomial-c Exp $ + +EAPI="5" + +inherit autotools flag-o-matic eutils + +DESCRIPTION="Use this to make tarballs :)" +HOMEPAGE="http://www.gnu.org/software/tar/" +SRC_URI="mirror://gnu/tar/${P}.tar.bz2 + mirror://gnu-alpha/tar/${P}.tar.bz2" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="acl minimal nls selinux static userland_GNU xattr" + +RDEPEND="acl? ( virtual/acl ) + selinux? ( sys-libs/libselinux )" +DEPEND="${RDEPEND} + nls? ( >=sys-devel/gettext-0.10.35 ) + xattr? ( sys-apps/attr )" + +src_prepare() { + epatch "${FILESDIR}"/${P}-sys-attr.patch + eautoreconf + + if ! use userland_GNU ; then + sed -i \ + -e 's:/backup\.sh:/gbackup.sh:' \ + scripts/{backup,dump-remind,restore}.in \ + || die "sed non-GNU" + fi +} + +src_configure() { + use static && append-ldflags -static + FORCE_UNSAFE_CONFIGURE=1 \ + econf \ + --enable-backup-scripts \ + --bindir="${EPREFIX}"/bin \ + --libexecdir="${EPREFIX}"/usr/sbin \ + $(usex userland_GNU "" "--program-prefix=g") \ + $(use_with acl posix-acls) \ + $(use_enable nls) \ + $(use_with selinux) \ + $(use_with xattr xattrs) +} + +src_install() { + emake DESTDIR="${D}" install || die + + local p=$(usex userland_GNU "" "g") + if [[ -z ${p} ]] ; then + # a nasty yet required piece of baggage + exeinto /etc + doexe "${FILESDIR}"/rmt || die + fi + + # autoconf looks for gtar before tar (in configure scripts), hence + # in Prefix it is important that it is there, otherwise, a gtar from + # the host system (FreeBSD, Solaris, Darwin) will be found instead + # of the Prefix provided (GNU) tar + if use prefix ; then + dosym tar /bin/gtar + fi + + dodoc AUTHORS ChangeLog* NEWS README* THANKS + newman "${FILESDIR}"/tar.1-1.27 ${p}tar.1 + mv "${ED}"/usr/sbin/${p}backup{,-tar} + mv "${ED}"/usr/sbin/${p}restore{,-tar} + + if use minimal ; then + find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \ + -type f -a '!' '(' -name tar -o -name ${p}tar ')' \ + -delete + fi +} -- cgit v1.2.3-18-g5258