diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2008-01-13 16:17:59 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2008-01-13 16:17:59 +0000 |
commit | b71e357074f52fda097ace28272ba19815201927 (patch) | |
tree | 61aed0be0feb4089e9f33f6f53c8ff48ca84d386 /dev-libs/libcdio | |
parent | Add eZ Components 2007.2 from project overlay (diff) | |
download | gentoo-2-b71e357074f52fda097ace28272ba19815201927.tar.gz gentoo-2-b71e357074f52fda097ace28272ba19815201927.tar.bz2 gentoo-2-b71e357074f52fda097ace28272ba19815201927.zip |
Fix (again) the patch for bug #203777.
(Portage version: 2.1.4)
Diffstat (limited to 'dev-libs/libcdio')
-rw-r--r-- | dev-libs/libcdio/ChangeLog | 10 | ||||
-rw-r--r-- | dev-libs/libcdio/files/digest-libcdio-0.78.2-r4 | 3 | ||||
-rw-r--r-- | dev-libs/libcdio/files/digest-libcdio-0.79-r1 (renamed from dev-libs/libcdio/files/digest-libcdio-0.79) | 0 | ||||
-rw-r--r-- | dev-libs/libcdio/files/libcdio-0.78.2-bug203777-ter.patch | 78 | ||||
-rw-r--r-- | dev-libs/libcdio/libcdio-0.78.2-r4.ebuild | 64 | ||||
-rw-r--r-- | dev-libs/libcdio/libcdio-0.79-r1.ebuild (renamed from dev-libs/libcdio/libcdio-0.79.ebuild) | 4 |
6 files changed, 156 insertions, 3 deletions
diff --git a/dev-libs/libcdio/ChangeLog b/dev-libs/libcdio/ChangeLog index 246135cba550..0d6eccd53388 100644 --- a/dev-libs/libcdio/ChangeLog +++ b/dev-libs/libcdio/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-libs/libcdio # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libcdio/ChangeLog,v 1.84 2008/01/04 23:16:45 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libcdio/ChangeLog,v 1.85 2008/01/13 16:17:58 flameeyes Exp $ + +*libcdio-0.79-r1 (13 Jan 2008) +*libcdio-0.78.2-r4 (13 Jan 2008) + + 13 Jan 2008; Diego Pettenò <flameeyes@gentoo.org> + +files/libcdio-0.78.2-bug203777-ter.patch, +libcdio-0.78.2-r4.ebuild, + -libcdio-0.79.ebuild, +libcdio-0.79-r1.ebuild: + Fix (again) the patch for bug #203777. *libcdio-0.78.2-r3 (04 Jan 2008) diff --git a/dev-libs/libcdio/files/digest-libcdio-0.78.2-r4 b/dev-libs/libcdio/files/digest-libcdio-0.78.2-r4 new file mode 100644 index 000000000000..6fcd9e480dcb --- /dev/null +++ b/dev-libs/libcdio/files/digest-libcdio-0.78.2-r4 @@ -0,0 +1,3 @@ +MD5 a6b73300d1247012a1b1246d935ac0d3 libcdio-0.78.2.tar.gz 2024218 +RMD160 4e32dd9bb4bd19b6604ce3d3c4716b6481b6956a libcdio-0.78.2.tar.gz 2024218 +SHA256 2792e4133a89b254644ffe526c8eab785e1de3078d3a9c1ec03653247700ebde libcdio-0.78.2.tar.gz 2024218 diff --git a/dev-libs/libcdio/files/digest-libcdio-0.79 b/dev-libs/libcdio/files/digest-libcdio-0.79-r1 index 547b1f0c41c5..547b1f0c41c5 100644 --- a/dev-libs/libcdio/files/digest-libcdio-0.79 +++ b/dev-libs/libcdio/files/digest-libcdio-0.79-r1 diff --git a/dev-libs/libcdio/files/libcdio-0.78.2-bug203777-ter.patch b/dev-libs/libcdio/files/libcdio-0.78.2-bug203777-ter.patch new file mode 100644 index 000000000000..2134789b1c5d --- /dev/null +++ b/dev-libs/libcdio/files/libcdio-0.78.2-bug203777-ter.patch @@ -0,0 +1,78 @@ +Index: libcdio-0.78.2/src/cd-info.c +=================================================================== +--- libcdio-0.78.2.orig/src/cd-info.c ++++ libcdio-0.78.2/src/cd-info.c +@@ -518,6 +518,8 @@ print_iso9660_recurse (CdIo_t *p_cdio, c + CdioList_t *p_dirlist = _cdio_list_new (); + CdioListNode_t *entnode; + uint8_t i_joliet_level; ++ char *translated_name = (char *) malloc(4096); ++ size_t translated_name_size = 4096; + + i_joliet_level = (opts.no_joliet) + ? 0 +@@ -539,7 +541,15 @@ print_iso9660_recurse (CdIo_t *p_cdio, c + iso9660_stat_t *p_statbuf = _cdio_list_node_data (entnode); + char *psz_iso_name = p_statbuf->filename; + char _fullname[4096] = { 0, }; +- char translated_name[MAX_ISONAME+1]; ++ if (strlen(psz_iso_name) >= translated_name_size) { ++ translated_name_size = strlen(psz_iso_name)+1; ++ free(translated_name); ++ translated_name = (char *) malloc(translated_name_size); ++ if (!translated_name) { ++ report( stderr, "Error allocating memory\n" ); ++ return; ++ } ++ } + + if (yep != p_statbuf->rr.b3_rock || 1 == opts.no_rock_ridge) { + iso9660_name_translate_ext(psz_iso_name, translated_name, +@@ -564,6 +574,7 @@ print_iso9660_recurse (CdIo_t *p_cdio, c + p_statbuf->rr.i_symlink = 0; + } + } ++ free (translated_name); + + _cdio_list_free (p_entlist, true); + +Index: libcdio-0.78.2/src/iso-info.c +=================================================================== +--- libcdio-0.78.2.orig/src/iso-info.c ++++ libcdio-0.78.2/src/iso-info.c +@@ -205,7 +205,8 @@ print_iso9660_recurse (iso9660_t *p_iso, + CdioList_t *dirlist = _cdio_list_new (); + CdioListNode_t *entnode; + uint8_t i_joliet_level = iso9660_ifs_get_joliet_level(p_iso); +- ++ char *translated_name = (char *) malloc(4096); ++ size_t translated_name_size = 4096; + entlist = iso9660_ifs_readdir (p_iso, psz_path); + + if (opts.print_iso9660) { +@@ -224,7 +225,16 @@ print_iso9660_recurse (iso9660_t *p_iso, + iso9660_stat_t *p_statbuf = _cdio_list_node_data (entnode); + char *psz_iso_name = p_statbuf->filename; + char _fullname[4096] = { 0, }; +- char translated_name[MAX_ISONAME+1]; ++ if (strlen(psz_iso_name) >= translated_name_size) { ++ translated_name_size = strlen(psz_iso_name)+1; ++ free(translated_name); ++ translated_name = (char *) malloc(translated_name_size); ++ if (!translated_name) { ++ report( stderr, "Error allocating memory\n" ); ++ return; ++ } ++ } ++ + + if (yep != p_statbuf->rr.b3_rock || 1 == opts.no_rock_ridge) { + iso9660_name_translate_ext(psz_iso_name, translated_name, +@@ -258,6 +268,7 @@ print_iso9660_recurse (iso9660_t *p_iso, + p_statbuf->rr.i_symlink = 0; + } + } ++ free (translated_name); + + _cdio_list_free (entlist, true); + diff --git a/dev-libs/libcdio/libcdio-0.78.2-r4.ebuild b/dev-libs/libcdio/libcdio-0.78.2-r4.ebuild new file mode 100644 index 000000000000..69a0d2bebe6f --- /dev/null +++ b/dev-libs/libcdio/libcdio-0.78.2-r4.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libcdio/libcdio-0.78.2-r4.ebuild,v 1.1 2008/01/13 16:17:58 flameeyes Exp $ + +inherit eutils libtool multilib + +DESCRIPTION="A library to encapsulate CD-ROM reading and control" +HOMEPAGE="http://www.gnu.org/software/libcdio/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="cddb minimal nls nocxx" + +RDEPEND="cddb? ( >=media-libs/libcddb-1.0.1 ) + nls? ( virtual/libintl )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + dev-util/pkgconfig" + +RESTRICT="test" + +src_unpack() { + unpack ${A} + epatch "${FILESDIR}/${P}-gcc-4.3-includes.patch" + epatch "${FILESDIR}/${P}-bug203777-ter.patch" + elibtoolize +} + +src_compile() { + econf \ + $(use_enable nls) \ + $(use_enable cddb) \ + $(use_with !minimal cd-drive) \ + $(use_with !minimal cd-info) \ + $(use_with !minimal cd-paranoia) \ + $(use_with !minimal cdda-player) \ + $(use_with !minimal cd-read) \ + $(use_with !minimal iso-info) \ + $(use_with !minimal iso-read) \ + $(use_enable !nocxx cxx) \ + --with-cd-paranoia-name=libcdio-paranoia \ + --disable-vcd-info \ + --disable-dependency-tracking || die "configure failed" + emake || die "make failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + dodoc AUTHORS ChangeLog NEWS README THANKS + + # maybe next version is fixed + if use minimal; then + rm -f "${D}/usr/$(get_libdir)/pkgconfig/libcdio_cdda.pc" + rm -f "${D}/usr/include/cdio/cdda.h" + fi +} + +pkg_postinst() { + ewarn "If you've upgraded from a previous version of ${PN}, you may need to re-emerge" + ewarn "packages that linked against ${PN} (vlc, vcdimager and more) by running:" + ewarn "\trevdep-rebuild" +} diff --git a/dev-libs/libcdio/libcdio-0.79.ebuild b/dev-libs/libcdio/libcdio-0.79-r1.ebuild index ae58fbc7d1e7..53403ffde948 100644 --- a/dev-libs/libcdio/libcdio-0.79.ebuild +++ b/dev-libs/libcdio/libcdio-0.79-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libcdio/libcdio-0.79.ebuild,v 1.1 2008/01/01 02:56:31 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libcdio/libcdio-0.79-r1.ebuild,v 1.1 2008/01/13 16:17:58 flameeyes Exp $ inherit eutils libtool multilib @@ -25,7 +25,7 @@ src_unpack() { unpack ${A} cd "${S}" - epatch "${FILESDIR}/${PN}-0.78.2-bug203777.patch" + epatch "${FILESDIR}/${PN}-0.78.2-bug203777-ter.patch" elibtoolize } |