[arch-commits] Commit in dvd+rw-tools/repos (14 files)

Bartłomiej Piotrowski bpiotrowski at archlinux.org
Sat Dec 5 15:36:02 UTC 2015


    Date: Saturday, December 5, 2015 @ 16:36:01
  Author: bpiotrowski
Revision: 252433

archrelease: copy trunk to staging-i686, staging-x86_64

Added:
  dvd+rw-tools/repos/staging-i686/
  dvd+rw-tools/repos/staging-i686/PKGBUILD
    (from rev 252432, dvd+rw-tools/trunk/PKGBUILD)
  dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.0-dvddl.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-dvddl.patch)
  dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.0-glibc2.6.90.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-glibc2.6.90.patch)
  dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.0-wctomb.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-wctomb.patch)
  dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.0-wexit.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-wexit.patch)
  dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.1-layerbreaksetup.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.1-layerbreaksetup.patch)
  dvd+rw-tools/repos/staging-x86_64/
  dvd+rw-tools/repos/staging-x86_64/PKGBUILD
    (from rev 252432, dvd+rw-tools/trunk/PKGBUILD)
  dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.0-dvddl.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-dvddl.patch)
  dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.0-glibc2.6.90.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-glibc2.6.90.patch)
  dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.0-wctomb.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-wctomb.patch)
  dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.0-wexit.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-wexit.patch)
  dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.1-layerbreaksetup.patch
    (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.1-layerbreaksetup.patch)

-------------------------------------------------------+
 staging-i686/PKGBUILD                                 |   45 +++++++
 staging-i686/dvd+rw-tools-7.0-dvddl.patch             |   13 ++
 staging-i686/dvd+rw-tools-7.0-glibc2.6.90.patch       |   11 +
 staging-i686/dvd+rw-tools-7.0-wctomb.patch            |   11 +
 staging-i686/dvd+rw-tools-7.0-wexit.patch             |   11 +
 staging-i686/dvd+rw-tools-7.1-layerbreaksetup.patch   |   93 ++++++++++++++++
 staging-x86_64/PKGBUILD                               |   45 +++++++
 staging-x86_64/dvd+rw-tools-7.0-dvddl.patch           |   13 ++
 staging-x86_64/dvd+rw-tools-7.0-glibc2.6.90.patch     |   11 +
 staging-x86_64/dvd+rw-tools-7.0-wctomb.patch          |   11 +
 staging-x86_64/dvd+rw-tools-7.0-wexit.patch           |   11 +
 staging-x86_64/dvd+rw-tools-7.1-layerbreaksetup.patch |   93 ++++++++++++++++
 12 files changed, 368 insertions(+)

Copied: dvd+rw-tools/repos/staging-i686/PKGBUILD (from rev 252432, dvd+rw-tools/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD	                        (rev 0)
+++ staging-i686/PKGBUILD	2015-12-05 15:36:01 UTC (rev 252433)
@@ -0,0 +1,45 @@
+# $Id$
+# Maintainer: damir <damir at archlinux.org>
+
+pkgname=dvd+rw-tools
+pkgver=7.1
+pkgrel=7
+pkgdesc="dvd burning tools"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://fy.chalmers.se/~appro/linux/DVD+RW"
+depends=('cdrkit' 'gcc-libs')
+source=("http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${pkgname}-${pkgver}.tar.gz"
+        'dvd+rw-tools-7.0-dvddl.patch'
+        'dvd+rw-tools-7.0-glibc2.6.90.patch'
+        'dvd+rw-tools-7.0-wctomb.patch'
+        'dvd+rw-tools-7.0-wexit.patch'
+	'dvd+rw-tools-7.1-layerbreaksetup.patch')
+sha1sums=('6400e013934ff589b4b224eced03fd9f42ed719b'
+          'd2c949bc15420f39a9055757b1f5bb5543c46b6c'
+          '6b2f496e8d95738501dcad5fb63a4faa32882202'
+          '08ad4c2309ae1602b855cf1a2bbdbe0dab5037a2'
+          'f50dc64f5d020f0dd64ffb38c18cfa3fbf03f8a2'
+          'dd5224fdd8e94ec9483f651b3579cf9c18381129')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  # patches from Gentoo/Fedora
+  # see https://bugs.gentoo.org/257360, https://bugzilla.redhat.com/show_bug.cgi?id=426068
+  # and https://bugzilla.redhat.com/show_bug.cgi?id=243036
+  patch -p0 -i "${srcdir}/dvd+rw-tools-7.0-dvddl.patch"
+  patch -p1 -i "${srcdir}/dvd+rw-tools-7.0-glibc2.6.90.patch"
+  patch -p0 -i "${srcdir}/dvd+rw-tools-7.0-wctomb.patch"
+  patch -p1 -i "${srcdir}/dvd+rw-tools-7.0-wexit.patch"
+  patch -p1 -i "${srcdir}/dvd+rw-tools-7.1-layerbreaksetup.patch"
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  install -m755 -d "${pkgdir}/usr/bin"
+  install -m755 -d "${pkgdir}/usr/share/man/man1"
+
+  install -m755 growisofs dvd+rw-booktype dvd+rw-format dvd+rw-mediainfo dvd-ram-control "${pkgdir}/usr/bin/"
+  install -m644 growisofs.1 ${pkgdir}/usr/share/man/man1/growisofs.1
+}

Copied: dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.0-dvddl.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-dvddl.patch)
===================================================================
--- staging-i686/dvd+rw-tools-7.0-dvddl.patch	                        (rev 0)
+++ staging-i686/dvd+rw-tools-7.0-dvddl.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -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;

Copied: dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.0-glibc2.6.90.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-glibc2.6.90.patch)
===================================================================
--- staging-i686/dvd+rw-tools-7.0-glibc2.6.90.patch	                        (rev 0)
+++ staging-i686/dvd+rw-tools-7.0-glibc2.6.90.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -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>

Copied: dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.0-wctomb.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-wctomb.patch)
===================================================================
--- staging-i686/dvd+rw-tools-7.0-wctomb.patch	                        (rev 0)
+++ staging-i686/dvd+rw-tools-7.0-wctomb.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -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)'±');

Copied: dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.0-wexit.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-wexit.patch)
===================================================================
--- staging-i686/dvd+rw-tools-7.0-wexit.patch	                        (rev 0)
+++ staging-i686/dvd+rw-tools-7.0-wexit.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -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
+ 

Copied: dvd+rw-tools/repos/staging-i686/dvd+rw-tools-7.1-layerbreaksetup.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.1-layerbreaksetup.patch)
===================================================================
--- staging-i686/dvd+rw-tools-7.1-layerbreaksetup.patch	                        (rev 0)
+++ staging-i686/dvd+rw-tools-7.1-layerbreaksetup.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -0,0 +1,93 @@
+diff -ur dvd+rw-tools-7.1-orig/growisofs.c dvd+rw-tools-7.1/growisofs.c
+--- dvd+rw-tools-7.1-orig/growisofs.c	2008-03-04 10:15:03.000000000 +0100
++++ dvd+rw-tools-7.1/growisofs.c	2009-09-06 22:39:33.000000000 +0200
+@@ -535,7 +535,7 @@
+  */
+ int        get_mmc_profile	(void *fd);
+ int        plusminus_r_C_parm	(void *fd,char *C_parm);
+-pwrite64_t poor_mans_setup	(void *fd,off64_t leadout);
++pwrite64_t poor_mans_setup	(void *fd,off64_t leadout,unsigned int lbreak);
+ char      *plusminus_locale	();
+ int        __1x			();
+ /*
+@@ -2447,7 +2447,7 @@
+ 			    goto out;
+ 			}
+ 			if (!progress.final) progress.final = tracksize;
+-			tracksize = layer_break*CD_BLOCK*2;
++			//tracksize = layer_break*CD_BLOCK*2;
+ 		    }
+ 		}
+ 		else if (capacity > outoff)
+@@ -2648,7 +2648,7 @@
+ 	 * further details on poor_mans_setup
+ 	 */
+ 	pwrite64_method = poor_mans_setup (ioctl_handle,
+-					   outoff+tracksize);
++					   outoff+tracksize, (unsigned int)layer_break);
+     }
+ 
+     if (!progress.final)
+diff -ur dvd+rw-tools-7.1-orig/growisofs_mmc.cpp dvd+rw-tools-7.1/growisofs_mmc.cpp
+--- dvd+rw-tools-7.1-orig/growisofs_mmc.cpp	2008-03-04 18:47:49.000000000 +0100
++++ dvd+rw-tools-7.1/growisofs_mmc.cpp	2009-09-06 20:52:46.000000000 +0200
+@@ -1612,7 +1612,7 @@
+   return 0;
+ }
+ 
+-static void plus_r_dl_split (Scsi_Command &cmd,off64_t size)
++static void plus_r_dl_split (Scsi_Command &cmd,off64_t size,unsigned int lbreak)
+ { int           err;
+   unsigned int  blocks,split;
+   unsigned char dvd_20[4+8];
+@@ -1644,10 +1644,17 @@
+ 			"    use single layer media for this recording\n"),
+ 	exit (FATAL_START(EMEDIUMTYPE));
+ 
+-    blocks /= 16;
+-    blocks += 1;
+-    blocks /= 2;
+-    blocks *= 16;
++    if (lbreak)
++      {
++	blocks=lbreak;
++      }
++    else
++      {
++	blocks /= 16;
++	blocks += 1;
++	blocks /= 2;
++	blocks *= 16;
++      }
+ 
+     fprintf (stderr,"%s: splitting layers at %u blocks\n",
+ 		    ioctl_device,blocks);
+@@ -2010,7 +2017,7 @@
+ typedef ssize_t (*pwrite64_t)(int,const void *,size_t,off64_t);
+ 
+ extern "C"
+-pwrite64_t poor_mans_setup (void *fd,off64_t leadout)
++pwrite64_t poor_mans_setup (void *fd,off64_t leadout,unsigned int lbreak)
+ { Scsi_Command cmd(ioctl_handle=fd);
+   int err,profile=mmc_profile&0xFFFF;
+ 
+@@ -2059,7 +2066,7 @@
+ 	case 0x2B:	// DVD+R Double Layer
+ 	    plusminus_pages_setup(cmd,profile);
+ 	    if (profile==0x2B && next_track==1 && dvd_compat && leadout)
+-		plus_r_dl_split (cmd,leadout);
++	      plus_r_dl_split (cmd,leadout,lbreak);
+ 	    atexit (plus_r_finalize);
+ 	    if (next_wr_addr)
+ 	    {	atsignals (no_r_finalize);
+diff -ur dvd+rw-tools-7.1-orig/transport.hxx dvd+rw-tools-7.1/transport.hxx
+--- dvd+rw-tools-7.1-orig/transport.hxx	2008-03-01 11:34:43.000000000 +0100
++++ dvd+rw-tools-7.1/transport.hxx	2009-09-06 20:53:53.000000000 +0200
+@@ -9,6 +9,7 @@
+ #if defined(__unix) || defined(__unix__)
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <limits.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <sys/types.h>

Copied: dvd+rw-tools/repos/staging-x86_64/PKGBUILD (from rev 252432, dvd+rw-tools/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2015-12-05 15:36:01 UTC (rev 252433)
@@ -0,0 +1,45 @@
+# $Id$
+# Maintainer: damir <damir at archlinux.org>
+
+pkgname=dvd+rw-tools
+pkgver=7.1
+pkgrel=7
+pkgdesc="dvd burning tools"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://fy.chalmers.se/~appro/linux/DVD+RW"
+depends=('cdrkit' 'gcc-libs')
+source=("http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${pkgname}-${pkgver}.tar.gz"
+        'dvd+rw-tools-7.0-dvddl.patch'
+        'dvd+rw-tools-7.0-glibc2.6.90.patch'
+        'dvd+rw-tools-7.0-wctomb.patch'
+        'dvd+rw-tools-7.0-wexit.patch'
+	'dvd+rw-tools-7.1-layerbreaksetup.patch')
+sha1sums=('6400e013934ff589b4b224eced03fd9f42ed719b'
+          'd2c949bc15420f39a9055757b1f5bb5543c46b6c'
+          '6b2f496e8d95738501dcad5fb63a4faa32882202'
+          '08ad4c2309ae1602b855cf1a2bbdbe0dab5037a2'
+          'f50dc64f5d020f0dd64ffb38c18cfa3fbf03f8a2'
+          'dd5224fdd8e94ec9483f651b3579cf9c18381129')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  # patches from Gentoo/Fedora
+  # see https://bugs.gentoo.org/257360, https://bugzilla.redhat.com/show_bug.cgi?id=426068
+  # and https://bugzilla.redhat.com/show_bug.cgi?id=243036
+  patch -p0 -i "${srcdir}/dvd+rw-tools-7.0-dvddl.patch"
+  patch -p1 -i "${srcdir}/dvd+rw-tools-7.0-glibc2.6.90.patch"
+  patch -p0 -i "${srcdir}/dvd+rw-tools-7.0-wctomb.patch"
+  patch -p1 -i "${srcdir}/dvd+rw-tools-7.0-wexit.patch"
+  patch -p1 -i "${srcdir}/dvd+rw-tools-7.1-layerbreaksetup.patch"
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  install -m755 -d "${pkgdir}/usr/bin"
+  install -m755 -d "${pkgdir}/usr/share/man/man1"
+
+  install -m755 growisofs dvd+rw-booktype dvd+rw-format dvd+rw-mediainfo dvd-ram-control "${pkgdir}/usr/bin/"
+  install -m644 growisofs.1 ${pkgdir}/usr/share/man/man1/growisofs.1
+}

Copied: dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.0-dvddl.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-dvddl.patch)
===================================================================
--- staging-x86_64/dvd+rw-tools-7.0-dvddl.patch	                        (rev 0)
+++ staging-x86_64/dvd+rw-tools-7.0-dvddl.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -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;

Copied: dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.0-glibc2.6.90.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-glibc2.6.90.patch)
===================================================================
--- staging-x86_64/dvd+rw-tools-7.0-glibc2.6.90.patch	                        (rev 0)
+++ staging-x86_64/dvd+rw-tools-7.0-glibc2.6.90.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -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>

Copied: dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.0-wctomb.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-wctomb.patch)
===================================================================
--- staging-x86_64/dvd+rw-tools-7.0-wctomb.patch	                        (rev 0)
+++ staging-x86_64/dvd+rw-tools-7.0-wctomb.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -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)'±');

Copied: dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.0-wexit.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.0-wexit.patch)
===================================================================
--- staging-x86_64/dvd+rw-tools-7.0-wexit.patch	                        (rev 0)
+++ staging-x86_64/dvd+rw-tools-7.0-wexit.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -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
+ 

Copied: dvd+rw-tools/repos/staging-x86_64/dvd+rw-tools-7.1-layerbreaksetup.patch (from rev 252432, dvd+rw-tools/trunk/dvd+rw-tools-7.1-layerbreaksetup.patch)
===================================================================
--- staging-x86_64/dvd+rw-tools-7.1-layerbreaksetup.patch	                        (rev 0)
+++ staging-x86_64/dvd+rw-tools-7.1-layerbreaksetup.patch	2015-12-05 15:36:01 UTC (rev 252433)
@@ -0,0 +1,93 @@
+diff -ur dvd+rw-tools-7.1-orig/growisofs.c dvd+rw-tools-7.1/growisofs.c
+--- dvd+rw-tools-7.1-orig/growisofs.c	2008-03-04 10:15:03.000000000 +0100
++++ dvd+rw-tools-7.1/growisofs.c	2009-09-06 22:39:33.000000000 +0200
+@@ -535,7 +535,7 @@
+  */
+ int        get_mmc_profile	(void *fd);
+ int        plusminus_r_C_parm	(void *fd,char *C_parm);
+-pwrite64_t poor_mans_setup	(void *fd,off64_t leadout);
++pwrite64_t poor_mans_setup	(void *fd,off64_t leadout,unsigned int lbreak);
+ char      *plusminus_locale	();
+ int        __1x			();
+ /*
+@@ -2447,7 +2447,7 @@
+ 			    goto out;
+ 			}
+ 			if (!progress.final) progress.final = tracksize;
+-			tracksize = layer_break*CD_BLOCK*2;
++			//tracksize = layer_break*CD_BLOCK*2;
+ 		    }
+ 		}
+ 		else if (capacity > outoff)
+@@ -2648,7 +2648,7 @@
+ 	 * further details on poor_mans_setup
+ 	 */
+ 	pwrite64_method = poor_mans_setup (ioctl_handle,
+-					   outoff+tracksize);
++					   outoff+tracksize, (unsigned int)layer_break);
+     }
+ 
+     if (!progress.final)
+diff -ur dvd+rw-tools-7.1-orig/growisofs_mmc.cpp dvd+rw-tools-7.1/growisofs_mmc.cpp
+--- dvd+rw-tools-7.1-orig/growisofs_mmc.cpp	2008-03-04 18:47:49.000000000 +0100
++++ dvd+rw-tools-7.1/growisofs_mmc.cpp	2009-09-06 20:52:46.000000000 +0200
+@@ -1612,7 +1612,7 @@
+   return 0;
+ }
+ 
+-static void plus_r_dl_split (Scsi_Command &cmd,off64_t size)
++static void plus_r_dl_split (Scsi_Command &cmd,off64_t size,unsigned int lbreak)
+ { int           err;
+   unsigned int  blocks,split;
+   unsigned char dvd_20[4+8];
+@@ -1644,10 +1644,17 @@
+ 			"    use single layer media for this recording\n"),
+ 	exit (FATAL_START(EMEDIUMTYPE));
+ 
+-    blocks /= 16;
+-    blocks += 1;
+-    blocks /= 2;
+-    blocks *= 16;
++    if (lbreak)
++      {
++	blocks=lbreak;
++      }
++    else
++      {
++	blocks /= 16;
++	blocks += 1;
++	blocks /= 2;
++	blocks *= 16;
++      }
+ 
+     fprintf (stderr,"%s: splitting layers at %u blocks\n",
+ 		    ioctl_device,blocks);
+@@ -2010,7 +2017,7 @@
+ typedef ssize_t (*pwrite64_t)(int,const void *,size_t,off64_t);
+ 
+ extern "C"
+-pwrite64_t poor_mans_setup (void *fd,off64_t leadout)
++pwrite64_t poor_mans_setup (void *fd,off64_t leadout,unsigned int lbreak)
+ { Scsi_Command cmd(ioctl_handle=fd);
+   int err,profile=mmc_profile&0xFFFF;
+ 
+@@ -2059,7 +2066,7 @@
+ 	case 0x2B:	// DVD+R Double Layer
+ 	    plusminus_pages_setup(cmd,profile);
+ 	    if (profile==0x2B && next_track==1 && dvd_compat && leadout)
+-		plus_r_dl_split (cmd,leadout);
++	      plus_r_dl_split (cmd,leadout,lbreak);
+ 	    atexit (plus_r_finalize);
+ 	    if (next_wr_addr)
+ 	    {	atsignals (no_r_finalize);
+diff -ur dvd+rw-tools-7.1-orig/transport.hxx dvd+rw-tools-7.1/transport.hxx
+--- dvd+rw-tools-7.1-orig/transport.hxx	2008-03-01 11:34:43.000000000 +0100
++++ dvd+rw-tools-7.1/transport.hxx	2009-09-06 20:53:53.000000000 +0200
+@@ -9,6 +9,7 @@
+ #if defined(__unix) || defined(__unix__)
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <limits.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <sys/types.h>



More information about the arch-commits mailing list