diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2006-06-18 00:31:40 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2006-06-18 00:31:40 +0000 |
commit | 1bd3577b52df3fec320a2f5347735ea5a97b5efe (patch) | |
tree | 214ce9cedf9704e8e245b6cdad391c7675de412c /app-arch | |
parent | Version bump, security bug #136723. (diff) | |
download | gentoo-2-1bd3577b52df3fec320a2f5347735ea5a97b5efe.tar.gz gentoo-2-1bd3577b52df3fec320a2f5347735ea5a97b5efe.tar.bz2 gentoo-2-1bd3577b52df3fec320a2f5347735ea5a97b5efe.zip |
Add patch to fix strict-aliasing.
(Portage version: 2.1.1_pre1)
Diffstat (limited to 'app-arch')
-rw-r--r-- | app-arch/bsdtar/ChangeLog | 8 | ||||
-rw-r--r-- | app-arch/bsdtar/bsdtar-1.2.53-r1.ebuild | 70 | ||||
-rw-r--r-- | app-arch/bsdtar/files/digest-bsdtar-1.2.53-r1 | 3 | ||||
-rw-r--r-- | app-arch/bsdtar/files/libarchive-1.2.53-strict-aliasing.patch | 65 |
4 files changed, 145 insertions, 1 deletions
diff --git a/app-arch/bsdtar/ChangeLog b/app-arch/bsdtar/ChangeLog index af649974d43c..56c4143c6690 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.29 2006/06/09 20:15:28 exg Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-arch/bsdtar/ChangeLog,v 1.30 2006/06/18 00:31:40 flameeyes Exp $ + +*bsdtar-1.2.53-r1 (18 Jun 2006) + + 18 Jun 2006; Diego Pettenò <flameeyes@gentoo.org> + +files/libarchive-1.2.53-strict-aliasing.patch, +bsdtar-1.2.53-r1.ebuild: + Add patch to fix strict-aliasing. 09 Jun 2006; Emanuele Giaquinta <exg@gentoo.org> bsdtar-1.2.53.ebuild: Simplify test for static, no need to special case darwin. diff --git a/app-arch/bsdtar/bsdtar-1.2.53-r1.ebuild b/app-arch/bsdtar/bsdtar-1.2.53-r1.ebuild new file mode 100644 index 000000000000..ac5767cb1850 --- /dev/null +++ b/app-arch/bsdtar/bsdtar-1.2.53-r1.ebuild @@ -0,0 +1,70 @@ +# 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.2.53-r1.ebuild,v 1.1 2006/06/18 00:31:40 flameeyes Exp $ + +inherit eutils autotools + +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 ~ppc-macos ~x86 ~x86-fbsd" +IUSE="build static acl xattr" + +RDEPEND="!dev-libs/libarchive + kernel_linux? ( + acl? ( sys-apps/acl ) + xattr? ( sys-apps/attr ) + )" +DEPEND="kernel_linux? ( sys-fs/e2fsprogs + virtual/os-headers )" + +S="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack ${A} + cd ${S} + + epatch "${FILESDIR}/libarchive-1.2.51-linking.patch" + epatch "${FILESDIR}/libarchive-1.2.51-acl.patch" + epatch "${FILESDIR}/libarchive-1.2.53-strict-aliasing.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 DESTDIR="${D}" install + + # 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 [[ ${CHOST} != *-darwin* ]]; then + dodir /$(get_libdir) + mv ${D}/usr/$(get_libdir)/*.so* ${D}/$(get_libdir) + gen_usr_ldscript libarchive.so + fi +} diff --git a/app-arch/bsdtar/files/digest-bsdtar-1.2.53-r1 b/app-arch/bsdtar/files/digest-bsdtar-1.2.53-r1 new file mode 100644 index 000000000000..7b03a0a89983 --- /dev/null +++ b/app-arch/bsdtar/files/digest-bsdtar-1.2.53-r1 @@ -0,0 +1,3 @@ +MD5 2e2df461fef05049b3a92e5bedc2de2c libarchive-1.2.53.tar.gz 522540 +RMD160 651d5b93d36b2a2c3f3cb781669e368e83a73964 libarchive-1.2.53.tar.gz 522540 +SHA256 7ea32dcf542471d48464bad4e408fbb3b7dbea7d6594a01df73236ae3dc378e8 libarchive-1.2.53.tar.gz 522540 diff --git a/app-arch/bsdtar/files/libarchive-1.2.53-strict-aliasing.patch b/app-arch/bsdtar/files/libarchive-1.2.53-strict-aliasing.patch new file mode 100644 index 000000000000..7baca0d0ff1f --- /dev/null +++ b/app-arch/bsdtar/files/libarchive-1.2.53-strict-aliasing.patch @@ -0,0 +1,65 @@ +Index: libarchive-1.2.53/libarchive/archive_read.c +=================================================================== +--- libarchive-1.2.53.orig/libarchive/archive_read.c ++++ libarchive-1.2.53/libarchive/archive_read.c +@@ -392,7 +392,7 @@ archive_read_data(struct archive *a, voi + while (s > 0) { + if (a->read_data_remaining <= 0) { + r = archive_read_data_block(a, +- (const void **)&a->read_data_block, ++ &a->read_data_block, + &a->read_data_remaining, + &a->read_data_offset); + if (r == ARCHIVE_EOF) +Index: libarchive-1.2.53/libarchive/archive_read_support_compression_bzip2.c +=================================================================== +--- libarchive-1.2.53.orig/libarchive/archive_read_support_compression_bzip2.c ++++ libarchive-1.2.53/libarchive/archive_read_support_compression_bzip2.c +@@ -339,7 +339,7 @@ drive_decompressor(struct archive *a, st + for (;;) { + if (state->stream.avail_in == 0) { + ret = (a->client_reader)(a, a->client_data, +- (const void **)&state->stream.next_in); ++ &state->stream.next_in); + if (ret < 0) { + /* + * TODO: Find a better way to handle +Index: libarchive-1.2.53/libarchive/archive_read_support_compression_compress.c +=================================================================== +--- libarchive-1.2.53.orig/libarchive/archive_read_support_compression_compress.c ++++ libarchive-1.2.53/libarchive/archive_read_support_compression_compress.c +@@ -460,7 +460,7 @@ getbits(struct archive *a, struct privat + while (state->bits_avail < n) { + if (state->avail_in <= 0) { + ret = (a->client_reader)(a, a->client_data, +- (const void **)&state->next_in); ++ &state->next_in); + if (ret < 0) + return (ARCHIVE_FATAL); + if (ret == 0) +Index: libarchive-1.2.53/libarchive/archive_read_support_compression_gzip.c +=================================================================== +--- libarchive-1.2.53.orig/libarchive/archive_read_support_compression_gzip.c ++++ libarchive-1.2.53/libarchive/archive_read_support_compression_gzip.c +@@ -349,7 +349,7 @@ drive_decompressor(struct archive *a, st + for (;;) { + if (state->stream.avail_in == 0) { + ret = (a->client_reader)(a, a->client_data, +- (const void **)&state->stream.next_in); ++ &state->stream.next_in); + if (ret < 0) { + /* + * TODO: Find a better way to handle +Index: libarchive-1.2.53/libarchive/archive_read_support_compression_none.c +=================================================================== +--- libarchive-1.2.53.orig/libarchive/archive_read_support_compression_none.c ++++ libarchive-1.2.53/libarchive/archive_read_support_compression_none.c +@@ -203,7 +203,7 @@ archive_decompressor_none_read_ahead(str + * aren't, hence the cast. + */ + bytes_read = (a->client_reader)(a, a->client_data, +- (const void **)&state->client_buff); ++ &state->client_buff); + if (bytes_read < 0) { /* Read error. */ + state->client_total = state->client_avail = 0; + state->client_next = state->client_buff = NULL; |