rev 19689 - in kde-extras/k3b/trunk/debian: . patches

Pino Toscano pino at alioth.debian.org
Sun Aug 25 15:58:32 UTC 2013


Author: pino
Date: 2013-08-25 15:58:31 +0000 (Sun, 25 Aug 2013)
New Revision: 19689

Added:
   kde-extras/k3b/trunk/debian/patches/Prefer-growisofs-to-wodim-for-DVD-BluRay-burning.patch
Modified:
   kde-extras/k3b/trunk/debian/changelog
   kde-extras/k3b/trunk/debian/control
   kde-extras/k3b/trunk/debian/patches/series
Log:
prefer growisofs to wodim for DVD/BluRay (#714944)

add Prefer-growisofs-to-wodim-for-DVD-BluRay-burning.patch (backported from
upstream branch 2.0), and add the growisofs recommend


Modified: kde-extras/k3b/trunk/debian/changelog
===================================================================
--- kde-extras/k3b/trunk/debian/changelog	2013-08-25 15:51:46 UTC (rev 19688)
+++ kde-extras/k3b/trunk/debian/changelog	2013-08-25 15:58:31 UTC (rev 19689)
@@ -11,6 +11,9 @@
   * Add Fix-K3B-to-build-with-recent-FFMPEG-versions.patch (backported from
     upstream branch 2.0) and ffmpeg-more.diff to fix compatibility with newer
     ffmpeg/libav versions. (Closes: #720799)
+  * Add Prefer-growisofs-to-wodim-for-DVD-BluRay-burning.patch (backported from
+    upstream branch 2.0) to prefer growisofs to wodim for DVD/BluRay; add the
+    growisofs recommend. (Closes: #714944)
 
  -- Debian KDE Extras Team <pkg-kde-extras at lists.alioth.debian.org>  Thu, 23 Aug 2012 18:29:27 -0300
 

Modified: kde-extras/k3b/trunk/debian/control
===================================================================
--- kde-extras/k3b/trunk/debian/control	2013-08-25 15:51:46 UTC (rev 19688)
+++ kde-extras/k3b/trunk/debian/control	2013-08-25 15:58:31 UTC (rev 19689)
@@ -19,7 +19,7 @@
 Depends: ${shlibs:Depends}, ${misc:Depends},
  k3b-data (= ${source:Version}), libk3b6 (= ${binary:Version}),
  wodim | cdrskin, cdparanoia, cdrdao [linux-any], genisoimage
-Recommends: libk3b6-extracodecs, dvd+rw-tools, vcdimager
+Recommends: libk3b6-extracodecs, dvd+rw-tools, vcdimager, growisofs
 Suggests: k3b-extrathemes, k3b-i18n, normalize-audio, sox, movixmaker-2
 Replaces: k3b-data (<< 1.66.0~alpha2-1)
 Description: Sophisticated CD/DVD burning application

Added: kde-extras/k3b/trunk/debian/patches/Prefer-growisofs-to-wodim-for-DVD-BluRay-burning.patch
===================================================================
--- kde-extras/k3b/trunk/debian/patches/Prefer-growisofs-to-wodim-for-DVD-BluRay-burning.patch	                        (rev 0)
+++ kde-extras/k3b/trunk/debian/patches/Prefer-growisofs-to-wodim-for-DVD-BluRay-burning.patch	2013-08-25 15:58:31 UTC (rev 19689)
@@ -0,0 +1,152 @@
+From 1853eee0f15d9d5a1ab0407d5d87e36167e5c9eb Mon Sep 17 00:00:00 2001
+From: Kevin Kofler <kevin.kofler at chello.at>
+Date: Sat, 23 Apr 2011 15:44:23 +0200
+Subject: [PATCH] Prefer growisofs to wodim for DVD/BluRay burning.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+K3b 2 defaults to cdrecord for all burning tasks, including DVDs and BluRay
+discs. Unfortunately, it also does this when cdrecord is actually wodim. This
+is a bad idea, because wodim's DVD burning code is not the "ProDVD" code in
+Jörg Schilling's current cdrecord releases, but a much older, buggier and
+basically unmaintained DVD patch. We cannot ship the ProDVD code in wodim
+because of licensing conflicts: That code was never released under the GPL, it
+was relicensed directly from its original proprietary license to the CDDL. But
+wodim is GPLed, and cannot be relicensed to the CDDL, in fact this was the
+whole reason for the fork: Jörg Schilling's cdrecord distributes mixed CDDL and
+GPL code linked together. So the DVD code in wodim is based on an ancient
+experimental community-contributed DVD support patch for cdrecord (from the
+times where ProDVD was entirely proprietary). So it's a bad idea to use wodim
+for DVDs. As for BluRay discs, those aren't currently supported by wodim at
+all; K3b should detect this, but still, it's better to explicitly default to
+growisofs there too, in case wodim grows some experimental BluRay support.
+
+One concrete known issue with wodim's DVD burning code is that it fails to burn
+dual-layer DVD+Rs: https://bugzilla.redhat.com/show_bug.cgi?id=610976 . But
+chances are there are many more DVD burning bugs in wodim, which are unlikely
+to get fixed promptly.
+
+Growisofs, on the other hand, is designed specifically for DVDs and BluRay
+disks, doesn't have licensing issues and has been used successfully for DVDs
+for years (in fact, K3b 1 always used growisofs for DVDs).
+
+This patch makes K3b default to growisofs for all DVD or BluRay burning tasks
+if cdrecord is actually wodim.
+
+REVIEW: 101208
+---
+ libk3b/jobs/k3bdvdcopyjob.cpp         |   17 ++++++++++++-----
+ libk3b/jobs/k3bmetawriter.cpp         |   12 ++++++++++--
+ libk3b/projects/datacd/k3bdatajob.cpp |   13 ++++++++++---
+ 3 files changed, 32 insertions(+), 10 deletions(-)
+
+diff --git a/libk3b/jobs/k3bdvdcopyjob.cpp b/libk3b/jobs/k3bdvdcopyjob.cpp
+index 5dff56b..3f15eb9 100644
+--- a/libk3b/jobs/k3bdvdcopyjob.cpp
++++ b/libk3b/jobs/k3bdvdcopyjob.cpp
+@@ -169,13 +169,20 @@ void K3b::DvdCopyJob::slotDiskInfoReady( K3b::Device::DeviceHandler* dh )
+         // first let's determine which application to use
+         d->usedWritingApp = writingApp();
+         if ( d->usedWritingApp == K3b::WritingAppAuto ) {
+-            // let's default to cdrecord for the time being
++            // prefer growisofs to wodim, which doesn't work all that great for DVDs
++            // (and doesn't support BluRay at all)
++            if ( k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "wodim" ) )
++                d->usedWritingApp = K3b::WritingAppGrowisofs;
++            // otherwise, let's default to cdrecord for the time being
+             // FIXME: use growisofs for non-dao and non-auto mode
+-            if ( K3b::Device::isBdMedia( d->sourceDiskInfo.mediaType() ) ) {
+-                if ( k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "blu-ray" ) )
++            else {
++                if ( K3b::Device::isBdMedia( d->sourceDiskInfo.mediaType() ) ) {
++                    if ( k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "blu-ray" ) )
++                        d->usedWritingApp = K3b::WritingAppCdrecord;
++                    else
++                        d->usedWritingApp = K3b::WritingAppGrowisofs;
++                } else
+                     d->usedWritingApp = K3b::WritingAppCdrecord;
+-                else
+-                    d->usedWritingApp = K3b::WritingAppGrowisofs;
+             }
+         }
+ 
+diff --git a/libk3b/jobs/k3bmetawriter.cpp b/libk3b/jobs/k3bmetawriter.cpp
+index 6338cd1..7d80e28 100644
+--- a/libk3b/jobs/k3bmetawriter.cpp
++++ b/libk3b/jobs/k3bmetawriter.cpp
+@@ -261,11 +261,13 @@ bool K3b::MetaWriter::determineUsedAppAndMode()
+     bool cdrecordOnTheFly = false;
+     bool cdrecordCdText = false;
+     bool cdrecordBluRay = false;
++    bool cdrecordWodim = false;
+     bool growisofsBluRay = false;
+     if( k3bcore->externalBinManager()->binObject("cdrecord") ) {
+         cdrecordOnTheFly = k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "audio-stdin" );
+         cdrecordCdText = k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "cdtext" );
+         cdrecordBluRay = k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "blu-ray" );
++        cdrecordWodim = k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "wodim" );
+     }
+     if( k3bcore->externalBinManager()->binObject("growisofs") ) {
+         growisofsBluRay = k3bcore->externalBinManager()->binObject("growisofs")->hasFeature( "blu-ray" );
+@@ -316,10 +318,16 @@ bool K3b::MetaWriter::determineUsedAppAndMode()
+                 d->usedWritingApp = WritingAppGrowisofs;
+             }
+             else if( mediaType & Device::MEDIA_DVD_ALL ) {
+-                d->usedWritingApp = WritingAppCdrecord;
++                // wodim (at least on fedora) doesn't do DVDs all that well, use growisofs instead
++                if ( cdrecordWodim ) {
++                    d->usedWritingApp = WritingAppGrowisofs;
++                }
++                else {
++                    d->usedWritingApp = WritingAppCdrecord;
++                }
+             }
+             else if( mediaType & Device::MEDIA_BD_ALL ) {
+-                if( cdrecordBluRay ) {
++                if( cdrecordBluRay && ! cdrecordWodim ) {
+                     d->usedWritingApp = WritingAppCdrecord;
+                 }
+                 else if( growisofsBluRay ) {
+diff --git a/libk3b/projects/datacd/k3bdatajob.cpp b/libk3b/projects/datacd/k3bdatajob.cpp
+index 3fb3abd..6af7f23 100644
+--- a/libk3b/projects/datacd/k3bdatajob.cpp
++++ b/libk3b/projects/datacd/k3bdatajob.cpp
+@@ -58,7 +58,7 @@ class K3b::DataJob::Private
+ {
+ public:
+     Private()
+-        : usedWritingApp(K3b::WritingAppCdrecord),
++        : usedWritingApp(K3b::WritingAppAuto),
+           verificationJob( 0 ),
+           pipe( 0 ) {
+     }
+@@ -813,8 +813,12 @@ bool K3b::DataJob::waitForBurnMedium()
+ 
+         d->usedWritingApp = writingApp();
+         // let's default to cdrecord for the time being (except for special cases below)
++        // but prefer growisofs to wodim for DVDs
+         if ( d->usedWritingApp == K3b::WritingAppAuto ) {
+-            d->usedWritingApp = K3b::WritingAppCdrecord;
++            if (k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "wodim" ))
++                d->usedWritingApp = K3b::WritingAppGrowisofs;
++            else
++                d->usedWritingApp = K3b::WritingAppCdrecord;
+         }
+ 
+         // -------------------------------
+@@ -930,7 +934,10 @@ bool K3b::DataJob::waitForBurnMedium()
+     else if ( foundMedium & K3b::Device::MEDIA_BD_ALL ) {
+         d->usedWritingApp = writingApp();
+         if( d->usedWritingApp == K3b::WritingAppAuto ) {
+-            d->usedWritingApp = K3b::WritingAppCdrecord;
++            if (k3bcore->externalBinManager()->binObject("cdrecord")->hasFeature( "wodim" ))
++                d->usedWritingApp = K3b::WritingAppGrowisofs;
++            else
++                d->usedWritingApp = K3b::WritingAppCdrecord;
+         }
+ 
+         if ( d->usedWritingApp == K3b::WritingAppCdrecord &&
+-- 
+1.7.10.4
+

Modified: kde-extras/k3b/trunk/debian/patches/series
===================================================================
--- kde-extras/k3b/trunk/debian/patches/series	2013-08-25 15:51:46 UTC (rev 19688)
+++ kde-extras/k3b/trunk/debian/patches/series	2013-08-25 15:58:31 UTC (rev 19689)
@@ -11,3 +11,4 @@
 fix-sox-detection-with-sox-14.4.0.patch
 Fix-K3B-to-build-with-recent-FFMPEG-versions.patch
 ffmpeg-more.diff
+Prefer-growisofs-to-wodim-for-DVD-BluRay-burning.patch




More information about the pkg-kde-commits mailing list