summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-06-18 00:31:40 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-06-18 00:31:40 +0000
commit1bd3577b52df3fec320a2f5347735ea5a97b5efe (patch)
tree214ce9cedf9704e8e245b6cdad391c7675de412c /app-arch
parentVersion bump, security bug #136723. (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--app-arch/bsdtar/bsdtar-1.2.53-r1.ebuild70
-rw-r--r--app-arch/bsdtar/files/digest-bsdtar-1.2.53-r13
-rw-r--r--app-arch/bsdtar/files/libarchive-1.2.53-strict-aliasing.patch65
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;