Accepting request 145798 from KDE:Distro:Factory
Add various bugfixes from upstream 2.0 branch (forwarded request 145797 from sumski) OBS-URL: https://build.opensuse.org/request/show/145798 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/k3b?expand=0&rev=48
This commit is contained in:
parent
f33e8bd8a2
commit
bdde78acbb
23
k3b-dont-count-used-capacity-twice.patch
Normal file
23
k3b-dont-count-used-capacity-twice.patch
Normal file
@ -0,0 +1,23 @@
|
||||
From: Kevin Kofler <kevin.kofler@chello.at>
|
||||
Date: Sat, 17 Sep 2011 21:34:23 +0000
|
||||
Subject: K3b::IsOverburnAllowed: Don't count used capacity twice.
|
||||
X-Git-Url: http://quickgit.kde.org/?p=k3b.git&a=commitdiff&h=8270d2853f2962facdf6f9ea6d669922d6c78aba
|
||||
---
|
||||
K3b::IsOverburnAllowed: Don't count used capacity twice.
|
||||
|
||||
CCBUG: 276002
|
||||
---
|
||||
|
||||
|
||||
--- a/libk3b/core/k3bglobals.cpp
|
||||
+++ b/libk3b/core/k3bglobals.cpp
|
||||
@@ -595,7 +595,7 @@
|
||||
bool K3b::IsOverburnAllowed( const Msf& projectSize, const Msf& capacity, const Msf& usedCapacity )
|
||||
{
|
||||
return( k3bcore->globalSettings()->overburn() &&
|
||||
- (projectSize + usedCapacity) <= ( capacity.lba() - usedCapacity.lba() + capacity.lba() / 4 ) ); // 25% tolerance in overburn mode
|
||||
+ (projectSize + usedCapacity) <= ( capacity.lba() + capacity.lba() / 4 ) ); // 25% tolerance in overburn mode
|
||||
}
|
||||
|
||||
|
||||
|
33
k3b-fixed-crash-on-detecting-writing-speeds.patch
Normal file
33
k3b-fixed-crash-on-detecting-writing-speeds.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From: Michal Malek <michalm@jabster.pl>
|
||||
Date: Sat, 09 Jul 2011 22:03:55 +0000
|
||||
Subject: Fixed crash on detecting writing speeds
|
||||
X-Git-Url: http://quickgit.kde.org/?p=k3b.git&a=commitdiff&h=61ee818030f29e57556248adf1398b6c9e5ee7de
|
||||
---
|
||||
Fixed crash on detecting writing speeds
|
||||
|
||||
Device::Device::determineSupportedWriteSpeeds() method
|
||||
lacked checking if data array is of enough size before accessing
|
||||
it.
|
||||
|
||||
BUG: 272427
|
||||
FIXED-IN: 2.0.3
|
||||
|
||||
Conflicts:
|
||||
|
||||
libk3bdevice/k3bdevice.cpp
|
||||
libk3bdevice/k3bdevice_mmc.cpp
|
||||
---
|
||||
|
||||
|
||||
--- a/libk3bdevice/k3bdevice.cpp
|
||||
+++ b/libk3bdevice/k3bdevice.cpp
|
||||
@@ -3253,7 +3253,7 @@
|
||||
int max = 0;
|
||||
unsigned char* data = 0;
|
||||
unsigned int dataLen = 0;
|
||||
- if( modeSense( &data, dataLen, 0x2A ) ) {
|
||||
+ if( modeSense( &data, dataLen, 0x2A ) && dataLen >= 8 ) {
|
||||
mm_cap_page_2A* mm = (mm_cap_page_2A*)&data[8];
|
||||
|
||||
// MMC1 used byte 18 and 19 for the max write speed
|
||||
|
@ -0,0 +1,27 @@
|
||||
From: Michal Malek <michalm@jabster.pl>
|
||||
Date: Sun, 03 Jul 2011 21:55:16 +0000
|
||||
Subject: Fixed improper track number in CDDB track edit window title
|
||||
X-Git-Url: http://quickgit.kde.org/?p=k3b.git&a=commitdiff&h=6110dc547b118a6aecc64f15bbcef04636854958
|
||||
---
|
||||
Fixed improper track number in CDDB track edit window title
|
||||
|
||||
The title showed track index instead of a track number (which equals to
|
||||
track index + 1).
|
||||
|
||||
BUG: 276681
|
||||
FIXED-IN: 2.0.3
|
||||
---
|
||||
|
||||
|
||||
--- a/src/rip/k3baudiocdview.cpp
|
||||
+++ b/src/rip/k3baudiocdview.cpp
|
||||
@@ -324,7 +324,7 @@
|
||||
int trackIndex = items.first();
|
||||
|
||||
KDialog dialog( this);
|
||||
- dialog.setCaption(i18n("CDDB Track %1", trackIndex) );
|
||||
+ dialog.setCaption(i18n("CDDB Track %1", trackIndex+1) );
|
||||
dialog.setButtons(KDialog::Ok|KDialog::Cancel);
|
||||
dialog.setDefaultButton(KDialog::Ok);
|
||||
dialog.setModal(true);
|
||||
|
40
k3b-fixed-solid-predicates.patch
Normal file
40
k3b-fixed-solid-predicates.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From: Michal Malek <michalm@jabster.pl>
|
||||
Date: Wed, 27 Apr 2011 22:29:18 +0000
|
||||
Subject: Fixed Solid predicates for AudioCd and VideoDvd media. Starting ripping directly from device notifier is possible again.
|
||||
X-Git-Url: http://quickgit.kde.org/?p=k3b.git&a=commitdiff&h=031c6c4e7595c9280768f512b7f82f1681c41351
|
||||
---
|
||||
Fixed Solid predicates for AudioCd and VideoDvd media. Starting ripping directly from device notifier is possible again.
|
||||
BUG: 265819
|
||||
---
|
||||
|
||||
|
||||
--- a/src/services/k3b_audiocd_rip.desktop
|
||||
+++ b/src/services/k3b_audiocd_rip.desktop
|
||||
@@ -1,5 +1,5 @@
|
||||
[Desktop Entry]
|
||||
-X-KDE-Solid-Predicate=[StorageVolume.ignored == false AND OpticalDisc.availableContent == 'Audio']
|
||||
+X-KDE-Solid-Predicate=OpticalDisc.availableContent & 'Audio'
|
||||
Actions=K3bRip;
|
||||
Type=Service
|
||||
X-KDE-Priority=TopLevel
|
||||
|
||||
--- a/src/services/k3b_copy_disc.desktop
|
||||
+++ b/src/services/k3b_copy_disc.desktop
|
||||
@@ -1,5 +1,5 @@
|
||||
[Desktop Entry]
|
||||
-X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio|Data|VideoDvd' ]
|
||||
+X-KDE-Solid-Predicate=OpticalDisc.availableContent & 'Audio|Data|VideoDvd'
|
||||
Actions=K3bCopy;
|
||||
Type=Service
|
||||
X-KDE-Priority=TopLevel
|
||||
|
||||
--- a/src/services/k3b_videodvd_rip.desktop
|
||||
+++ b/src/services/k3b_videodvd_rip.desktop
|
||||
@@ -1,5 +1,5 @@
|
||||
[Desktop Entry]
|
||||
-X-KDE-Solid-Predicate=[StorageVolume.ignored == false AND OpticalDisc.availableContent & 'VideoDvd']
|
||||
+X-KDE-Solid-Predicate=OpticalDisc.availableContent & 'VideoDvd'
|
||||
Actions=K3bRip;
|
||||
Type=Service
|
||||
X-KDE-Priority=TopLevel
|
||||
|
28
k3b-increase-tolerance.patch
Normal file
28
k3b-increase-tolerance.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From: Kevin Kofler <kevin.kofler@chello.at>
|
||||
Date: Sat, 17 Sep 2011 16:18:24 +0000
|
||||
Subject: K3b::IsOverburnAllowed: Increase tolerance from 10% to 25%.
|
||||
X-Git-Url: http://quickgit.kde.org/?p=k3b.git&a=commitdiff&h=b0df9e7771ac9148004187bb53ba13ac40b01cae
|
||||
---
|
||||
K3b::IsOverburnAllowed: Increase tolerance from 10% to 25%.
|
||||
|
||||
10% are not enough to allow using CD-R90 and CD-R99 media to full capacity.
|
||||
The new 25% tolerance allows using those media while still catching the common
|
||||
case of DVD ISO vs. CD media.
|
||||
|
||||
BUG: 276002
|
||||
REVIEW: 102648
|
||||
---
|
||||
|
||||
|
||||
--- a/libk3b/core/k3bglobals.cpp
|
||||
+++ b/libk3b/core/k3bglobals.cpp
|
||||
@@ -595,7 +595,7 @@
|
||||
bool K3b::IsOverburnAllowed( const Msf& projectSize, const Msf& capacity, const Msf& usedCapacity )
|
||||
{
|
||||
return( k3bcore->globalSettings()->overburn() &&
|
||||
- (projectSize + usedCapacity) <= ( capacity.lba() - usedCapacity.lba() + capacity.lba() * 10 / 100 ) ); // 10% tolerance in overburn mode
|
||||
+ (projectSize + usedCapacity) <= ( capacity.lba() - usedCapacity.lba() + capacity.lba() / 4 ) ); // 25% tolerance in overburn mode
|
||||
}
|
||||
|
||||
|
||||
|
142
k3b-prefer-growisofs-to-wodim-for-DVD-burning.patch
Normal file
142
k3b-prefer-growisofs-to-wodim-for-DVD-burning.patch
Normal file
@ -0,0 +1,142 @@
|
||||
From: Kevin Kofler <kevin.kofler@chello.at>
|
||||
Date: Sat, 23 Apr 2011 13:44:23 +0000
|
||||
Subject: Prefer growisofs to wodim for DVD/BluRay burning.
|
||||
X-Git-Url: http://quickgit.kde.org/?p=k3b.git&a=commitdiff&h=1853eee0f15d9d5a1ab0407d5d87e36167e5c9eb
|
||||
---
|
||||
Prefer growisofs to wodim for DVD/BluRay burning.
|
||||
|
||||
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
|
||||
---
|
||||
|
||||
|
||||
--- a/libk3b/jobs/k3bdvdcopyjob.cpp
|
||||
+++ b/libk3b/jobs/k3bdvdcopyjob.cpp
|
||||
@@ -169,13 +169,20 @@
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
--- a/libk3b/jobs/k3bmetawriter.cpp
|
||||
+++ b/libk3b/jobs/k3bmetawriter.cpp
|
||||
@@ -261,11 +261,13 @@
|
||||
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 @@
|
||||
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 ) {
|
||||
|
||||
--- a/libk3b/projects/datacd/k3bdatajob.cpp
|
||||
+++ b/libk3b/projects/datacd/k3bdatajob.cpp
|
||||
@@ -58,7 +58,7 @@
|
||||
{
|
||||
public:
|
||||
Private()
|
||||
- : usedWritingApp(K3b::WritingAppCdrecord),
|
||||
+ : usedWritingApp(K3b::WritingAppAuto),
|
||||
verificationJob( 0 ),
|
||||
pipe( 0 ) {
|
||||
}
|
||||
@@ -813,8 +813,12 @@
|
||||
|
||||
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 @@
|
||||
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 &&
|
||||
|
20
k3b-set-error-status-when-CDDB-query-fails.patch
Normal file
20
k3b-set-error-status-when-CDDB-query-fails.patch
Normal file
@ -0,0 +1,20 @@
|
||||
From: Michal Malek <michalm@jabster.pl>
|
||||
Date: Sun, 01 May 2011 10:27:12 +0000
|
||||
Subject: Set error status when CDDB query fails. Without it the error is buing not reported and as a result all entries in audio project are cleared up.
|
||||
X-Git-Url: http://quickgit.kde.org/?p=k3b.git&a=commitdiff&h=fb10bb8fc296335488472468be107b8c4cdb9251
|
||||
---
|
||||
Set error status when CDDB query fails. Without it the error is buing not reported and as a result all entries in audio project are cleared up.
|
||||
---
|
||||
|
||||
|
||||
--- a/libk3b/tools/k3bcddb.cpp
|
||||
+++ b/libk3b/tools/k3bcddb.cpp
|
||||
@@ -116,6 +116,7 @@
|
||||
}
|
||||
}
|
||||
else {
|
||||
+ q->setError( KJob::UserDefinedError );
|
||||
q->setErrorText( KCDDB::resultToString( result ) );
|
||||
}
|
||||
|
||||
|
12
k3b.changes
12
k3b.changes
@ -1,3 +1,15 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 17 12:41:18 UTC 2012 - hrvoje.senjan@gmail.com
|
||||
|
||||
- Add various bugfixes from upstream 2.0 branch
|
||||
* k3b-dont-count-used-capacity-twice.patch (kde#276002)
|
||||
* k3b-fixed-crash-on-detecting-writing-speeds.patch (kde#272427)
|
||||
* k3b-fixed-improper-track-number-in-CDDB-track-edit-window-title.patch (kde#276681)
|
||||
* k3b-fixed-solid-predicates.patch (kde#265819)
|
||||
* k3b-increase-tolerance.patch (kde#276002)
|
||||
* k3b-prefer-growisofs-to-wodim-for-DVD-burning.patch
|
||||
* k3b-set-error-status-when-CDDB-query-fails.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 25 21:52:32 UTC 2012 - reddwarf@opensuse.org
|
||||
|
||||
|
22
k3b.spec
22
k3b.spec
@ -37,6 +37,21 @@ Patch1: add_mimetypes_bnc661777.diff
|
||||
Patch2: k3b-short-trackinfo.patch
|
||||
# PATCH-FIX-UPSTREAM k3b-2.0.2-ffmpeg011.patch reddwarf@opensuse.org -- Make it compile with the latest ffmpeg.
|
||||
Patch3: k3b-2.0.2-ffmpeg011.patch
|
||||
# PATCH-FIX-UPSTREAM k3b-increase-tolerance.patch kde#276002 hrvoje.senjan@gmail.com -- K3b::IsOverburnAllowed: Increase tolerance
|
||||
Patch4: k3b-increase-tolerance.patch
|
||||
# PATCH-FIX-UPSTREAM k3b-fixed-crash-on-detecting-writing-speeds.patch kde#272427 hrvoje.senjan@gmail.com -- Fixed crash on detecting writing speeds
|
||||
Patch5: k3b-fixed-crash-on-detecting-writing-speeds.patch
|
||||
# PATCH-FIX-UPSTREAM k3b-fixed-improper-track-number-in-CDDB-track-edit-window-title.patch kde#276681 hrvoje.senjan@gmail.com -- Fixed improper track number in CDDB track edit window title
|
||||
Patch6: k3b-fixed-improper-track-number-in-CDDB-track-edit-window-title.patch
|
||||
# PATCH-FIX-UPSTREAM k3b-fixed-solid-predicates.patch kde#265819 hrvoje.senjan@gmail.com -- Starting ripping directly from device notifier is possible again
|
||||
Patch7: k3b-fixed-solid-predicates.patch
|
||||
# PATCH-FIX-UPSTREAM k3b-dont-count-used-capacity-twice.patch kde#276002 hrvoje.senjan@gmail.com -- Don't count used capacity twice
|
||||
Patch8: k3b-dont-count-used-capacity-twice.patch
|
||||
# PATCH-FIX-UPSTREAM k3b-prefer-growisofs-to-wodim-for-DVD-burning.patch hrvoje.senjan@gmail.com -- This patch makes K3b default to growisofs for all DVD or BluRay burning tasks if cdrecord is actually wodim.
|
||||
Patch9: k3b-prefer-growisofs-to-wodim-for-DVD-burning.patch
|
||||
# PATCH-FIX-UPSTREAM k3b-set-error-status-when-CDDB-query-fails.patch hrvoje.senjan@gmail.com -- Set error status when CDDB query fails. Without it the error is buing not reported and as a result all entries in audio project are cleared up.
|
||||
Patch10: k3b-set-error-status-when-CDDB-query-fails.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
# only needed to patch broken images in the upstream tarball
|
||||
@ -105,6 +120,13 @@ This package contain files needed for development with k3b.
|
||||
%patch0
|
||||
%patch1
|
||||
%patch2 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%if %{with ffmpeg}
|
||||
%patch3 -p1
|
||||
%endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user