packages/dvd+rw-tools: update to dvd+rw-tools 7.1 with debian 7.1-4 patches
authorghost <andreas.monzner@multimedia-labs.de>
Tue, 4 Aug 2009 09:16:26 +0000 (11:16 +0200)
committerghost <andreas.monzner@multimedia-labs.de>
Tue, 4 Aug 2009 09:16:26 +0000 (11:16 +0200)
packages/dvd+rw-tools/dvd+rw-tools_7.1.bb [new file with mode: 0644]
packages/dvd+rw-tools/files/01-growisofs-pioneer.patch [new file with mode: 0644]
packages/dvd+rw-tools/files/03-growisofs-dvd-dl.patch [new file with mode: 0644]
packages/dvd+rw-tools/files/05-beeping.patch [new file with mode: 0644]
packages/dvd+rw-tools/files/08-includes.patch [new file with mode: 0644]
packages/dvd+rw-tools/files/09-wctomb.patch [new file with mode: 0644]

diff --git a/packages/dvd+rw-tools/dvd+rw-tools_7.1.bb b/packages/dvd+rw-tools/dvd+rw-tools_7.1.bb
new file mode 100644 (file)
index 0000000..43985ac
--- /dev/null
@@ -0,0 +1,18 @@
+DESCRIPTION = "dvd+rw-tools makes it possible to burn DVD images"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>
+LICENSE = "GPL"
+SECTION = "optional"
+
+#patches are based of debian version 7.1-4
+
+SRC_URI = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${PN}-${PV}.tar.gz \
+       file://01-growisofs-pioneer.patch;patch=1;pnum=1 \
+       file://03-growisofs-dvd-dl.patch;patch=1;pnum=1 \
+       file://05-beeping.patch;patch=1;pnum=1 \
+       file://08-includes.patch;patch=1;pnum=1 \
+       file://09-wctomb.patch"
+
+inherit autotools
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}' \
+               'CFLAGS=${CFLAGS} ${LDFLAGS}' 'prefix=${D}'"
diff --git a/packages/dvd+rw-tools/files/01-growisofs-pioneer.patch b/packages/dvd+rw-tools/files/01-growisofs-pioneer.patch
new file mode 100644 (file)
index 0000000..d4b3543
--- /dev/null
@@ -0,0 +1,26 @@
+Author: n/a
+Description: Fixes to fail closing session on some PIONEER DVD-RW drives
+
+diff -Naurp dvd+rw-tools.orig/growisofs_mmc.cpp dvd+rw-tools/growisofs_mmc.cpp
+--- dvd+rw-tools.orig/growisofs_mmc.cpp        2008-03-04 17:47:49.000000000 +0000
++++ dvd+rw-tools/growisofs_mmc.cpp     2008-04-01 09:01:20.000000000 +0000
+@@ -1743,8 +1743,17 @@ void plus_rw_finalize ()
+       cmd[1] = 0x01;          // "IMMED"
+       cmd[2] = 0x02;          // "Close session"
+       cmd[9] = 0;
+-      if ((err=cmd.transport()))
+-          sperror ("CLOSE SESSION",err);
++      
++      // it seems, that pioneer is a bit crappy
++      while (err=cmd.transport()) {
++          if (SK(err)==0x2 && ASC(err)==0x04 && ASCQ(err)==0x07) {
++                  sperror ("CLOSE SESSION (but try to continue)",err);
++                  usleep(10000);
++          } else {
++                  sperror ("CLOSE SESSION",err);
++                  break;
++          }
++      }
+       if (wait_for_unit (cmd)) break;
+  
diff --git a/packages/dvd+rw-tools/files/03-growisofs-dvd-dl.patch b/packages/dvd+rw-tools/files/03-growisofs-dvd-dl.patch
new file mode 100644 (file)
index 0000000..77af852
--- /dev/null
@@ -0,0 +1,17 @@
+Author: Joe Shaw <joeshaw@suse.de>
+Description: Don't abort when a DVD-DL disk is underful (Closes: #340698).
+
+diff -Naurp dvd+rw-tools.orig/growisofs_mmc.cpp dvd+rw-tools/growisofs_mmc.cpp
+--- dvd+rw-tools.orig/growisofs_mmc.cpp        2008-04-01 09:01:20.000000000 +0000
++++ dvd+rw-tools/growisofs_mmc.cpp     2008-04-01 09:02:59.000000000 +0000
+@@ -1640,9 +1640,7 @@ static void plus_r_dl_split (Scsi_Comman
+     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/packages/dvd+rw-tools/files/05-beeping.patch b/packages/dvd+rw-tools/files/05-beeping.patch
new file mode 100644 (file)
index 0000000..84600ba
--- /dev/null
@@ -0,0 +1,23 @@
+Author: Matt Zimmerman <mdz@canonical.com>
+Description: Disable obnoxious beeping.
+
+diff -Naurp dvd+rw-tools.orig/growisofs.c dvd+rw-tools/growisofs.c
+--- dvd+rw-tools.orig/growisofs.c      2008-04-01 09:04:51.000000000 +0000
++++ dvd+rw-tools/growisofs.c   2008-04-01 09:08:58.000000000 +0000
+@@ -3453,14 +3453,14 @@ int main (int argc, char *argv[])
+     printf ("'\n");
+     fflush (stdout);
+-    if ((warn_for_isofs&2) && !dry_run && !no_tty_check)
++/*    if ((warn_for_isofs&2) && !dry_run && !no_tty_check)
+     { fprintf (stderr,"Sleeping for 5 sec...\a"),     poll (NULL,0,1000);
+       fprintf (stderr,"\b\b\b\b\b\b\b\b4 sec...\a"),  poll (NULL,0,1000);
+       fprintf (stderr,"\b\b\b\b\b\b\b\b3 sec...\a"),  poll (NULL,0,1000);
+       fprintf (stderr,"\b\b\b\b\b\b\b\b2 sec...\a"),  poll (NULL,0,1000);
+       fprintf (stderr,"\b\b\b\b\b\b\b\b1 sec...\a"),  poll (NULL,0,1000);
+       fprintf (stderr,"\b\b\b\b\b\b\b\b0 sec...\r");
+-    }
++    } */
+ #if defined(__unix) || defined(__unix__)
diff --git a/packages/dvd+rw-tools/files/08-includes.patch b/packages/dvd+rw-tools/files/08-includes.patch
new file mode 100644 (file)
index 0000000..9dd68ca
--- /dev/null
@@ -0,0 +1,14 @@
+Author: Daniel Schepler <schepler@math.unipd.it>
+Description: Add missing include in transport.hxx, fixes FTBFS with gcc-4.2 and gcc-4.3 (Closes: #455276, #456551).
+
+diff -Naurp dvd+rw-tools.orig/transport.hxx dvd+rw-tools/transport.hxx
+--- dvd+rw-tools.orig/transport.hxx    2008-04-01 09:04:51.000000000 +0000
++++ dvd+rw-tools/transport.hxx 2008-04-01 09:23:09.000000000 +0000
+@@ -16,6 +16,7 @@
+ #include <fcntl.h>
+ #include <poll.h>
+ #include <sys/time.h>
++#include <limits.h>
+ inline long getmsecs()
+ { struct timeval tv;
diff --git a/packages/dvd+rw-tools/files/09-wctomb.patch b/packages/dvd+rw-tools/files/09-wctomb.patch
new file mode 100644 (file)
index 0000000..0b82ba9
--- /dev/null
@@ -0,0 +1,15 @@
+Author: Kees Cook <kees@debian.org>
+Description: wctomb called with too small a buffer, patch originally taken from fedora (Closes: #497833).
+
+diff -Naurp dvd-rw-tools.orig/transport.hxx dvd-rw-tools/transport.hxx
+--- dvd-rw-tools.orig/transport.hxx    2009-02-05 09:01:23.000000000 +0000
++++ dvd-rw-tools/transport.hxx 2009-02-05 09:01:35.000000000 +0000
+@@ -124,7 +124,7 @@ class autofree {
+ 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)'±');