diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2008-11-28 18:27:46 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2008-11-28 18:27:46 +0000 |
commit | 2a870747e8ae21e93184fdfca67df99dec4dd15a (patch) | |
tree | 41114ddcfe2bafcd49efa0efbf13ddfa9ffaaa46 | |
parent | bump for security bug #243238 (diff) | |
download | gentoo-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)
-rw-r--r-- | media-sound/cdparanoia/ChangeLog | 11 | ||||
-rw-r--r-- | media-sound/cdparanoia/cdparanoia-3.10.2-r2.ebuild | 47 | ||||
-rw-r--r-- | media-sound/cdparanoia/files/cdparanoia-3.10.2-ppc64.patch | 12 |
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; |