bump(app-arch/tar): sync with upstream

This commit is contained in:
David Michael 2019-03-11 02:18:08 +00:00
parent ac0c8ce016
commit a623783aac
16 changed files with 93 additions and 1040 deletions

View File

@ -1,17 +1,2 @@
AUX rmt 263 SHA256 c0371cb0243a190b6bb43609c86dfb4cd637882d4ff3ff9651ca7ec8d6b59355 SHA512 2f1a9d3a522fc1f0d5385d1ea4c27da88a1c9357b866340432c6310604c01d3e328e33080ed1e951c0da6f025c3ee2a0c9f170d4b86a1d235ebb56be48fef152 WHIRLPOOL 11869239f2ebbb237f8429d1f13f146fd2414e90edc2475d190f16659d052d3ac949d717939dcfc815a30942855fb26e60b6b506104876ccad32747191b04727
AUX tar-1.27.1-recursion_norecursion.patch 765 SHA256 2232bcf904f9cc0a1a485549baf229b741d13fa89b69f8d112846c5f4f8ee0b0 SHA512 6b9a8c9a9f1d8a6c96137353a86c77c170d8f3bdc348c99a1147c950b43780aa896f0d8e1c0c1c70a044a0169f445f2ee6ca89ea680729062bf4f73f93a99ef1 WHIRLPOOL dfef48b1df29c53ff0aacbf7958c9101faf591d98f0e843b22185cd979e5e5d694b5c02b69f692c47f840f214d5bbffdf8cacb043fe1c901a30bd2df218a1643
AUX tar-1.27.1-xattr_build_fix.patch 5762 SHA256 a23332692959044ecc281a93de19de2ac7c37c56971d6aa541adf2fd3bc74251 SHA512 d44322734813ec201567d389deffc94f6a08c2f83c93d495f18451666409465a3ad577ca7f4c540d8ca668dd4d3f77d327fdf32669ec8e932d12e8d819f8c5ab WHIRLPOOL 1245479b74b1f11aabbe29f55b90eb7c179f6c8175f77f43f409e58b71b11026dd3f882665c10e777ae3837c1e5fac2ddd0e8f9d241a9a6d694a2ccb20ae38b5
AUX tar-1.28-concat-listed.patch 3387 SHA256 a77e7d9d2ae7efd68a3f6b6342ebd8a822c32e689ff5bd61f78a39ee6e40b281 SHA512 990c0de7a3d83b149413857d18ac0a654fd68ebe5c0d972e4ea5ebc5c9b17750355959da549c6314213bd47a2befff1c01df21e2378800ca39dd94d2cdf8df36 WHIRLPOOL 47e031b2ba1e22f9536d8db8071201ce0a9384d8df9415db9e73724827ff70a7883be0e01bb75e7e6adc6f5d8a1b34368ee5a38f4c57fa4f2ec914f8b7300a41
AUX tar-1.28-xattr.patch 902 SHA256 87c09a948b9424a12e1cb862cc07ea8df1ff66b6819ec70c48fdb18ea0ed78f0 SHA512 0a14ff1d33ee87047b3fa109c4f6f8597c8aacc9574225c1ed7cf302dc22d3f2f4341604f51808f438d462e4bb216b6d77689f1cb554fbe5bddd022369de7b84 WHIRLPOOL fb70a9492c247594bdfb06dbfd623074c240523fb777700a5b243353e4b2dc0cd5511e49fef77278dbb946a3c623415bcbfb4a8afd5f85b6901cbec45b7fe0be
AUX tar-1.29-extract-pathname-bypass.patch 723 SHA256 c5aef4c88c46978a51e0b4bd344d9de5d5b6e2c619e1b2e1f8bfd5dda1919455 SHA512 ba06ae53b4effcdd0996be07ae03fae7237c579a82d2606fe25100bed447287a68e37282ba2b017eed0c26cb0f4bf77dcdb4fca2f5175e1bbaed91408b0bd54a WHIRLPOOL 6328a758f1ae1e27bf2b6ad37a95fd1c02878aaf015dc6bef818a2be926a914054a3990b6fff5adf17bade0868f1c7654fc196cdb74260457e3652194319213e
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
DIST tar-1.28.tar.bz2 2693989 SHA256 60e4bfe0602fef34cd908d91cf638e17eeb09394d7b98c2487217dc4d3147562 SHA512 4f66a236a2d9185114e2b358a09f3d38c3c38e984e5fca4bedc4d7eb461bdaace6a7a9fc62aafb70428b1f3dc617fb0d0553558fb29cad33f0cb53ba081521c4 WHIRLPOOL 54ad7b73e973d436cff853fda267d21ab22139f53d18f6870c7a53cf74e53ec8735022b6d3c503504ee416f1b9f9d43ca1af60d2fedb5d852766cb8dd2ac72d0
DIST tar-1.29.tar.bz2 2715993 SHA256 236b11190c0a3a6885bdb8d61424f2b36a5872869aa3f7f695dea4b4843ae2f2 SHA512 d2cea9892892dfa0c8efd390303b75dccc085c4895e07ced684074592d69729916d6ea12475aa6aff873d076a729bb7dc2499c233edcfb9c7e8e8995481eef3b WHIRLPOOL fa5f66a7bb7698c35ad842bc4900a62997da5eb2f3cd6154391b88505a581078a64a8399bb5976d4723d90951d34c084e00d17908d90792bb5139184e8b92a94
EBUILD tar-1.27.1-r2.ebuild 2341 SHA256 167a13c8427c373952d84082a8f3356edb7134e65b1e4eca8c71ee9e3956bd6d SHA512 cf641fc058c9507cde017ce3a0cfd375a14a780a8c03a74a3e18686c09f4ff909d9beed589b6a88d2739c2cc24cb1c87c92a76ea4573143077be6f01e4ea6912 WHIRLPOOL 79c6f251bdb50ef7a1e7976520d83277addddd17e1f61c0cc15569bfd849b3b3cb5a375955f7c1d5f2f3e25061ba8b38e022747ba5834813507227554e9de319
EBUILD tar-1.28-r1.ebuild 2244 SHA256 3aba9563f43b186aa362bcaf6c812894dab6b9305ad6e1a3d93d1c276297b71f SHA512 a14ab34881e2fe14a6460d21469e46a19f328bf4c44ef325d385dbaca71cf3a6f90a9d1baf88d9cf0a5f8e6ea03894f7dbef40c66cfe415d4a7f55d6a00ebd13 WHIRLPOOL 2ce02f6eea349a14beb1550c52c5038def20319b398a4ba16e0d34de3a1ace1ac530ff4d0dea0c0c6a8dbb43f2df31269007af2f5649d5b65510e27e262088c6
EBUILD tar-1.29-r1.ebuild 2237 SHA256 8729e81f6f6c4cf89209d57761a1b5f1aeb009fd5a97b878231f9564da0af574 SHA512 2cb57dba9bd888847348f53f0243f841fd5762d0612bc7aaaafc55168de4b233974c21909b5b9b867088fe73d5e8f8744aa778fb3e0e2232978f99bdb3ea53ea WHIRLPOOL 295e78a1db13a04159acc9b5c9cee28fdd3e08d7387f0997072fcfb93a9e4bf3153b8f47a698e22823092608e108bdc56abc3bd15142b29842ef6a2aaf1cde0f
EBUILD tar-1.29.ebuild 2149 SHA256 c966c35c309f5f565f541053d46dabf3c96d5c0ec5bc20dfd5ff54475ddc26cd SHA512 6fda3fb899655f5c68ee567369b11216aa93953eb1bded34c64f746a3ada1af261d8c6c9f038ddf7543585d3afc77897a627b8dd7806db1022091b4fe76fa613 WHIRLPOOL 593f1292ff4ce338b1dd593bcfc5217b929bc039b3b1c273236a9bbf0a69201f506502262c30c8158e75639084dd5850f139ff3439ef2874b212b463f81f0f46
MISC ChangeLog 6826 SHA256 4d216216b686a8bf3c1ac2afde5649a1e4faa81ec4935edd7177c50fdb2169be SHA512 7953d186e78e680e7578995393d52670495e6dc792d6bfd10620a06f01f8f20a5cc46c0ee06a386eb6ab90c53f393d53a27051c78318c73fe09fe4f827e8a065 WHIRLPOOL bf4a5a1b471d3d889b0aab88796676d777a8f6fd34fa1238aa194b9035abfd6e407f39e2333a4958ae232bd4fb46e13069ea1185caa97caf5c6b31b088d1c9ac
MISC ChangeLog-2015 31970 SHA256 9e334cc3415e0417fbaed891f6bba1d434ffb07d7ea080688447e0cffec5e462 SHA512 8b8b47dec0e0cd310947ce1b355dec2b9d3173ddb1f7915fb41de337debf35640eafa5b8f6d160fe0e45fc832419f4cf470972ce1bd0e1498879d120a490341b WHIRLPOOL eb05a9e69d7e0efd1a9c0352207e1704b252cf6e9a6fbb8c1154dbea8becfb487b437b3caf83852129d50521bd22d93ab9fdf24dbe5ac59aad852ab1f884d6b0
MISC metadata.xml 387 SHA256 fae089b1cff94a61ec673decb3bdad5f363260f048d8a6dad027bd141b1d739d SHA512 e5bce64bc18a7c6313d0818182941f49ea7e89617c97338fff29297bb2bfc2f4e56a9c124aa97fcb5f2a3a54e0e7cfd209bce09c2ced40a398381b7970c08cf7 WHIRLPOOL 66a5d269f6023bcef32e4520a189735fc84a1c028a2e9db19fb9fb8ba091fa05fb4cf93ae1c76de16f89e5c4055f45ba345989e81ae1af0b0134914faa28aec3
DIST tar-1.31.tar.bz2 2946047 BLAKE2B c85c17740e4cd3e8c93d10d93b070cd80629b7f052d020c0513cdddd377f3f90e229a6fa10dfbb43e1006f8202c674f2df854b864c0947f49339a52964d65c1c SHA512 0f4d00e08d56a8f8c32aac0afa2845397efb8ad72eaa6af47334cef9612adb1a4b91406bdc2c3a2cf1b9cc8b92c12735a331e0d137b24f66703f6af6219464f6
DIST tar-1.32.tar.bz2 2947264 BLAKE2B 4e380a9a2f84a2af5130464e1b298ae6acf02ee459cbca20dd0991c2859785e5aac789d57b87b32e8b45d89985b6414af9dd37161385da9568d6030c5aa42c0e SHA512 3139e87112123269ee0600243b3ea081687cc93667bef5832bfe3c785c1be622f520f00fcfbdf44ad1d3247866d0ecfe347a85bbfec38eb38fa1014baef566f6

View File

@ -1,25 +0,0 @@
From 2bd9c15391b0bd6ef0bff76aebf09cfb53003199 Mon Sep 17 00:00:00 2001
From: Sergey Poznyakoff <gray@gnu.org>
Date: Thu, 09 Jan 2014 22:13:15 +0000
Subject: Fix the use of --no-recursion and --recursion options.
Each option remains in effect until cancelled by the next ocurrence
of its counterpart, as stated in the documentation.
* src/names.c (name_next_elt): Restore recursion_option from the
value of matching_flags.
---
diff --git a/src/names.c b/src/names.c
index fc9841e..7777dc1 100644
--- a/src/names.c
+++ b/src/names.c
@@ -570,6 +570,7 @@ name_next_elt (int change_dirs)
case NELT_FMASK:
matching_flags = ep->v.matching_flags;
+ recursion_option = matching_flags & FNM_LEADING_DIR;
name_list_advance ();
continue;
--
cgit v0.9.0.2

View File

@ -1,196 +0,0 @@
http://lists.gnu.org/archive/html/bug-tar/2013-12/msg00023.html
https://bugs.gentoo.org/489170
--- tar-1.27.1/configure 2013-11-17 17:18:39.000000000 +0100
+++ tar-1.27.1/configure 2013-11-17 17:18:39.000000000 +0100
@@ -33619,19 +33619,20 @@
fi
- for ac_header in attr/xattr.h
+ for ac_header in sys/xattr.h attr/xattr.h
do :
- ac_fn_c_check_header_mongrel "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
-if test "x$ac_cv_header_attr_xattr_h" = xyes; then :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
-#define HAVE_ATTR_XATTR_H 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
done
- if test "$ac_cv_header_attr_xattr_h" = yes; then
+ if test "$ac_cv_header_sys_xattr_h" = yes -o "$ac_cv_header_attr_xattr_h" = yes; then
TAR_COND_XATTR_H_TRUE=
TAR_COND_XATTR_H_FALSE='#'
else
@@ -33639,30 +33640,130 @@
TAR_COND_XATTR_H_FALSE=
fi
- if test "$ac_cv_header_attr_xattr_h" = yes; then
- for ac_func in getxattr fgetxattr lgetxattr \
- setxattr fsetxattr lsetxattr \
- listxattr flistxattr llistxattr
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+
+ if test "$with_xattrs" != no; then
+ # If <sys/xattr.h> doesn't exist and <attr/xattr.h> does,
+ # then link against libattr.so and not libc
+ if test "$ac_cv_header_sys_xattr_h" = no -a "$ac_cv_header_attr_xattr_h" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
+$as_echo_n "checking for fgetxattr in -lattr... " >&6; }
+if ${ac_cv_lib_attr_fgetxattr+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lattr $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fgetxattr ();
+int
+main ()
+{
+return fgetxattr ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_attr_fgetxattr=yes
+else
+ ac_cv_lib_attr_fgetxattr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
+$as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
+if test "x$ac_cv_lib_attr_fgetxattr" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define HAVE_LIBATTR 1
_ACEOF
- # only when functions are present
-$as_echo "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h
+ LIBS="-lattr $LIBS"
- if test "$with_xattrs" != no; then
+fi
-$as_echo "#define HAVE_XATTRS /**/" >>confdefs.h
+ fi
+ have_functions=yes
+ for xattr_func in getxattr fgetxattr lgetxattr \
+ setxattr fsetxattr lsetxattr \
+ listxattr flistxattr llistxattr; do \
+ as_ac_Search=`$as_echo "ac_cv_search_$xattr_func" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing $xattr_func" >&5
+$as_echo_n "checking for library containing $xattr_func... " >&6; }
+if eval \${$as_ac_Search+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $xattr_func ();
+int
+main ()
+{
+return $xattr_func ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' attr; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ eval "$as_ac_Search=\$ac_res"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if eval \${$as_ac_Search+:} false; then :
+ break
+fi
+done
+if eval \${$as_ac_Search+:} false; then :
- fi
+else
+ eval "$as_ac_Search=no"
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+eval ac_res=\$$as_ac_Search
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+eval ac_res=\$$as_ac_Search
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+else
+ have_functions=no
fi
-done
+ test $have_functions = no && break
+ done
+ if test $have_functions = yes; then
+
+$as_echo "#define HAVE_XATTRS 1" >>confdefs.h
+
+ else
+ test "$with_xattrs" = yes && as_fn_error $? "xattr support requested but not found." "$LINENO" 5
+ fi
fi
--- tar-1.27.1/lib/xattr-at.h 2013-03-14 21:18:10.000000000 +0100
+++ tar-1.27.1/lib/xattr-at.h 2013-03-14 21:18:10.000000000 +0100
@@ -20,7 +20,15 @@
#define XATTRS_AT_H
#include <sys/types.h>
-#include <attr/xattr.h>
+#if defined(HAVE_SYS_XATTR_H)
+# include <sys/xattr.h>
+#elif defined(HAVE_ATTR_XATTR_H)
+# include <attr/xattr.h>
+#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,

View File

@ -1,117 +0,0 @@
https://bugs.gentoo.org/546294
https://lists.gnu.org/archive/html/bug-tar/2015-04/msg00006.html
From 15c02c2b9d383446b3ea35dbea5a048e136b020d Mon Sep 17 00:00:00 2001
From: Sergey Poznyakoff <gray@gnu.org.ua>
Date: Thu, 16 Apr 2015 13:02:10 +0300
Subject: [PATCH] Fix extraction from concatenated incremental archives.
* src/common.h (remove_delayed_set_stat): New proto.
* src/extract.c (free_delayed_set_stat)
(remove_delayed_set_stat): New function.
(apply_nonancestor_delayed_set_stat): Use free_delayed_set_stat.
* src/misc.c (safer_rmdir): Remove delayed_set_stat entry
corresponding to the removed directory.
* tests/incr10.at: New test case.
* tests/Makefile.am: Add new test.
* tests/testsuite.at: Likewise.
---
src/common.h | 2 ++
src/extract.c | 38 +++++++++++++++++++++++++++-----
src/misc.c | 7 +++++-
tests/Makefile.am | 1 +
tests/incr10.at | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/testsuite.at | 1 +
6 files changed, 107 insertions(+), 6 deletions(-)
create mode 100644 tests/incr10.at
diff --git a/src/common.h b/src/common.h
index 20cbb64..2904183 100644
--- a/src/common.h
+++ b/src/common.h
@@ -523,6 +523,8 @@ void extract_archive (void);
void extract_finish (void);
bool rename_directory (char *src, char *dst);
+void remove_delayed_set_stat (const char *fname);
+
/* Module delete.c. */
void delete_archive_members (void);
diff --git a/src/extract.c b/src/extract.c
index ca25603..5aaeb1b 100644
--- a/src/extract.c
+++ b/src/extract.c
@@ -537,6 +537,38 @@ repair_delayed_set_stat (char const *dir,
quotearg_colon (dir)));
}
+static void
+free_delayed_set_stat (struct delayed_set_stat *data)
+{
+ xheader_xattr_free (data->xattr_map, data->xattr_map_size);
+ free (data->cntx_name);
+ free (data->acls_a_ptr);
+ free (data->acls_d_ptr);
+ free (data);
+}
+
+void
+remove_delayed_set_stat (const char *fname)
+{
+ struct delayed_set_stat *data, *next, *prev = NULL;
+ for (data = delayed_set_stat_head; data; data = next)
+ {
+ next = data->next;
+ if (chdir_current == data->change_dir
+ && strcmp (data->file_name, fname) == 0)
+ {
+ free_delayed_set_stat (data);
+ if (prev)
+ prev->next = next;
+ else
+ delayed_set_stat_head = next;
+ return;
+ }
+ else
+ prev = data;
+ }
+}
+
/* After a file/link/directory creation has failed, see if
it's because some required directory was not present, and if so,
create all required directories. Return zero if all the required
@@ -846,11 +878,7 @@ apply_nonancestor_delayed_set_stat (char const *file_name, bool after_links)
}
delayed_set_stat_head = data->next;
- xheader_xattr_free (data->xattr_map, data->xattr_map_size);
- free (data->cntx_name);
- free (data->acls_a_ptr);
- free (data->acls_d_ptr);
- free (data);
+ free_delayed_set_stat (data);
}
}
diff --git a/src/misc.c b/src/misc.c
index 8e66643..d263c07 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -586,7 +586,12 @@ safer_rmdir (const char *file_name)
return -1;
}
- return unlinkat (chdir_fd, file_name, AT_REMOVEDIR);
+ if (unlinkat (chdir_fd, file_name, AT_REMOVEDIR) == 0)
+ {
+ remove_delayed_set_stat (file_name);
+ return 0;
+ }
+ return -1;
}
/* Remove FILE_NAME, returning 1 on success. If FILE_NAME is a directory,
--
2.3.5

View File

@ -1,36 +0,0 @@
https://bugs.gentoo.org/548024
From 9c2b57232e3bc2e5ba85387560bcdd851849a128 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 5 Jan 2015 20:24:18 -0800
Subject: [PATCH] tar: port xattr-at.c to Solaris 10
* lib/xattr-at.c (setxattrat, lsetxattrat, getxattrat, lgetxattrat)
(listxattrat, llistxattrat): Compile only if HAVE_XATTRS, so that
the code doesn't call functions that are not declared.
---
lib/xattr-at.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/xattr-at.c b/lib/xattr-at.c
index 443ccae..66427e9 100644
--- a/lib/xattr-at.c
+++ b/lib/xattr-at.c
@@ -31,6 +31,8 @@
#include "openat-priv.h"
+#ifdef HAVE_XATTRS
+
/* setxattrat */
#define AT_FUNC_NAME setxattrat
#define AT_FUNC_F1 setxattr
@@ -108,3 +110,5 @@
#undef AT_FUNC_RESULT
#undef AT_FUNC_POST_FILE_PARAM_DECLS
#undef AT_FUNC_POST_FILE_ARGS
+
+#endif /* HAVE_XATTRS */
--
2.4.0

View File

@ -1,27 +0,0 @@
--- a/lib/paxnames.c 2016-04-06 00:04:47.314860045 +0300
+++ b/lib/paxnames.c 2016-04-06 02:08:44.962297881 +0300
@@ -18,6 +18,7 @@
#include <system.h>
#include <hash.h>
#include <paxlib.h>
+#include <quotearg.h>
/* Hash tables of strings. */
@@ -114,7 +115,15 @@
for (p = file_name + prefix_len; *p; )
{
if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2]))
- prefix_len = p + 2 - file_name;
+ {
+ static char const *const diagnostic[] =
+ {
+ N_("%s: Member name contains '..'"),
+ N_("%s: Hard link target contains '..'")
+ };
+ ERROR ((0, 0, _(diagnostic[link_target]),
+ quotearg_colon (file_name)));
+ }
do
{

View File

@ -0,0 +1,33 @@
From 85c005ee1345c342f707f3c55317daf6cb050603 Mon Sep 17 00:00:00 2001
From: Sergey Poznyakoff <gray@gnu.org.ua>
Date: Thu, 10 Jan 2019 18:18:49 +0200
Subject: Remove erroneous abort() call
The call was introduced by commit ccef8581. It caused tar to abort
on perfectly normal operations, like untarring archives containing
./ with the -U option,
See http://lists.gnu.org/archive/html/bug-tar/2019-01/msg00019.html
for details.
* src/extract.c (maybe_recoverable): Remove misplaced call to abort().
---
src/extract.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/extract.c b/src/extract.c
index 090b866..8276f8f 100644
--- a/src/extract.c
+++ b/src/extract.c
@@ -787,7 +787,7 @@ maybe_recoverable (char *file_name, bool regular, bool *interdir_made)
case UNLINK_FIRST_OLD_FILES:
break;
}
- abort (); /* notreached */
+ FALLTHROUGH;
case ENOENT:
/* Attempt creating missing intermediate directories. */
--
cgit v1.0-41-gc330

View File

@ -1,388 +0,0 @@
.\" 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.

View File

@ -1,79 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit flag-o-matic eutils
DESCRIPTION="Use this to make tarballs :)"
HOMEPAGE="https://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 arm64 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_OPTS="-Z" \
epatch "${FILESDIR}/${P}-xattr_build_fix.patch"
epatch "${FILESDIR}/${P}-recursion_norecursion.patch"
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
local p=$(usex userland_GNU "" "g")
if [[ -z ${p} ]] ; then
# a nasty yet required piece of baggage
exeinto /etc
doexe "${FILESDIR}"/rmt
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} || die
mv "${ED}"/usr/sbin/${p}restore{,-tar} || die
if use minimal ; then
find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
-type f -a '!' '(' -name tar -o -name ${p}tar ')' \
-delete || die
fi
}

View File

@ -1,76 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit flag-o-matic eutils
DESCRIPTION="Use this to make tarballs :)"
HOMEPAGE="https://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 ~arm64 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 elibc_glibc 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? ( elibc_glibc? ( sys-apps/attr ) )"
src_prepare() {
if ! use userland_GNU ; then
sed -i \
-e 's:/backup\.sh:/gbackup.sh:' \
scripts/{backup,dump-remind,restore}.in \
|| die "sed non-GNU"
fi
epatch "${FILESDIR}"/${P}-concat-listed.patch #546294
epatch "${FILESDIR}"/${P}-xattr.patch #548024
}
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() {
default
local p=$(usex userland_GNU "" "g")
if [[ -z ${p} ]] ; then
# a nasty yet required piece of baggage
exeinto /etc
doexe "${FILESDIR}"/rmt
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
mv "${ED}"/usr/sbin/${p}backup{,-tar} || die
mv "${ED}"/usr/sbin/${p}restore{,-tar} || die
if use minimal ; then
find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
-type f -a '!' '(' -name tar -o -name ${p}tar ')' \
-delete || die
fi
}

View File

@ -1,10 +1,9 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
EAPI=6
inherit flag-o-matic eutils
inherit flag-o-matic
DESCRIPTION="Use this to make tarballs :)"
HOMEPAGE="https://www.gnu.org/software/tar/"
@ -13,22 +12,22 @@ SRC_URI="mirror://gnu/tar/${P}.tar.bz2
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 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"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="acl elibc_glibc minimal nls selinux static userland_GNU xattr"
RDEPEND="acl? ( virtual/acl )
LIB_DEPEND="acl? ( virtual/acl[static-libs(+)] )"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
selinux? ( sys-libs/libselinux )"
DEPEND="${RDEPEND}
nls? ( >=sys-devel/gettext-0.10.35 )
static? ( ${LIB_DEPEND} )
xattr? ( elibc_glibc? ( sys-apps/attr ) )"
PATCHES=(
"${FILESDIR}/${P}-extract-pathname-bypass.patch"
)
PATCHES=( "${FILESDIR}"/${P}-remove-erroneous-abort-call.patch )
src_prepare() {
epatch "${PATCHES[@]}"
epatch_user
default
if ! use userland_GNU ; then
sed -i \
@ -40,16 +39,17 @@ src_prepare() {
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) \
local myeconfargs=(
--bindir="${EPREFIX%/}"/bin
--enable-backup-scripts
--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)
)
FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
}
src_install() {
@ -70,11 +70,11 @@ src_install() {
dosym tar /bin/gtar
fi
mv "${ED}"/usr/sbin/${p}backup{,-tar} || die
mv "${ED}"/usr/sbin/${p}restore{,-tar} || die
mv "${ED%/}"/usr/sbin/${p}backup{,-tar} || die
mv "${ED%/}"/usr/sbin/${p}restore{,-tar} || die
if use minimal ; then
find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
find "${ED%/}"/etc "${ED%/}"/*bin/ "${ED%/}"/usr/*bin/ \
-type f -a '!' '(' -name tar -o -name ${p}tar ')' \
-delete || die
fi

View File

@ -1,10 +1,9 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
EAPI=6
inherit flag-o-matic eutils
inherit flag-o-matic
DESCRIPTION="Use this to make tarballs :)"
HOMEPAGE="https://www.gnu.org/software/tar/"
@ -13,16 +12,21 @@ SRC_URI="mirror://gnu/tar/${P}.tar.bz2
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~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"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="acl elibc_glibc minimal nls selinux static userland_GNU xattr"
RDEPEND="acl? ( virtual/acl )
LIB_DEPEND="acl? ( virtual/acl[static-libs(+)] )"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
selinux? ( sys-libs/libselinux )"
DEPEND="${RDEPEND}
nls? ( >=sys-devel/gettext-0.10.35 )
static? ( ${LIB_DEPEND} )
xattr? ( elibc_glibc? ( sys-apps/attr ) )"
src_prepare() {
default
if ! use userland_GNU ; then
sed -i \
-e 's:/backup\.sh:/gbackup.sh:' \
@ -33,16 +37,17 @@ src_prepare() {
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) \
local myeconfargs=(
--bindir="${EPREFIX%/}"/bin
--enable-backup-scripts
--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)
)
FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
}
src_install() {
@ -63,11 +68,11 @@ src_install() {
dosym tar /bin/gtar
fi
mv "${ED}"/usr/sbin/${p}backup{,-tar} || die
mv "${ED}"/usr/sbin/${p}restore{,-tar} || die
mv "${ED%/}"/usr/sbin/${p}backup{,-tar} || die
mv "${ED%/}"/usr/sbin/${p}restore{,-tar} || die
if use minimal ; then
find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
find "${ED%/}"/etc "${ED%/}"/*bin/ "${ED%/}"/usr/*bin/ \
-type f -a '!' '(' -name tar -o -name ${p}tar ')' \
-delete || die
fi

View File

@ -1,13 +0,0 @@
DEFINED_PHASES=configure install prepare
DEPEND=acl? ( virtual/acl ) selinux? ( sys-libs/libselinux ) nls? ( >=sys-devel/gettext-0.10.35 ) xattr? ( sys-apps/attr )
DESCRIPTION=Use this to make tarballs :)
EAPI=4
HOMEPAGE=https://www.gnu.org/software/tar/
IUSE=acl minimal nls selinux static userland_GNU xattr
KEYWORDS=alpha amd64 arm arm64 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
LICENSE=GPL-3+
RDEPEND=acl? ( virtual/acl ) selinux? ( sys-libs/libselinux )
SLOT=0
SRC_URI=mirror://gnu/tar/tar-1.27.1.tar.bz2 mirror://gnu-alpha/tar/tar-1.27.1.tar.bz2
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=c7203afb0128d3ef1dd48ac06365ec1f

View File

@ -1,13 +0,0 @@
DEFINED_PHASES=configure install prepare
DEPEND=acl? ( virtual/acl ) selinux? ( sys-libs/libselinux ) nls? ( >=sys-devel/gettext-0.10.35 ) xattr? ( elibc_glibc? ( sys-apps/attr ) )
DESCRIPTION=Use this to make tarballs :)
EAPI=4
HOMEPAGE=https://www.gnu.org/software/tar/
IUSE=acl elibc_glibc minimal nls selinux static userland_GNU xattr
KEYWORDS=alpha amd64 arm ~arm64 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
LICENSE=GPL-3+
RDEPEND=acl? ( virtual/acl ) selinux? ( sys-libs/libselinux )
SLOT=0
SRC_URI=mirror://gnu/tar/tar-1.28.tar.bz2 mirror://gnu-alpha/tar/tar-1.28.tar.bz2
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=b46610a7b4556f455ccd62f94b57bc16

View File

@ -1,13 +1,13 @@
DEFINED_PHASES=configure install prepare
DEPEND=acl? ( virtual/acl ) selinux? ( sys-libs/libselinux ) nls? ( >=sys-devel/gettext-0.10.35 ) xattr? ( elibc_glibc? ( sys-apps/attr ) )
DEPEND=!static? ( acl? ( virtual/acl ) ) selinux? ( sys-libs/libselinux ) nls? ( >=sys-devel/gettext-0.10.35 ) static? ( acl? ( virtual/acl[static-libs(+)] ) ) xattr? ( elibc_glibc? ( sys-apps/attr ) )
DESCRIPTION=Use this to make tarballs :)
EAPI=5
EAPI=6
HOMEPAGE=https://www.gnu.org/software/tar/
IUSE=acl elibc_glibc minimal nls selinux static userland_GNU xattr
KEYWORDS=alpha amd64 arm arm64 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
KEYWORDS=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
LICENSE=GPL-3+
RDEPEND=acl? ( virtual/acl ) selinux? ( sys-libs/libselinux )
RDEPEND=!static? ( acl? ( virtual/acl ) ) selinux? ( sys-libs/libselinux )
SLOT=0
SRC_URI=mirror://gnu/tar/tar-1.29.tar.bz2 mirror://gnu-alpha/tar/tar-1.29.tar.bz2
SRC_URI=mirror://gnu/tar/tar-1.31.tar.bz2 mirror://gnu-alpha/tar/tar-1.31.tar.bz2
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=1797eae97feb42042a947790991641ef
_md5_=4b2f59804db1aa2f086ca697e8d595ed

View File

@ -1,13 +1,13 @@
DEFINED_PHASES=configure install prepare
DEPEND=acl? ( virtual/acl ) selinux? ( sys-libs/libselinux ) nls? ( >=sys-devel/gettext-0.10.35 ) xattr? ( elibc_glibc? ( sys-apps/attr ) )
DEPEND=!static? ( acl? ( virtual/acl ) ) selinux? ( sys-libs/libselinux ) nls? ( >=sys-devel/gettext-0.10.35 ) static? ( acl? ( virtual/acl[static-libs(+)] ) ) xattr? ( elibc_glibc? ( sys-apps/attr ) )
DESCRIPTION=Use this to make tarballs :)
EAPI=5
EAPI=6
HOMEPAGE=https://www.gnu.org/software/tar/
IUSE=acl elibc_glibc minimal nls selinux static userland_GNU xattr
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~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
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
LICENSE=GPL-3+
RDEPEND=acl? ( virtual/acl ) selinux? ( sys-libs/libselinux )
RDEPEND=!static? ( acl? ( virtual/acl ) ) selinux? ( sys-libs/libselinux )
SLOT=0
SRC_URI=mirror://gnu/tar/tar-1.29.tar.bz2 mirror://gnu-alpha/tar/tar-1.29.tar.bz2
SRC_URI=mirror://gnu/tar/tar-1.32.tar.bz2 mirror://gnu-alpha/tar/tar-1.32.tar.bz2
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=a1ca5e02b19a072f26002dd6c4e313ba
_md5_=3c52bf7c4c46cc6e8c64126ab34b89de