diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-04-20 16:50:49 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-04-20 16:50:49 +0000 |
commit | 1bc8f062134a543c5aebe060422bb0ad24e46b64 (patch) | |
tree | e298b2405ea04570fd1dc7ef77733d2737efd583 | |
parent | Keyword ~ppc and ~ppc64. Bug #544242. (diff) | |
download | historical-1bc8f062134a543c5aebe060422bb0ad24e46b64.tar.gz historical-1bc8f062134a543c5aebe060422bb0ad24e46b64.tar.bz2 historical-1bc8f062134a543c5aebe060422bb0ad24e46b64.zip |
Add fix from upstream for -A/-g flags #546294 by Alex Efros.
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Manifest-Sign-Key: 0xD2E96200
-rw-r--r-- | app-arch/tar/ChangeLog | 10 | ||||
-rw-r--r-- | app-arch/tar/Manifest | 24 | ||||
-rw-r--r-- | app-arch/tar/files/tar-1.28-concat-listed.patch | 117 | ||||
-rw-r--r-- | app-arch/tar/tar-1.28-r1.ebuild | 75 |
4 files changed, 203 insertions, 23 deletions
diff --git a/app-arch/tar/ChangeLog b/app-arch/tar/ChangeLog index d9ed202e16d5..da4980595ecc 100644 --- a/app-arch/tar/ChangeLog +++ b/app-arch/tar/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-arch/tar -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/ChangeLog,v 1.210 2014/08/12 12:17:44 vapier Exp $ +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/ChangeLog,v 1.211 2015/04/20 16:49:46 vapier Exp $ + +*tar-1.28-r1 (20 Apr 2015) + + 20 Apr 2015; Mike Frysinger <vapier@gentoo.org> + +files/tar-1.28-concat-listed.patch, +tar-1.28-r1.ebuild: + Add fix from upstream for -A/-g flags #546294 by Alex Efros. 12 Aug 2014; Mike Frysinger <vapier@gentoo.org> tar-1.27.1-r2.ebuild: Mark arm64/m68k/s390/sh stable. diff --git a/app-arch/tar/Manifest b/app-arch/tar/Manifest index 9cc06c5a1698..8bf36495737b 100644 --- a/app-arch/tar/Manifest +++ b/app-arch/tar/Manifest @@ -1,11 +1,9 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - AUX rmt 263 SHA256 c0371cb0243a190b6bb43609c86dfb4cd637882d4ff3ff9651ca7ec8d6b59355 SHA512 2f1a9d3a522fc1f0d5385d1ea4c27da88a1c9357b866340432c6310604c01d3e328e33080ed1e951c0da6f025c3ee2a0c9f170d4b86a1d235ebb56be48fef152 WHIRLPOOL 11869239f2ebbb237f8429d1f13f146fd2414e90edc2475d190f16659d052d3ac949d717939dcfc815a30942855fb26e60b6b506104876ccad32747191b04727 AUX tar-1.26-no-gets.patch 779 SHA256 80533a828c8a657ec1d585a6d3b7b2e8fcae6ba1d93d778195a185805f9a2a39 SHA512 98c54f084bb9770c69ba9ec58aff0e4182385984410e83cb93451ceda81152e4a8ddf63d3035b491153b1791888004744ae07f29866daf43e6a0caa4d067bd19 WHIRLPOOL caa81ebf934f60921e40cec889dd164154a43750034d9383e98d3755fdaa9e1f5c6d3a7714b8bcf25d86f41b944dc95c16126af0a6670eedd7939b3b2fe2fc10 AUX tar-1.26-xattr.patch 29828 SHA256 ce2b67c9fca5e610e117e11485f11bea5d4c6b053392c97825da7f7e65e9d043 SHA512 c8b88b7b9dc642344882d70903dd1657980e05100a618c9919f096e5599954120f6412226e15a827f166db2016c6a7558b07336e14a1a703f27d20339b9d8ace WHIRLPOOL f7e15d70a38b1ea9d6f6a6a3e1357a9c869306420d8ff0a4e325ccfda02fbd6e91fce7c5ca59a35fac43d9c75aae5d508c9eefff781454fe8ed1948537a8dbfd 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 16744 SHA256 47100e0f1dcaeee56b99083d8bb6fb398be701030f0a72439a1b4de31ac701d3 SHA512 1d0cc0449b4e9dbd0693d2ec678629f5dae47b7c25268a754fab07bb422957aded103164c096f12bf21dd12d08622067a26e1ac8d38cda0dfd9320e8ab7cb134 WHIRLPOOL f817e98f978ad0f79a6a8512038174e3438e3c5f5240d0191a0afb8c2e9a4a203c0b2a7e33125d1b3f8632f54851d2ba0d55ae6e141b7703988f4086a39b40af AUX tar.1-1.27 13442 SHA256 fd1410214bad29525c08fc0fe499c8807c4cc648c7d56ba83bf429a2c43fdffd SHA512 4810df7e549713287e74a4de7113f2ba41bd96173829313d123be7ac9d74242d3d39ef17604761fbcc607cdd72ada0bcc26c99de5867cab5c1d0e9410131707b WHIRLPOOL ad8847f9d7f3395d42e9500aed6aa43cef2791e034e54c192a6ecef4953b8ba415dbfe1ddda4b113031c9aeb409e0630bc8b432f17ae28e905afa9b1d2b459a6 DIST tar-1.26.tar.bz2 2339773 SHA256 5a5369f464502a598e938029c310d4b3abd51e6bb8dfd045663e61c8ea9f6d41 SHA512 3bc12441bebfc388017ad0632fb3e777ceaf62be82fb19ce771df8bbb765eb094dad336110189f49f5eaaebd4d6ced586098e1e3c8b9f7f775dc483d5513f209 WHIRLPOOL bfdc579f97a260d6b6776211f470bfc1a99b81d89a8067b2ebfab3101ab1a4f2b4f7c444edffc05bc7585993cae601c499ec074bb606c7ef289deac5429cfb2b @@ -13,23 +11,7 @@ DIST tar-1.27.1.tar.bz2 2573070 SHA256 9b0fb3ce8512059337add0da5f8f0f7d7647f2201 DIST tar-1.28.tar.bz2 2693989 SHA256 60e4bfe0602fef34cd908d91cf638e17eeb09394d7b98c2487217dc4d3147562 SHA512 4f66a236a2d9185114e2b358a09f3d38c3c38e984e5fca4bedc4d7eb461bdaace6a7a9fc62aafb70428b1f3dc617fb0d0553558fb29cad33f0cb53ba081521c4 WHIRLPOOL 54ad7b73e973d436cff853fda267d21ab22139f53d18f6870c7a53cf74e53ec8735022b6d3c503504ee416f1b9f9d43ca1af60d2fedb5d852766cb8dd2ac72d0 EBUILD tar-1.26-r1.ebuild 2290 SHA256 03651edf07bc9cc141a524efd006f4361c4cd79b1d5796dd88ebd3e4fd25eb5e SHA512 346ad7e358e2bc5337011cd076daaff887ed7c83d1bd2c411c409b7327d35dfeb01c4be51102623cb0e004da0c4a24393746b0d8260799e86f5de94ff633958d WHIRLPOOL 492c281e5e6929286c01dc9ecbd37b9de72947d3701237e34adeb690f1cdc84a559fcbc2f346505a64ebc4ae1e25d6d4f6882df03495dd767159e0e04ea89100 EBUILD tar-1.27.1-r2.ebuild 2441 SHA256 b37d9c2f2e5297499aa83930f2893ab0f7c16cc6e4be2279b9d7d0cb7a616ebd SHA512 38226606176dc485bf196e496e275986bb84ce85bbd69c708d0df41ca724c52e1f2e1d47301b8ded635fb5bc7fb488cb28526c1155c2401a2934f2476bd70d8f WHIRLPOOL 1f0b44b9284a9a7f0c53acd101ebe381221cf696409e58650cc4b5e2afc489f78fed53d640643c085bd422fe340a7c98efde5e8373a83ee4cdf9ae3626e1b958 +EBUILD tar-1.28-r1.ebuild 2273 SHA256 8ee48cc2339379978df9825ce12d6e7a68114d9b41c605441309370427dcb264 SHA512 f669e418f1cfe0121ef935ad77478b319bc29ead85c9b40f5d0de1f05b383b53d2260567cd64a3021089fc7f2b73655f4e282b1bbae96bf85d57d1afd34a58fe WHIRLPOOL 7e9dfdd006ab76699166c9afaf5dd8233afb86e8d5aeee831af8f96fd2d00f0c6d8b8ac599ae36493f5c4ef7ddc44e8acf9cf65a13a7f5bc9e4444aad1421bcb EBUILD tar-1.28.ebuild 2288 SHA256 b6c4f42706042001033c09f99767acafb5870569ba87ed42b4a8d2275e2d73a5 SHA512 10bc263ba7e386cc4cf047748d5273be575c5b6e8a6c65f8db033cd500a28925e5a493eca7252fe3d62fbeb959f0534027cd671771656a881ee1af12b49d0d98 WHIRLPOOL 4c4348df02f5cc5a83731ae0dd6cc927f90efc5079e3dcaddb6d610161a80c96b35e1126eca7f6f21ddaebcafaf00df57ebe70fbe344cdde8bbae318bdaec3ef -MISC ChangeLog 31576 SHA256 249b65b171d9aa2d0334b36653fe06ec0e4506ab3de4f7f8d4dc9008497e152b SHA512 daba79cede48c6494264c931dca571386bcc6c40893e21ddba0a036bd2c328455960ed008ba4157a0239c300a911e260d9bd5e5c0a96a06faf0c48b69b05e8c3 WHIRLPOOL 1a763a158468d4adba123725292c1aba00411dee2b8b36ce44df801372d217d1f0f29331c9263d5b2915167f43846206d4c83787533de035291ddc61553635c7 +MISC ChangeLog 31778 SHA256 ab62f1fcc8827d49bb709ec38acd0695c7877d11666b1859e368d2300d2e7df3 SHA512 77c2412befbebe87f63283941af63a649b7af4f7405a03534c0555bfb2768fe277f3efb02ddd8d6b42c4026ade34ac2e8a173d2e72e4b05b4a4539e520e8bc50 WHIRLPOOL 11df227385285d49b02bb56d8bb01dc64e6175a211c9e01b289122db8c5e94f87d46781950efe4662eb8c357f281db792d972bfe8d5d522fadbfa5034c6ec9ae MISC metadata.xml 298 SHA256 776c92889812df8f8dc072ae2ac1d7091f1613afc6332eccd0e20a0d90caaf0b SHA512 9e7e0d3343fc95c9164d7b5cd7bf9a8cc21d5bba06af0ce19f693f8e6039415ab472411fba602fb99a1728529774cd85e828311a77c34d1f157cf4fedea59f65 WHIRLPOOL ddeaf15e3d36ed3c9e0ac13b17e49a187d0855255f38bf60a3726bd10ebaddbfc269a2101bbc64d4c8f69491228165016b2d76b15aabbd9bc3a0bd1732ca8f2e ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2 - -iQIcBAEBCAAGBQJT6gXrAAoJEPGu1DbS6WIABicQAIj0GVGpAYyrH9ARdwhOBNg4 -oadqZpJmH6clbFE7t6uKkYvtArOMnb13I39TjS0V8FuG8FBxBfSUosGZgpeOwmPV -qYMU1O31AOIS/VPca7gbarxte5EJXYjVzQVq+DvLsso0M+pXQ3OtBeTQFxeExDZI -HxoMj8lm5TCZ4W8CLtaypFjSkqucTVa1FxX9tvpgQpeXREtbOX3DWHUVpQXDvswM -sVuLtM4jBMaTSoCUllbJbS5Rmq62rff44jlZxnja03uY1/LZIlkhm54WYAD0mMXN -3Y7WXSRp/cJ1NjZk4ibStjCnukGa4qbwV7Gb9K7/I3ZM8+NTgVjYRRP0MntcebQN -5ZNw091TJ3/y1FJbmC7Ze/ENvOehEzg/nUr3P++8dqsVqAyrEXN52ns0JRxgr4yy -9DISN1dqeugpAOM6mXCziDs/dw8KkoE3S7z5nvrUXiKJuvdr7NZPb7rtoQbHzciv -gaRcGE5JLtkUTesRwjLsg4fCRIvcNpvrdi4+oTVkLhz/RLOQRo2KwBdNk5XiRg+2 -Goq6YUKHBM4vvruiqXgNT9KfAFavY6SSbwQOxFZhgChNrBU5E+oG/4yuJG5LwRvk -+PE1mPIWMFF8a6YHmP/qSfDGod3gXSxhqld79D6NpRvzDOzIuYV6p4DxPVbHvw2u -zEhfscv21jGuEjZmUJ4I -=ZVsV ------END PGP SIGNATURE----- diff --git a/app-arch/tar/files/tar-1.28-concat-listed.patch b/app-arch/tar/files/tar-1.28-concat-listed.patch new file mode 100644 index 000000000000..28dc57824155 --- /dev/null +++ b/app-arch/tar/files/tar-1.28-concat-listed.patch @@ -0,0 +1,117 @@ +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 + diff --git a/app-arch/tar/tar-1.28-r1.ebuild b/app-arch/tar/tar-1.28-r1.ebuild new file mode 100644 index 000000000000..81304686c949 --- /dev/null +++ b/app-arch/tar/tar-1.28-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/tar-1.28-r1.ebuild,v 1.1 2015/04/20 16:49:46 vapier Exp $ + +EAPI=4 + +inherit 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 ~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() { + 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 +} + +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 +} |