summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Alfredsen <loki_val@gentoo.org>2009-02-08 15:42:00 +0000
committerPeter Alfredsen <loki_val@gentoo.org>2009-02-08 15:42:00 +0000
commitdf7199ca28ea8167f54de361856a46f9381df3b3 (patch)
tree6ac72130b0a8d98fc39ef48ba408d80dc8a670bc /app-cdr
parentamd64/x86 stable, bug #245547 (diff)
downloadgentoo-2-df7199ca28ea8167f54de361856a46f9381df3b3.tar.gz
gentoo-2-df7199ca28ea8167f54de361856a46f9381df3b3.tar.bz2
gentoo-2-df7199ca28ea8167f54de361856a46f9381df3b3.zip
Fix bug 257360, patch from redhat. Allow dvd-dl media to be burned even when less than 50% of the media is used. Exit with status !=0 when child processes do.
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'app-cdr')
-rw-r--r--app-cdr/dvd+rw-tools/ChangeLog15
-rw-r--r--app-cdr/dvd+rw-tools/dvd+rw-tools-7.0.ebuild42
-rw-r--r--app-cdr/dvd+rw-tools/dvd+rw-tools-7.1-r1.ebuild52
-rw-r--r--app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-dvddl.patch13
-rw-r--r--app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-glibc2.6.90.patch11
-rw-r--r--app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-wctomb.patch11
-rw-r--r--app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-wexit.patch11
7 files changed, 111 insertions, 44 deletions
diff --git a/app-cdr/dvd+rw-tools/ChangeLog b/app-cdr/dvd+rw-tools/ChangeLog
index c573ee7139b8..61a3c18962e1 100644
--- a/app-cdr/dvd+rw-tools/ChangeLog
+++ b/app-cdr/dvd+rw-tools/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for app-cdr/dvd+rw-tools
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-cdr/dvd+rw-tools/ChangeLog,v 1.66 2008/09/28 09:12:22 loki_val Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-cdr/dvd+rw-tools/ChangeLog,v 1.67 2009/02/08 15:42:00 loki_val Exp $
+
+*dvd+rw-tools-7.1-r1 (08 Feb 2009)
+
+ 08 Feb 2009; Peter Alfredsen <loki_val@gentoo.org>
+ +files/dvd+rw-tools-7.0-dvddl.patch,
+ +files/dvd+rw-tools-7.0-glibc2.6.90.patch,
+ +files/dvd+rw-tools-7.0-wctomb.patch, +files/dvd+rw-tools-7.0-wexit.patch,
+ -dvd+rw-tools-7.0.ebuild, +dvd+rw-tools-7.1-r1.ebuild:
+ Fix bug 257360, patch from redhat. Allow dvd-dl media to be burned even
+ when less than 50% of the media is used. Exit with status !=0 when child
+ processes do.
28 Sep 2008; Peter Alfredsen <loki_val@gentoo.org>
dvd+rw-tools-7.1.ebuild:
diff --git a/app-cdr/dvd+rw-tools/dvd+rw-tools-7.0.ebuild b/app-cdr/dvd+rw-tools/dvd+rw-tools-7.0.ebuild
deleted file mode 100644
index 91301bcdffdb..000000000000
--- a/app-cdr/dvd+rw-tools/dvd+rw-tools-7.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-cdr/dvd+rw-tools/dvd+rw-tools-7.0.ebuild,v 1.14 2008/02/17 07:18:00 vapier Exp $
-
-inherit eutils toolchain-funcs
-
-DESCRIPTION="A set of tools for DVD+RW/-RW drives"
-HOMEPAGE="http://fy.chalmers.se/~appro/linux/DVD+RW/"
-SRC_URI="http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86"
-IUSE=""
-
-RDEPEND="virtual/cdrtools"
-DEPEND="${RDEPEND}
- sys-devel/m4"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- # Linux compiler flags only include -O2 and are incremental
- sed -i '/FLAGS/s:-O2::' Makefile.m4
-}
-
-src_compile() {
- emake CC=$(tc-getCC) CXX=$(tc-getCXX) || die
-}
-
-src_install() {
- einstall || die
- dohtml index.html
-}
-
-pkg_postinst() {
- elog
- elog "When you run growisofs if you receive:"
- elog "unable to anonymously mmap 33554432: Resource temporarily unavailable"
- elog "error message please run 'ulimit -l unlimited'"
- elog
-}
diff --git a/app-cdr/dvd+rw-tools/dvd+rw-tools-7.1-r1.ebuild b/app-cdr/dvd+rw-tools/dvd+rw-tools-7.1-r1.ebuild
new file mode 100644
index 000000000000..5f87655dd6b1
--- /dev/null
+++ b/app-cdr/dvd+rw-tools/dvd+rw-tools-7.1-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-cdr/dvd+rw-tools/dvd+rw-tools-7.1-r1.ebuild,v 1.1 2009/02/08 15:42:00 loki_val Exp $
+
+EAPI=2
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A set of tools for DVD+RW/-RW drives"
+HOMEPAGE="http://fy.chalmers.se/~appro/linux/DVD+RW/"
+SRC_URI="http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="virtual/cdrtools"
+DEPEND="${RDEPEND}
+ sys-devel/m4"
+
+src_prepare() {
+ # Linux compiler flags only include -O2 and are incremental
+ sed -i '/FLAGS/s:-O2::' Makefile.m4
+
+ # Fix compilation when DFORTIFY_SOURCE=2
+ # https://bugs.gentoo.org/257360
+ # https://bugzilla.redhat.com/show_bug.cgi?id=426068
+ epatch "${FILESDIR}"/${PN}-7.0-wctomb.patch
+ epatch "${FILESDIR}"/${PN}-7.0-glibc2.6.90.patch
+ # Allow burning small images on dvd-dl media.
+ # Patch snatched from Fedora, obviously correct.
+ epatch "${FILESDIR}"/${PN}-7.0-dvddl.patch
+ # Exit with non-zero status when child process does.
+ # https://bugzilla.redhat.com/show_bug.cgi?id=243036
+ epatch "${FILESDIR}"/${PN}-7.0-wexit.patch
+}
+
+src_compile() {
+ emake SHELL=/bin/bash CC=$(tc-getCC) CXX=$(tc-getCXX) || die
+}
+
+src_install() {
+ emake SHELL=/bin/bash prefix="${D}/usr" install || die
+ dohtml index.html
+}
+
+pkg_postinst() {
+ elog "When you run growisofs if you receive:"
+ elog "unable to anonymously mmap 33554432: Resource temporarily unavailable"
+ elog "error message please run 'ulimit -l unlimited'"
+}
diff --git a/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-dvddl.patch b/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-dvddl.patch
new file mode 100644
index 000000000000..c1c6fb3332a2
--- /dev/null
+++ b/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-dvddl.patch
@@ -0,0 +1,13 @@
+--- ./growisofs_mmc.cpp.joe 2006-04-27 20:45:00.788446635 +0200
++++ ./growisofs_mmc.cpp 2006-04-27 20:46:01.666824300 +0200
+@@ -1412,9 +1412,7 @@
+ blocks += 15, blocks &= ~15;
+
+ if (blocks <= split)
+- fprintf (stderr,":-( more than 50%% of space will be *wasted*!\n"
+- " use single layer media for this recording\n"),
+- exit (FATAL_START(EMEDIUMTYPE));
++ fprintf (stderr,":-? more than 50%% of space will be *wasted*!\n");
+
+ blocks /= 16;
+ blocks += 1;
diff --git a/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-glibc2.6.90.patch b/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-glibc2.6.90.patch
new file mode 100644
index 000000000000..49742d3c4db0
--- /dev/null
+++ b/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-glibc2.6.90.patch
@@ -0,0 +1,11 @@
+diff -up dvd+rw-tools-7.0/transport.hxx.glibc2.6.90 dvd+rw-tools-7.0/transport.hxx
+--- dvd+rw-tools-7.0/transport.hxx.glibc2.6.90 2007-08-15 12:56:17.000000000 +0200
++++ dvd+rw-tools-7.0/transport.hxx 2007-08-15 12:56:42.000000000 +0200
+@@ -11,6 +11,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
++#include <limits.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
diff --git a/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-wctomb.patch b/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-wctomb.patch
new file mode 100644
index 000000000000..56bd72575e8f
--- /dev/null
+++ b/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-wctomb.patch
@@ -0,0 +1,11 @@
+--- transport.hxx~ 2008-03-25 21:24:47.000000000 -0400
++++ transport.hxx 2008-03-25 21:25:36.000000000 -0400
+@@ -116,7 +116,7 @@
+ extern "C" char *plusminus_locale()
+ { static class __plusminus {
+ private:
+- char str[4];
++ char str[MB_LEN_MAX];
+ public:
+ __plusminus() { setlocale(LC_CTYPE,ENV_LOCALE);
+ int l = wctomb(str,(wchar_t)(unsigned char)'±');
diff --git a/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-wexit.patch b/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-wexit.patch
new file mode 100644
index 000000000000..e7910cbdd7b8
--- /dev/null
+++ b/app-cdr/dvd+rw-tools/files/dvd+rw-tools-7.0-wexit.patch
@@ -0,0 +1,11 @@
+--- dvd+rw-tools-7.0/dvd+rw-format.cpp.wexit 2007-06-21 12:42:30.000000000 +0200
++++ dvd+rw-tools-7.0/dvd+rw-format.cpp 2007-06-21 12:44:13.000000000 +0200
+@@ -245,7 +245,7 @@ int main (int argc, char *argv[])
+ alarm(1);
+ while ((waitpid(pid,&i,0) != pid) && !WIFEXITED(i)) ;
+ if (WEXITSTATUS(i) == 0) fprintf (stderr,"\n");
+- exit (0);
++ exit (WEXITSTATUS(i));
+ }
+ #endif
+