summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-11-09 14:46:07 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-11-09 14:46:07 +0000
commitbc8595d47025037c6785d704e4e7e87cdedc6c38 (patch)
tree98a7b3d1e2c56ff2fdfe1e4cc802cbb56010c8bd /app-arch
parentVersion bump (#154328). (diff)
downloadhistorical-bc8595d47025037c6785d704e4e7e87cdedc6c38.tar.gz
historical-bc8595d47025037c6785d704e4e7e87cdedc6c38.tar.bz2
historical-bc8595d47025037c6785d704e4e7e87cdedc6c38.zip
Add patch to fix the infinite loop as per bug #154334.
Package-Manager: portage-2.1.2_rc1-r4
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/bsdtar/ChangeLog8
-rw-r--r--app-arch/bsdtar/Manifest19
-rw-r--r--app-arch/bsdtar/bsdtar-1.3.1-r2.ebuild83
-rw-r--r--app-arch/bsdtar/files/digest-bsdtar-1.3.1-r23
-rw-r--r--app-arch/bsdtar/files/libarchive-1.3.1-infiniteloop.patch55
5 files changed, 163 insertions, 5 deletions
diff --git a/app-arch/bsdtar/ChangeLog b/app-arch/bsdtar/ChangeLog
index acb5d61af61f..cc2ec070b344 100644
--- a/app-arch/bsdtar/ChangeLog
+++ b/app-arch/bsdtar/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-arch/bsdtar
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/bsdtar/ChangeLog,v 1.39 2006/10/17 12:01:10 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/bsdtar/ChangeLog,v 1.40 2006/11/09 14:46:07 flameeyes Exp $
+
+*bsdtar-1.3.1-r2 (09 Nov 2006)
+
+ 09 Nov 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/libarchive-1.3.1-infiniteloop.patch, +bsdtar-1.3.1-r2.ebuild:
+ Add patch to fix the infinite loop as per bug #154334.
17 Oct 2006; Roy Marples <uberlord@gentoo.org> bsdtar-1.3.1-r1.ebuild:
Added ~sparc-fbsd keyword.
diff --git a/app-arch/bsdtar/Manifest b/app-arch/bsdtar/Manifest
index 745cd2a0a6db..f2838b1b58dc 100644
--- a/app-arch/bsdtar/Manifest
+++ b/app-arch/bsdtar/Manifest
@@ -14,6 +14,10 @@ AUX libarchive-1.2.57-acl.patch 2526 RMD160 c6101f157aa719d8e0075a13bfd7efb73c1e
MD5 1ec027876e064e268a47ef73d2033991 files/libarchive-1.2.57-acl.patch 2526
RMD160 c6101f157aa719d8e0075a13bfd7efb73c1ee70a files/libarchive-1.2.57-acl.patch 2526
SHA256 b444555096ebd1e1591414cc84f85b65b1f50e753045a5f63ae313de58715125 files/libarchive-1.2.57-acl.patch 2526
+AUX libarchive-1.3.1-infiniteloop.patch 2221 RMD160 fbabf3eb252936a634ba6b87d6e25d4074df4ca2 SHA1 324ecb963224875909e3d407574e311d39d919f4 SHA256 cb23ac1a6377718214d8cdab9ca3d5565e644f39ef6189b59cc3a5d4839966c0
+MD5 e17a167d7dac6ea9914d42b039debfb9 files/libarchive-1.3.1-infiniteloop.patch 2221
+RMD160 fbabf3eb252936a634ba6b87d6e25d4074df4ca2 files/libarchive-1.3.1-infiniteloop.patch 2221
+SHA256 cb23ac1a6377718214d8cdab9ca3d5565e644f39ef6189b59cc3a5d4839966c0 files/libarchive-1.3.1-infiniteloop.patch 2221
AUX libarchive-1.3.1-static.patch 1333 RMD160 21488116b37c75506061f6f5873f91670a3fe45a SHA1 2668779f2bc99a4b7f3b2a73b168cb1f81674304 SHA256 40be241edf721d5601824286e9221955add582d9136f3fc7e29f9abcb192a78c
MD5 6590bb296f0bb64ecfcd6b779cae3890 files/libarchive-1.3.1-static.patch 1333
RMD160 21488116b37c75506061f6f5873f91670a3fe45a files/libarchive-1.3.1-static.patch 1333
@@ -33,14 +37,18 @@ EBUILD bsdtar-1.3.1-r1.ebuild 1848 RMD160 da9c7976d86019a7722824dfe65dc6cfb865db
MD5 ad6439cfdd617904bcd6520c3fd01831 bsdtar-1.3.1-r1.ebuild 1848
RMD160 da9c7976d86019a7722824dfe65dc6cfb865db60 bsdtar-1.3.1-r1.ebuild 1848
SHA256 cad15749b05ae70e25073ab929b916fd4b95f1b23c081f2c6153b66d37255062 bsdtar-1.3.1-r1.ebuild 1848
+EBUILD bsdtar-1.3.1-r2.ebuild 1907 RMD160 f26b0717e0f9d504e65bf38af73f60d07ecad51c SHA1 65aa9260c958bf7d042f59a5fcc4085066d11f66 SHA256 600cf9cdc04e6b2d5da51b60b0740067bb16229ac9564f01e16037dbb87f6eff
+MD5 693161dbed9dac9032b97d3b98e82c80 bsdtar-1.3.1-r2.ebuild 1907
+RMD160 f26b0717e0f9d504e65bf38af73f60d07ecad51c bsdtar-1.3.1-r2.ebuild 1907
+SHA256 600cf9cdc04e6b2d5da51b60b0740067bb16229ac9564f01e16037dbb87f6eff bsdtar-1.3.1-r2.ebuild 1907
EBUILD bsdtar-1.3.1.ebuild 1711 RMD160 a1c52f6c1a9e6dd4d245331b72a1130a4d909591 SHA1 bd867478aced371513217bacf574e21500c2d9ae SHA256 400f7a4611a85b54391a67cea55cd581f96cfca0a0fe3cfac2febe0eabf5900d
MD5 4cfcdebe871fb44045e1a6c9619eaeb6 bsdtar-1.3.1.ebuild 1711
RMD160 a1c52f6c1a9e6dd4d245331b72a1130a4d909591 bsdtar-1.3.1.ebuild 1711
SHA256 400f7a4611a85b54391a67cea55cd581f96cfca0a0fe3cfac2febe0eabf5900d bsdtar-1.3.1.ebuild 1711
-MISC ChangeLog 6878 RMD160 912e9fa33e6109bd3795261baf254e50c31bca35 SHA1 b20929707a56c5028648cce3aecbebb7e1597924 SHA256 de572890279488eb33e79639ad34ed08fd1ac86d3dab910ece6e7ab92f3e952e
-MD5 b4b7f79471c8d9cd270e9c5ab4e65806 ChangeLog 6878
-RMD160 912e9fa33e6109bd3795261baf254e50c31bca35 ChangeLog 6878
-SHA256 de572890279488eb33e79639ad34ed08fd1ac86d3dab910ece6e7ab92f3e952e ChangeLog 6878
+MISC ChangeLog 7093 RMD160 3c6ea426793a47b96a474f1a8dd93ab1d07922bd SHA1 2abaa786e36022f4b46e9b27065aff57cb34f536 SHA256 bf36e5dcb713dba72e1530a0a1437c64f46e21a7f39cdc355c410134678e71fd
+MD5 a23db3649316453e0ab65add27ad823f ChangeLog 7093
+RMD160 3c6ea426793a47b96a474f1a8dd93ab1d07922bd ChangeLog 7093
+SHA256 bf36e5dcb713dba72e1530a0a1437c64f46e21a7f39cdc355c410134678e71fd ChangeLog 7093
MISC metadata.xml 428 RMD160 b1ff6b3d84ad489dc4f5ab5f1d9ee9b60266c2ff SHA1 a45d1c0b222b298767f08a2df8d4d84fdecc8434 SHA256 236fee13551e3785be53bd3f70c0784803827edf245c913851f239689e3278f4
MD5 afec809b169074e5d5b0803e4f8f5ec8 metadata.xml 428
RMD160 b1ff6b3d84ad489dc4f5ab5f1d9ee9b60266c2ff metadata.xml 428
@@ -57,3 +65,6 @@ SHA256 bbe48267a685e9836d773f76142f7f7a0bcc3f1a05262ed7fb3fb847a9fefd1e files/di
MD5 46c18ca117e44e7e3f070e41f466f72e files/digest-bsdtar-1.3.1-r1 250
RMD160 5bacf3a8252a2b227bfe4e6edf52d55c4240f6a4 files/digest-bsdtar-1.3.1-r1 250
SHA256 bbe48267a685e9836d773f76142f7f7a0bcc3f1a05262ed7fb3fb847a9fefd1e files/digest-bsdtar-1.3.1-r1 250
+MD5 46c18ca117e44e7e3f070e41f466f72e files/digest-bsdtar-1.3.1-r2 250
+RMD160 5bacf3a8252a2b227bfe4e6edf52d55c4240f6a4 files/digest-bsdtar-1.3.1-r2 250
+SHA256 bbe48267a685e9836d773f76142f7f7a0bcc3f1a05262ed7fb3fb847a9fefd1e files/digest-bsdtar-1.3.1-r2 250
diff --git a/app-arch/bsdtar/bsdtar-1.3.1-r2.ebuild b/app-arch/bsdtar/bsdtar-1.3.1-r2.ebuild
new file mode 100644
index 000000000000..e1f17977bcf7
--- /dev/null
+++ b/app-arch/bsdtar/bsdtar-1.3.1-r2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/bsdtar/bsdtar-1.3.1-r2.ebuild,v 1.1 2006/11/09 14:46:07 flameeyes Exp $
+
+WANT_AUTOCONF=latest
+WANT_AUTOMAKE=latest
+
+inherit eutils autotools toolchain-funcs flag-o-matic
+
+MY_P="libarchive-${PV}"
+
+DESCRIPTION="BSD tar command"
+HOMEPAGE="http://people.freebsd.org/~kientzle/libarchive/"
+SRC_URI="http://people.freebsd.org/~kientzle/libarchive/src/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="build static acl xattr"
+
+RDEPEND="!dev-libs/libarchive
+ kernel_linux? (
+ acl? ( sys-apps/acl )
+ xattr? ( sys-apps/attr )
+ )
+ !static? ( !build? (
+ app-arch/bzip2
+ sys-libs/zlib ) )"
+DEPEND="${RDEPEND}
+ kernel_linux? ( sys-fs/e2fsprogs
+ virtual/os-headers )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/libarchive-1.3.1-static.patch
+ epatch "${FILESDIR}"/libarchive-1.2.57-acl.patch
+ epatch "${FILESDIR}"/libarchive-1.2.53-strict-aliasing.patch
+ epatch "${FILESDIR}"/libarchive-1.3.1-infiniteloop.patch
+
+ eautoreconf
+ epunt_cxx
+}
+
+src_compile() {
+ local myconf
+
+ if use static || use build ; then
+ myconf="${myconf} --enable-static-bsdtar"
+ else
+ myconf="${myconf} --disable-static-bsdtar"
+ fi
+
+ econf \
+ --bindir=/bin \
+ $(use_enable acl) \
+ $(use_enable xattr) \
+ ${myconf} || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install || die "emake install failed"
+
+ # Create tar symlink for FreeBSD
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ dosym bsdtar /bin/tar
+ dosym bsdtar.1.gz /usr/share/man/man1/tar.1.gz
+ fi
+
+ if use build; then
+ rm -rf "${D}"/usr
+ rm -rf "${D}"/lib/*.so*
+ return 0
+ fi
+
+ dodir /$(get_libdir)
+ mv "${D}"/usr/$(get_libdir)/*.so* "${D}"/$(get_libdir)
+ gen_usr_ldscript libarchive.so
+}
diff --git a/app-arch/bsdtar/files/digest-bsdtar-1.3.1-r2 b/app-arch/bsdtar/files/digest-bsdtar-1.3.1-r2
new file mode 100644
index 000000000000..853d5013146e
--- /dev/null
+++ b/app-arch/bsdtar/files/digest-bsdtar-1.3.1-r2
@@ -0,0 +1,3 @@
+MD5 c618d26d680ace57fcd5f59cea3151c6 libarchive-1.3.1.tar.gz 901173
+RMD160 e518f802d9a50afcfede6dd7cbb4f42b2cbe12a1 libarchive-1.3.1.tar.gz 901173
+SHA256 ad9eaf5779df75b9a0618a732eb227792e65db17c6713fe81ef5bff2bbc616a8 libarchive-1.3.1.tar.gz 901173
diff --git a/app-arch/bsdtar/files/libarchive-1.3.1-infiniteloop.patch b/app-arch/bsdtar/files/libarchive-1.3.1-infiniteloop.patch
new file mode 100644
index 000000000000..20c4c8f2688a
--- /dev/null
+++ b/app-arch/bsdtar/files/libarchive-1.3.1-infiniteloop.patch
@@ -0,0 +1,55 @@
+Index: lib/libarchive/archive_read_support_compression_none.c
+===================================================================
+RCS file: /home/ncvs/src/lib/libarchive/archive_read_support_compression_none.c,v
+retrieving revision 1.8
+diff -u -I__FBSDID -r1.8 archive_read_support_compression_none.c
+--- lib/libarchive/archive_read_support_compression_none.c 29 Aug 2006 04:59:25 -0000 1.8
++++ lib/libarchive/archive_read_support_compression_none.c 2 Nov 2006 05:17:28 -0000
+@@ -257,7 +257,9 @@
+ }
+
+ /*
+- * Skip at most request bytes. Skipped data is marked as consumed.
++ * Skip forward by exactly the requested bytes or else return
++ * ARCHIVE_FATAL. Note that this differs from the contract for
++ * read_ahead, which does not gaurantee a minimum count.
+ */
+ static ssize_t
+ archive_decompressor_none_skip(struct archive *a, size_t request)
+@@ -287,9 +289,7 @@
+ if (request == 0)
+ return (total_bytes_skipped);
+ /*
+- * If no client_skipper is provided, just read the old way. It is very
+- * likely that after skipping, the request has not yet been fully
+- * satisfied (and is still > 0). In that case, read as well.
++ * If a client_skipper was provided, try that first.
+ */
+ if (a->client_skipper != NULL) {
+ bytes_skipped = (a->client_skipper)(a, a->client_data,
+@@ -307,6 +307,12 @@
+ a->raw_position += bytes_skipped;
+ state->client_avail = state->client_total = 0;
+ }
++ /*
++ * Note that client_skipper will usually not satisfy the
++ * full request (due to low-level blocking concerns),
++ * so even if client_skipper is provided, we may still
++ * have to use ordinary reads to finish out the request.
++ */
+ while (request > 0) {
+ const void* dummy_buffer;
+ ssize_t bytes_read;
+@@ -314,6 +320,12 @@
+ &dummy_buffer, request);
+ if (bytes_read < 0)
+ return (bytes_read);
++ if (bytes_read == 0) {
++ /* We hit EOF before we satisfied the skip request. */
++ archive_set_error(a, ARCHIVE_ERRNO_MISC,
++ "Truncated input file (need to skip %d bytes)", (int)request);
++ return (ARCHIVE_FATAL);
++ }
+ assert(bytes_read >= 0); /* precondition for cast below */
+ min = minimum((size_t)bytes_read, request);
+ bytes_read = archive_decompressor_none_read_consume(a, min);