Date: Saturday, February 8, 2014 @ 17:01:04
  Author: andrea
Revision: 205596

Fix IPFilter bug (KDEBUG#315239); kdebase-workspace is not needed at runtime 
(FS#38805)

Added:
  ktorrent/trunk/kdebug-315239.patch
Modified:
  ktorrent/trunk/PKGBUILD

---------------------+
 PKGBUILD            |   22 +++++++++++-----
 kdebug-315239.patch |   65 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+), 7 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2014-02-08 15:48:17 UTC (rev 205595)
+++ PKGBUILD    2014-02-08 16:01:04 UTC (rev 205596)
@@ -5,19 +5,27 @@
 
 pkgname=ktorrent
 pkgver=4.3.1
-pkgrel=1
+pkgrel=2
 pkgdesc="A powerful BitTorrent client for KDE"
 arch=('i686' 'x86_64')
-url='http://ktorrent.org/'
+url='http://ktorrent.pwsp.net/'
 license=('GPL2')
-depends=('libktorrent' 'kdebase-workspace' 'taglib')
-makedepends=('automoc4' 'cmake' 'boost')
-source=("http://ktorrent.org/downloads/${pkgver}/${pkgname}-${pkgver}.tar.bz2";)
+depends=('libktorrent' 'kdebase-runtime' 'taglib')
+makedepends=('automoc4' 'cmake' 'boost' 'kdebase-workspace')
 install=${pkgname}.install
-sha1sums=('6b56bab48dd07805225c3d4d5d5d1c4c1def241e')
+source=("http://ktorrent.pwsp.net/downloads/${pkgver}/${pkgname}-${pkgver}.tar.bz2";
+        'kdebug-315239.patch')
+sha1sums=('6b56bab48dd07805225c3d4d5d5d1c4c1def241e'
+          'd247aecbbbbbda3eef8dcb51d3db244b1c845f85')
 
+prepare() {
+       mkdir build
+
+  cd ${pkgname}-${pkgver}
+  patch -p1 -i "${srcdir}"/kdebug-315239.patch
+}
+
 build() {
-       mkdir build
        cd build
        cmake ../${pkgname}-${pkgver} \
          -DCMAKE_BUILD_TYPE=Release \

Added: kdebug-315239.patch
===================================================================
--- kdebug-315239.patch                         (rev 0)
+++ kdebug-315239.patch 2014-02-08 16:01:04 UTC (rev 205596)
@@ -0,0 +1,65 @@
+commit 3dfcbeb9765e99f9b99951134b17268eb7a617d2
+Author: Joris Guisson <[email protected]>
+Date:   Thu Aug 1 13:19:29 2013 +0200
+
+    Backport ipfilter extraction fixes from master branch to 4.3 branch
+    
+    BUG: 315239
+
+diff --git a/ChangeLog b/ChangeLog
+index c5ae9da..42c48ff 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,6 @@
++Changes in 4.3.2:
++- Backport ipfilter extraction fixes from master branch (315239)
++
+ Changes in 4.3.1:
+ - Fix new custom groups not appearing in add to group submenu (307230)
+ - Fix crash when right clicking on some locations in the GroupView due to 0 
pointer (307160)
+diff --git a/plugins/ipfilter/downloadandconvertjob.cpp 
b/plugins/ipfilter/downloadandconvertjob.cpp
+index d3092ac..4080c2a 100644
+--- a/plugins/ipfilter/downloadandconvertjob.cpp
++++ b/plugins/ipfilter/downloadandconvertjob.cpp
+@@ -114,12 +114,13 @@ namespace kt
+               
+               //now determine if it's ZIP or TXT file
+               KMimeType::Ptr ptr = KMimeType::findByPath(temp);
++        Out(SYS_IPF|LOG_NOTICE) << "Mimetype: " << ptr->name() << endl;
+               if (ptr->name() == "application/zip")
+               {
+                       active_job = KIO::file_move(temp,QString(kt::DataDir() 
+ QLatin1String("level1.zip")),-1,KIO::HideProgressInfo|KIO::Overwrite);
+                       
connect(active_job,SIGNAL(result(KJob*)),this,SLOT(extract(KJob*)));
+               }
+-              else if (ptr->name() == "application/x-gzip" || ptr->name() == 
"application/x-bzip")
++              else if (ptr->name() == "application/x-gzip" || ptr->name() == 
"application/x-bzip" || ptr->name() == "application/gzip")
+               {
+                       active_job = new 
bt::DecompressFileJob(temp,QString(kt::DataDir() + "level1.txt"));
+                       
connect(active_job,SIGNAL(result(KJob*)),this,SLOT(convert(KJob*)));
+@@ -174,23 +175,10 @@ namespace kt
+               }
+               
+               QString destination = kt::DataDir() + "level1.txt";
+-              if (zip->directory()->entries().contains("splist.txt"))
++        QStringList entries = zip->directory()->entries();
++              if (entries.count() >= 1)
+               {
+-                      active_job = new 
bt::ExtractFileJob(zip,"splist.txt",destination);
+-                      
connect(active_job,SIGNAL(result(KJob*)),this,SLOT(convert(KJob*)));
+-                      unzip = true;
+-                      active_job->start();
+-              }
+-              else if (zip->directory()->entries().contains("level1.txt"))
+-              {
+-                      active_job = new 
bt::ExtractFileJob(zip,"level1.txt",destination);
+-                      
connect(active_job,SIGNAL(result(KJob*)),this,SLOT(convert(KJob*)));
+-                      unzip = true;
+-                      active_job->start();
+-              }
+-              else if (zip->directory()->entries().contains("ipfilter.dat"))
+-              {
+-                      active_job = new 
bt::ExtractFileJob(zip,"ipfilter.dat",destination);
++                      active_job = new 
bt::ExtractFileJob(zip,entries.front(),destination);
+                       
connect(active_job,SIGNAL(result(KJob*)),this,SLOT(convert(KJob*)));
+                       unzip = true;
+                       active_job->start();

Reply via email to