summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2008-11-28 18:27:46 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2008-11-28 18:27:46 +0000
commit2a870747e8ae21e93184fdfca67df99dec4dd15a (patch)
tree41114ddcfe2bafcd49efa0efbf13ddfa9ffaaa46 /media-sound/cdparanoia
parentbump for security bug #243238 (diff)
downloadgentoo-2-2a870747e8ae21e93184fdfca67df99dec4dd15a.tar.gz
gentoo-2-2a870747e8ae21e93184fdfca67df99dec4dd15a.tar.bz2
gentoo-2-2a870747e8ae21e93184fdfca67df99dec4dd15a.zip
Fix a really stupid oversight that should have been tested: forcing a drive/host endian mismatch within the interface lib. Doesn't check for null buff before trying a byteswap. Should fix Gentoo bug 240960, thanks to Marty Rosenberg for his incomplete bug report.
(Portage version: 2.1.6_rc2/cvs/Linux 2.6.27.7 i686)
Diffstat (limited to 'media-sound/cdparanoia')
-rw-r--r--media-sound/cdparanoia/ChangeLog11
-rw-r--r--media-sound/cdparanoia/cdparanoia-3.10.2-r2.ebuild47
-rw-r--r--media-sound/cdparanoia/files/cdparanoia-3.10.2-ppc64.patch12
3 files changed, 69 insertions, 1 deletions
diff --git a/media-sound/cdparanoia/ChangeLog b/media-sound/cdparanoia/ChangeLog
index b10473437df1..74313aa4297d 100644
--- a/media-sound/cdparanoia/ChangeLog
+++ b/media-sound/cdparanoia/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for media-sound/cdparanoia
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/cdparanoia/ChangeLog,v 1.89 2008/10/19 16:16:49 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/cdparanoia/ChangeLog,v 1.90 2008/11/28 18:27:46 ssuominen Exp $
+
+*cdparanoia-3.10.2-r2 (28 Nov 2008)
+
+ 28 Nov 2008; <ssuominen@gentoo.org> +files/cdparanoia-3.10.2-ppc64.patch,
+ +cdparanoia-3.10.2-r2.ebuild:
+ Fix a really stupid oversight that should have been tested: forcing a
+ drive/host endian mismatch within the interface lib. Doesn't check for
+ null buff before trying a byteswap. Should fix Gentoo bug 240960, thanks
+ to Marty Rosenberg for his incomplete bug report.
19 Oct 2008; Alexis Ballier <aballier@gentoo.org>
cdparanoia-3.10.2-r1.ebuild:
diff --git a/media-sound/cdparanoia/cdparanoia-3.10.2-r2.ebuild b/media-sound/cdparanoia/cdparanoia-3.10.2-r2.ebuild
new file mode 100644
index 000000000000..0ffed4f5ce30
--- /dev/null
+++ b/media-sound/cdparanoia/cdparanoia-3.10.2-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/cdparanoia/cdparanoia-3.10.2-r2.ebuild,v 1.1 2008/11/28 18:27:46 ssuominen Exp $
+
+inherit base autotools eutils flag-o-matic libtool toolchain-funcs versionator
+
+MY_P=${PN}-III-$(get_version_component_range 2-3)
+
+DESCRIPTION="an advanced CDDA reader with error correction"
+HOMEPAGE="http://www.xiph.org/paranoia"
+SRC_URI="http://downloads.xiph.org/releases/cdparanoia/${MY_P}.src.tgz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=( "${FILESDIR}/${PN}-3.10.2-use-destdir.patch"
+ "${FILESDIR}/${PN}-3.10.2-Makefile.in.patch"
+ "${FILESDIR}/${P}-gcc43.patch"
+ "${FILESDIR}/${P}-ppc64.patch" )
+
+src_unpack() {
+ base_src_unpack
+ cd "${S}"
+
+ mv configure.guess config.guess
+ mv configure.sub config.sub
+ sed -i -e '/configure.\(guess\|sub\)/d' configure.in || die "sed failed."
+
+ eautoconf
+ elibtoolize
+}
+
+src_compile() {
+ tc-export CC AR RANLIB
+ append-flags -I"${S}/interface"
+ econf
+ emake OPT="${CFLAGS}" || die "emake failed."
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed."
+ dodoc README
+}
diff --git a/media-sound/cdparanoia/files/cdparanoia-3.10.2-ppc64.patch b/media-sound/cdparanoia/files/cdparanoia-3.10.2-ppc64.patch
new file mode 100644
index 000000000000..63091084bf60
--- /dev/null
+++ b/media-sound/cdparanoia/files/cdparanoia-3.10.2-ppc64.patch
@@ -0,0 +1,12 @@
+diff -ur cdparanoia-III-10.2.orig/interface/interface.c cdparanoia-III-10.2/interface/interface.c
+--- cdparanoia-III-10.2.orig/interface/interface.c 2008-09-11 13:43:52.000000000 +0300
++++ cdparanoia-III-10.2/interface/interface.c 2008-11-28 04:43:53.000000000 +0200
+@@ -118,7 +118,7 @@
+ if(d->bigendianp==-1) /* not determined yet */
+ d->bigendianp=data_bigendianp(d);
+
+- if(d->bigendianp!=bigendianp()){
++ if(buffer && d->bigendianp!=bigendianp()){
+ int i;
+ u_int16_t *p=(u_int16_t *)buffer;
+ long els=sectors*CD_FRAMESIZE_RAW/2;