[arch-commits] Commit in nepomuk-core/trunk (PKGBUILD fix-recursive-indexing.patch)

Andrea Scarpino andrea at nymeria.archlinux.org
Sat Feb 9 06:06:04 UTC 2013


    Date: Saturday, February 9, 2013 @ 07:06:03
  Author: andrea
Revision: 177800

upgpkg: nepomuk-core 4.10.0-2

Fix recursive indexing (FS#33776)

Added:
  nepomuk-core/trunk/fix-recursive-indexing.patch
Modified:
  nepomuk-core/trunk/PKGBUILD

------------------------------+
 PKGBUILD                     |   12 +++-
 fix-recursive-indexing.patch |  103 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 112 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-02-09 02:58:49 UTC (rev 177799)
+++ PKGBUILD	2013-02-09 06:06:03 UTC (rev 177800)
@@ -3,17 +3,23 @@
 
 pkgname=nepomuk-core
 pkgver=4.10.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Contains the central Nepomuk services like file indexing, file system monitoring, query, storage, client libraries"
 url="https://projects.kde.org/projects/kde/kdelibs/nepomuk-core"
 arch=('i686' 'x86_64')
 license=('GPL' 'LGPL' 'FDL')
 depends=('kdelibs' 'poppler-qt' 'taglib' 'ffmpeg')
 makedepends=('cmake' 'automoc4' 'doxygen')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz")
-sha1sums=('affc4d3063db773e5b05ff746a4c64adbec29264')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz"
+        'fix-recursive-indexing.patch')
+sha1sums=('affc4d3063db773e5b05ff746a4c64adbec29264'
+          'faa0f661fe642af01ac72eda7347dfc659e091e1')
 
 build() {
+  cd ${pkgname}-${pkgver}
+  patch -p1 -i "${srcdir}"/fix-recursive-indexing.patch
+  cd ../
+
   mkdir build
   cd build
   cmake ../${pkgname}-${pkgver} \

Added: fix-recursive-indexing.patch
===================================================================
--- fix-recursive-indexing.patch	                        (rev 0)
+++ fix-recursive-indexing.patch	2013-02-09 06:06:03 UTC (rev 177800)
@@ -0,0 +1,103 @@
+From: Vishesh Handa <me at vhanda.in>
+Date: Fri, 08 Feb 2013 20:58:33 +0000
+Subject: Revert "BasicIndexingQueue: Use stacks instead of queues"
+X-Git-Url: http://quickgit.kde.org/?p=nepomuk-core.git&a=commitdiff&h=b651f9231ac30072418bb06d602951f0f05da22c
+---
+Revert "BasicIndexingQueue: Use stacks instead of queues"
+
+This reverts commit 2f33141aa6716550e38b11ec9a0b000dd74eea79.
+
+The commit breaks recursive indexing. Doh!
+
+BUG: 314559
+---
+
+
+--- a/services/fileindexer/basicindexingqueue.cpp
++++ b/services/fileindexer/basicindexingqueue.cpp
+@@ -54,14 +54,14 @@
+ 
+ void BasicIndexingQueue::clear(const QString& path)
+ {
+-    QMutableVectorIterator< QPair<QString, UpdateDirFlags> > it( m_paths );
++    QMutableListIterator< QPair<QString, UpdateDirFlags> > it( m_paths );
+     while( it.hasNext() ) {
+         it.next();
+         if( it.value().first.startsWith( path ) )
+             it.remove();
+     }
+ 
+-    QMutableVectorIterator< QPair<QDirIterator*, UpdateDirFlags> > iter( m_iterators );
++    QMutableListIterator< QPair<QDirIterator*, UpdateDirFlags> > iter( m_iterators );
+     while( iter.hasNext() ) {
+         QDirIterator* dirIter =  iter.next().first;
+ 
+@@ -100,7 +100,7 @@
+ {
+     kDebug() << path;
+     bool wasEmpty = m_paths.empty();
+-    m_paths.push( qMakePair( path, flags ) );
++    m_paths.enqueue( qMakePair( path, flags ) );
+     callForNextIteration();
+ 
+     if( wasEmpty )
+@@ -120,12 +120,12 @@
+             processingFile = process( dirIt->next(), pair.second );
+         }
+         else {
+-            delete m_iterators.pop().first;
++            delete m_iterators.dequeue().first;
+         }
+     }
+ 
+     else if( !m_paths.isEmpty() ) {
+-        QPair< QString, UpdateDirFlags > pair = m_paths.pop();
++        QPair< QString, UpdateDirFlags > pair = m_paths.dequeue();
+         processingFile = process( pair.first, pair.second );
+     }
+ 
+@@ -161,7 +161,7 @@
+             QDir::Filters dirFilter = QDir::NoDotAndDotDot|QDir::Readable|QDir::Files|QDir::Dirs;
+ 
+             QPair<QDirIterator*, UpdateDirFlags> pair = qMakePair( new QDirIterator( path, dirFilter ), flags );
+-            m_iterators.push( pair );
++            m_iterators.enqueue( pair );
+         }
+     }
+     else if( info.isFile() && (forced || indexingRequired) ) {
+@@ -259,12 +259,6 @@
+ 
+     emit endIndexingFile( url );
+ 
+-    // Give back the memory
+-    if( m_paths.isEmpty() )
+-        m_paths.clear();
+-    if( m_iterators.isEmpty() )
+-        m_iterators.clear();
+-
+     // Continue the queue
+     finishIteration();
+ }
+
+--- a/services/fileindexer/basicindexingqueue.h
++++ b/services/fileindexer/basicindexingqueue.h
+@@ -23,7 +23,6 @@
+ 
+ #include "indexingqueue.h"
+ #include <KJob>
+-#include <QtCore/QStack>
+ 
+ namespace Nepomuk2 {
+ 
+@@ -106,8 +105,8 @@
+          */
+         bool process(const QString& path, Nepomuk2::UpdateDirFlags flags);
+ 
+-        QStack< QPair<QString, UpdateDirFlags> > m_paths;
+-        QStack< QPair<QDirIterator*, UpdateDirFlags> > m_iterators;
++        QQueue< QPair<QString, UpdateDirFlags> > m_paths;
++        QQueue< QPair<QDirIterator*, UpdateDirFlags> > m_iterators;
+ 
+         QUrl m_currentUrl;
+         QString m_currentMimeType;
+




More information about the arch-commits mailing list