diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2006-11-09 14:46:07 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2006-11-09 14:46:07 +0000 |
commit | bc8595d47025037c6785d704e4e7e87cdedc6c38 (patch) | |
tree | 98a7b3d1e2c56ff2fdfe1e4cc802cbb56010c8bd /app-arch | |
parent | Version bump (#154328). (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | app-arch/bsdtar/Manifest | 19 | ||||
-rw-r--r-- | app-arch/bsdtar/bsdtar-1.3.1-r2.ebuild | 83 | ||||
-rw-r--r-- | app-arch/bsdtar/files/digest-bsdtar-1.3.1-r2 | 3 | ||||
-rw-r--r-- | app-arch/bsdtar/files/libarchive-1.3.1-infiniteloop.patch | 55 |
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); |